Arduino est très populaire pour la construction de projets de loisirs et de jeux, et nous avons déjà utilisé Arduino pour construire Snake jeu, jeu de Ping, jeu de course spatiale, etc. Aujourd'hui, nous construisons un jeu plus populaire en utilisant Arduino- Buzz jeu de fil ou jeu Steady main.
Pour ce projet, nous utiliserons un Arduino Uno, un buzzer et deux fils en aluminium. Un écran LCD 16x2 est également interfacé pour afficher l'état du jeu. Les deux extrémités du fil du labyrinthe seront connectées à la broche numérique 2 et 3 d'Arduino, et le fil de la poignée est connecté à la broche de masse d'Arduino. Les broches numériques sont définies comme des broches INPUT_PULLUP. Ainsi, lorsque le fil de la poignée touche le fil du labyrinthe, il change l'état des broches numériques en bas et le buzzer émet un son.
Une diode est connectée à l'extrémité du fil du labyrinthe, donc lorsque vous passez devant cette diode et que vous touchez le fil du labyrinthe avec un fil à poignée ronde, une seule broche (broche 3) deviendra basse. Dans ces conditions, un texte de félicitations (Bravo) sera affiché sur l'écran LCD.
Composants requis
- Arduino Uno
- Fil d'aluminium
- Écran LCD 16x2
- Module I 2 C
- Planche à pain
- Avertisseur sonore
- Diode
Schéma
Le schéma de circuit du jeu Arduino Buzz Wire est donné ci-dessus. Les broches SCL et SDA du module I2C sont connectées aux broches A5 et A4 d'Arduino tandis que les broches V CC et GND du module I2C sont connectées aux broches 5V et GND d'Arduino. Le rail positif de Buzzer est connecté à la broche numérique 4 d'Arduino et le rail négatif est connecté à GND. Coupez un fil d'aluminium et pliez-le en forme de Zig-Zag. Souder une diode à une extrémité du fil. Ensuite, coupez un autre fil pour faire une poignée et pliez une extrémité en boucle.
L'écran LCD 16x2 peut également être interfacé avec Arduino sans utiliser de module I2C.
Connectez les broches D2 et D3 d'Arduino aux deux extrémités du fil Zig-Zag et connectez le fil de la poignée à la broche GND d'Arduino.
Explication du code
Le code complet de ce jeu Arduino Buzz Wire est donné à la fin du document.
Commencez votre code en incluant le fichier de bibliothèque pour le module LCD. La bibliothèque LiquidCrystal_I2C.h est utilisée pour la communication I2C entre les modules Arduino et LCD.
#comprendre
Après cela, définissez les broches Arduino pour le buzzer, le point de départ du fil et le point de terminaison du fil.
const int startPin = 2; const int endPin = 3; const int buzzer = 4;
Définissez ensuite deux variables start & end_. Ces variables seront utilisées pour enregistrer les lectures de fil.
int début, fin_;
Définissez maintenant la broche du buzzer comme sortie et les broches de câble comme INPUT_PULLUP . Arduino possède des résistances de pull-up internes d'une valeur d'environ 20k ohms. Ces résistances peuvent être connectées en interne à l'aide de INPUT_PULLUP . La définition d'un INPUT_PULLUP est fonctionnellement identique à la connexion d'une résistance de ~ 20k ohms entre la broche et + 5V.
pinMode (buzzer, OUTPUT); pinMode (startPin, INPUT_PULLUP); pinMode (startPin, INPUT_PULLUP);
À l'intérieur de la boucle vide, lisez l'état des broches du fil.
début = digitalRead (startPin); end_ = digitalRead (endPin);
Maintenant, comparez les lectures des broches de fil. Si les deux broches sont basses, cela signifie que vous avez touché le fil, le buzzer émettra un son, et si la broche de départ du fil est haute et la broche d'extrémité est basse, cela signifie que vous avez atteint le point final.
if (start == LOW && end _ == LOW) {digitalWrite (buzzer, HIGH); retard (1000); digitalWrite (buzzer, LOW); lcd.setCursor (0,0); lcd.print ("Réessayer"); Serial.print ("Réessayer"); } else if (start == HIGH && end _ == LOW) {lcd.setCursor (0,0); lcd.print ("Bien fait"); Serial.print ("Well Done"); }
Test du jeu Buzz Wire
Après avoir connecté le matériel et téléchargé le code donné, vous pouvez commencer à jouer au jeu. Tenez donc le fil avec un cercle dans votre main et essayez de faire passer le fil avec un cercle tout le long de la diode soudée avec du fil en zig-zag sans laisser le fil rond toucher n'importe où. Si vous touchez les fils, le buzzer émettra un son et l'écran LCD affichera « Essayez à nouveau ». Et si vous terminez le jeu sans toucher le fil, le message « Bien joué » s'affiche.
C'est ainsi que vous pouvez créer un jeu Buzz Wire avec un Arduino. Une vidéo de travail et le code complet sont donnés ci-dessous.