Arduino ist sehr beliebt für das Erstellen von Hobbyprojekten und Spielen. Wir haben Arduino zuvor zum Erstellen von Schlangenspielen, Tischtennisspielen, Weltraumrennen usw. verwendet. Heute bauen wir ein weiteres beliebtes Spiel mit Arduino- Buzz-Drahtspielen oder Steady-Hand-Spielen.
Für dieses Projekt werden wir einen Arduino Uno, einen Summer und zwei Aluminiumdrähte verwenden. Ein 16x2-LCD ist ebenfalls angeschlossen, um den Spielstatus anzuzeigen. Beide Enden des Labyrinthdrahtes werden mit dem digitalen Pin 2 und 3 von Arduino verbunden, und der Griffdraht wird mit dem Erdungsstift von Arduino verbunden. Die digitalen Pins sind als INPUT_PULLUP-Pins definiert. Wenn der Griffdraht den Labyrinthdraht berührt, ändert er den Status der digitalen Stifte auf niedrig und der Summer gibt ein Geräusch von sich.
Am Ende des Labyrinthdrahtes ist eine Diode angeschlossen. Wenn Sie also an dieser Diode vorbeigehen und den Labyrinthdraht mit einem Rundgriffdraht berühren, wird nur ein Stift (Pin 3) niedrig. In diesem Zustand wird ein Glückwunschtext (Gut gemacht) auf dem LCD angezeigt.
Erforderliche Komponenten
- Arduino Uno
- Aluminiumdraht
- 16x2 LCD
- I 2 C Modul
- Steckbrett
- Summer
- Diode
Schaltplan
Der Schaltplan für das Arduino Buzz Wire Game ist oben angegeben. SCL- und SDA-Pins des I2C-Moduls sind mit A5- und A4-Pins von Arduino verbunden, während V CC- und GND-Pins des I2C-Moduls mit 5V- und GND-Pins von Arduino verbunden sind. Die positive Schiene von Buzzer ist mit dem digitalen Pin 4 von Arduino verbunden und die negative Schiene ist mit GND verbunden. Schneiden Sie einen Aluminiumdraht ab und biegen Sie ihn in Zick-Zack-Form. Löten Sie eine Diode an einem Ende des Drahtes. Schneiden Sie dann einen weiteren Draht ab, um einen Griff zu erhalten, und biegen Sie ein Ende in eine Schlaufe.
Das 16x2-LCD kann auch ohne Verwendung eines I2C-Moduls mit Arduino verbunden werden.
Verbinden Sie die D2- und D3-Stifte von Arduino mit beiden Enden des Zick-Zack-Kabels und den Griffdraht mit dem GND-Stift von Arduino.
Code Erklärung
Der vollständige Code für dieses Arduino Buzz Wire-Spiel ist am Ende des Dokuments angegeben.
Beginnen Sie Ihren Code, indem Sie die Bibliotheksdatei für das LCD-Modul einschließen. Die Bibliothek LiquidCrystal_I2C.h wird für die I2C-Kommunikation zwischen Arduino- und LCD-Modulen verwendet.
#einschließen
Definieren Sie anschließend die Arduino-Pins für den Summer, den Startpunkt des Drahtes und den Endpunkt des Drahtes.
const int startPin = 2; const int endPin = 3; const int Summer = 4;
Definieren Sie dann zwei Variablen start & end_. Diese Variablen werden verwendet, um die Messwerte des Kabels zu speichern.
int start, end_;
Definieren Sie nun den Summer-Pin als Ausgang und die Draht-Pins als INPUT_PULLUP . Arduino verfügt über interne Pull-up-Widerstände mit einem Wert von ca. 20 kOhm. Diese Widerstände können intern mit INPUT_PULLUP verbunden werden. Das Definieren eines INPUT_PULLUP entspricht funktional dem Anschließen eines ~ 20k Ohm-Widerstands zwischen dem Pin und + 5V.
pinMode (Summer, OUTPUT); pinMode (startPin, INPUT_PULLUP); pinMode (startPin, INPUT_PULLUP);
Lesen Sie in der Hohlraumschleife den Status der Drahtstifte ab.
start = digitalRead (startPin); end_ = digitalRead (endPin);
Vergleichen Sie nun die Messwerte der Drahtstifte. Wenn beide Stifte niedrig sind, haben Sie den Draht berührt, sodass ein Summer ertönt. Wenn der Startstift des Drahtes hoch und der Endstift niedrig ist, bedeutet dies, dass Sie den Endpunkt erreicht haben.
if (start == LOW && end _ == LOW) {digitalWrite (Summer, HIGH); Verzögerung (1000); digitalWrite (Summer, LOW); lcd.setCursor (0,0); lcd.print ("Erneut versuchen"); Serial.print ("Erneut versuchen"); } else if (start == HIGH && end _ == LOW) {lcd.setCursor (0,0); lcd.print ("Gut gemacht"); Serial.print ("Gut gemacht"); }}
Testen des Buzz Wire-Spiels
Nachdem Sie die Hardware angeschlossen und den angegebenen Code hochgeladen haben, können Sie das Spiel starten. Halten Sie den Draht mit einem Kreis in der Hand und versuchen Sie, den Draht mit dem Kreis bis zu der mit Zick-Zack-Draht gelöteten Diode zu führen, ohne dass sich der runde Draht irgendwo berührt. Wenn Sie die Kabel berühren, ertönt ein Summer und auf dem LCD wird „ Versuchen Sie es erneut “ angezeigt. Und wenn Sie das Spiel beenden, ohne den Draht zu berühren, wird " Gut gemacht " angezeigt .
So können Sie mit einem Arduino ein Buzz Wire-Spiel erstellen. Ein funktionierendes Video und ein vollständiger Code sind unten angegeben.