Table des matières:
- Étape 1: Obtenir les pièces
- Étape 2: Câblage
- Étape 3: choses de pré-codage
- Étape 4: Coder
- Étape 5: Le cas
Vidéo: Plaisanterie : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
C'est un projet que j'ai fait dans mon école le HKU, qui nous obligeait à faire quelque chose avec un Arduino Uno. Je voulais faire quelque chose qui ferait mon truc préféré, faire rire les gens. J'ai donc décidé de faire une blague qui vous lancerait une blague, mais quelle blague cela vous donnerait dépendrait de ce que mesuraient quelques modules de capteurs à ce moment précis. Pour le rendre plus personnel, j'ai décidé d'en faire un tank.
Étape 1: Obtenir les pièces
Les pièces dont vous auriez besoin pour recréer ce projet seraient
- 1x ordinateur capable d'exécuter Arduino IDE
- 1x Arduino Uno
- 1x câble de connexion USB pour Arduino Uno
- 1x capteur sonar
- 1x haut-parleur (de préférence un haut-parleur de qualité décente (j'en ai utilisé un que j'ai sorti d'un haut-parleur Bluetooth)).
- 1x module amplificateur LM386 (il est possible de le faire vous-même mais j'ai utilisé un module).
- 1x micro LM393
- 1x LDR
- 1x LED (n'importe quelle couleur fera l'affaire mais j'ai utilisé du bleu).
- 4x résistance 1kΩ
- 1x 2, 7kΩ résistance
- 1x planche à pain
- 1x carte micro SD (de préférence petite (1 ou 2 Go)).
- 1x perceuse électrique.
- 1x tête de perçage de 16 mm (de préférence conçue pour le perçage du métal).
- 1x tête de forage de 9 mm (également conçue de préférence pour le perçage du métal).
- 1x tête de forage de 1 mm (encore une fois de préférence conçue pour le perçage du métal).
- 1x réservoir modèle (j'ai utilisé un léopard 2 à l'échelle 1:35 mais d'autres cas devraient également convenir).
- Superglue / colle chaude
- et pas mal de fils de préférence de couleurs différentes.
- serre-câbles (facultatif).
Étape 2: Câblage
Nous devons commencer par le câblage, l'image est un dessin technique de la façon dont tout doit être câblé. Cela devrait servir de plan. Remarque: tous les ports Arduino sont nommés AP# pour chaque port. Ainsi, le 4ème port sur le Arduino est AP4, le port A0 est APA0 et le port 6~ est AP6~, etc. Tous les autres ports sont nommés tels qu'ils apparaissent sur les modules eux-mêmes.
Étape 3: choses de pré-codage
Maintenant, avant de pouvoir commencer à utiliser le code, nous avons besoin de quelques trucs. Je vous recommande maintenant de suivre ce tutoriel de l'étape 2 à 4
www.electronoobs.com/eng_arduino_tut8.php
Cependant, nous n'allons pas utiliser son code car nous allons utiliser le nôtre. Veuillez noter que certains haut-parleurs utilisent des fréquences différentes. Mon haut-parleur utilisait des fichiers audio 16 bits 32 kHz. Donc, si votre parole fait du bruit mais ne lit pas vos fichiers, essayez de jouer avec votre fréquence.
Étape 4: Coder
Maintenant, nous allons télécharger le code sur l'arduino. Copiez tout cela et collez-le dans l'IDE Arduino et téléchargez-le sur votre Arduino.
//comprend la bibliothèque pour le lecteur de carte SD.#include "Wtv020sd16p.h" //comprend la bibliothèque nécessaire pour le capteur sonar. #include // Définit les broches pour l'Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; //Définit les broches de la bibliothèque de cartes SD. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); //Définit les broches de la bibliothèque de capteurs Sonar. Nouveau sonar Ping (11, 10); // Configure les autres entrées et définit le débit binaire du programme. void setup() { wtv020sd16p.reset(); pinMode(lightDetectedPin, INPUT); pinMode(soundDetectedPin, INPUT); Serial.begin(9600); } //Partie principale du programme. void loop() { //Définit les entiers int lightDetectedVal = analogRead(lightDetectedPin); int distanceVal = sonar.ping_cm(); int soundDetectedVal = digitalRead(soundDetectedPin); //Délai pour que le projet le projet ne continue pas indéfiniment à utiliser le haut-parleur. retard (30000); // Impression en série et lignes d'impression afin que vous puissiez facilement voir quelles valeurs sont prises par les modules de capteur. Serial.print("Valeur du son: "); //Plusieurs instructions if pour que le programme joue différents fichiers audio en fonction des valeurs mesurées par les modules capteurs. if (soundDetectedVal == 0) { Serial.println(soundDetectedVal); Serial.print("Distance: "); if (distanceVal == 0) { Serial.println(distanceVal); Serial.print("Valeur de lumière: "); if (lightDetectedVal >= 1000) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(1); //Une autre impression en série pour que vous puissiez voir quel fichier audio exact a été lu. Serial.println("1--------"); //Un autre délai pour laisser le fichier audio jouer sur toute sa longueur. retard (5000); } else if (lightDetectedVal >= 900) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(2); Serial.println("2--------"); retard (5000); } else if (lightDetectedVal >= 800) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(3); Serial.println("3--------"); retard (5000); } else if (lightDetectedVal >= 700) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(4); Serial.println("4--------"); retard (5000); } else if (lightDetectedVal >= 600) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(5); Serial.println("5--------"); retard (5000); } else if (lightDetectedVal >= 500 || lightDetectedVal 0 || distanceVal == NULL) { Serial.println(distanceVal); Serial.print("Valeur de lumière: "); if (lightDetectedVal >= 1000) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(7); Serial.println("7--------"); retard (5000); } else if (lightDetectedVal >= 900) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(8); Serial.println("8--------"); retard (8000); } else if (lightDetectedVal >= 800) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(9); Serial.println("9--------"); retard (5000); } else if (lightDetectedVal >= 700) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(10); Serial.println("10-------"); retard (8000); } else if (lightDetectedVal >= 600) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(11); Serial.println("11-------"); retard (6000); } else if (lightDetectedVal >= 500 || lightDetectedVal <= 1000) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(13); Serial.println("13-------"); retard (5000); } else if (lightDetectedVal >= 900) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(14); Serial.println("14-------"); retard (5000); } else if (lightDetectedVal >= 800) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(15); Serial.println("15-------"); retard (5000); } else if (lightDetectedVal >= 700) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(16); Serial.println("16-------"); retard (5000); } else if (lightDetectedVal >= 600) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(17); Serial.println("17-------"); retard (5000); } else if (lightDetectedVal >= 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal >= 150) { Serial.println(distanceVal); Serial.print("Valeur de lumière: "); if (lightDetectedVal >= 1000) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(19); Serial.println("19-------"); retard (5000); } else if (lightDetectedVal >= 900) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(20); Serial.println("20-------"); retard (5000); } else if (lightDetectedVal >= 800) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(21); Serial.println("21-------"); retard (5000); } else if (lightDetectedVal >= 700) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(22); Serial.println("22-------"); retard (5000); } else if (lightDetectedVal >= 600) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(23); Serial.println("23-------"); retard (5000); } else if (lightDetectedVal >= 500 || lightDetectedVal << 500) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(24); Serial.println("24-------"); retard (5000); } } } }
Étape 5: Le cas
Vient maintenant la partie compliquée réelle.
Tout mettre dans le boîtier peut être un peu délicat, cela dépend de la façon dont vous avez tout installé sur votre planche à pain ou de la façon dont vous soudez les éléments ensemble. Mais vous devrez faire quelques trous pour que les capteurs adhèrent. J'ai mis le microphone (foret 9mm nécessaire) et le module sonar (foret 6mm nécessaire) à l'arrière et le LDR à l'avant du réservoir mais vous pouvez les mettre effectivement n'importe où si vous avez de la place.
Assurez-vous de faire un trou dans le corps du modèle pour pouvoir connecter votre arduino avec le câble de connexion.
Je recommanderais de mettre le haut-parleur dans la tourelle. car il devrait y avoir beaucoup d'espace là-bas.
L'image de gauche ci-dessus montre comment j'ai installé l'arduino et l'impression que j'ai soudée à l'intérieur du modèle Leopard 2. L'image de droite est celle avec la plupart des câbles installés.
Ce que vous pouvez faire, c'est percer de petits trous au bas du modèle pour fixer l'Arduino avec des attaches de câble.
Mais si je ne me trompe pas, vous devriez maintenant avoir terminé.
Conseillé:
Comment fabriquer une antenne double biquade 4G LTE en quelques étapes faciles : 3 étapes
Comment créer une antenne double biquade 4G LTE Étapes faciles : La plupart du temps, je n'ai pas une bonne force de signal pour mes travaux quotidiens. Donc. Je recherche et essaye différents types d'antenne mais ne fonctionne pas. Après une perte de temps, j'ai trouvé une antenne que j'espère fabriquer et tester, car ce n'est pas un principe de construction
Game Design dans Flick en 5 étapes : 5 étapes
Game Design dans Flick en 5 étapes : Flick est un moyen très simple de créer un jeu, en particulier quelque chose comme un puzzle, un roman visuel ou un jeu d'aventure
Système d'alerte de stationnement en marche arrière Arduino - Étapes par étape : 4 étapes
Système d'alerte de stationnement en marche arrière Arduino | Étapes par étape : dans ce projet, je vais concevoir un circuit de capteur de stationnement inversé pour voiture Arduino simple à l'aide d'un capteur à ultrasons Arduino UNO et HC-SR04. Ce système d'alerte de marche arrière basé sur Arduino peut être utilisé pour une navigation autonome, une télémétrie de robot et d'autres r
Détection de visage sur Raspberry Pi 4B en 3 étapes : 3 étapes
Détection de visage sur Raspberry Pi 4B en 3 étapes : dans ce Instructable, nous allons effectuer une détection de visage sur Raspberry Pi 4 avec Shunya O/S en utilisant la bibliothèque Shunyaface. Shunyaface est une bibliothèque de reconnaissance/détection de visage. Le projet vise à atteindre la vitesse de détection et de reconnaissance la plus rapide avec
Miroir de vanité de bricolage en étapes faciles (à l'aide de bandes lumineuses à LED): 4 étapes
Miroir de vanité DIY en étapes faciles (à l'aide de bandes lumineuses à LED) : Dans cet article, j'ai fabriqué un miroir de vanité DIY à l'aide des bandes LED. C'est vraiment cool et vous devez les essayer aussi