Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Schließen Sie die Schaltung an
- Schritt 2: Code zum Einrichten von Pins
- Schritt 3: Code für Joystick-Erkennung
- Schritt 4: Hauptschleifenroutinencode
- Schritt 5: Bereit zum Ausprobieren
- Schritt 6: Arduino Nano-Implementierung für Prototypen
- Schritt 7: Fertig verpackter Whack-a-MoLED-Prototyp, um Ihren Liebsten zu präsentieren
![Whack-a-moLED!! - Gunook Whack-a-moLED!! - Gunook](https://i.howwhatproduce.com/images/001/image-1300-22-j.webp)
Video: Whack-a-moLED!! - Gunook
![Video: Whack-a-moLED!! - Gunook Video: Whack-a-moLED!! - Gunook](https://i.ytimg.com/vi/kc_AMEhzabM/hqdefault.jpg)
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
![Whack-a-moLED!! Whack-a-moLED!!](https://i.howwhatproduce.com/images/001/image-1300-23-j.webp)
![Whack-a-moLED!! Whack-a-moLED!!](https://i.howwhatproduce.com/images/001/image-1300-24-j.webp)
Tinkercad-Projekte »
Dies ist eine LED-Version des klassischen Whack-a-Mole-Spiels.
Grundsätzlich leuchtet eine zufällige LED von 4 LEDs auf, anstatt dass ein Maulwurf aus einem Loch schaut und der Spieler schaltet die LED mit einem Joystick aus, anstatt den Maulwurf zu schlagen!
Lieferungen
Arduino Uno/Nano oder jede andere Platine
4 LEDs und entsprechende Strombegrenzungswiderstände.
Joystick-Modul mit X-, Y-Ausgängen
Aktiver Summer (optional)
Überbrückungsdrähte.. genug zum Debuggen!
Schritt 1: Schließen Sie die Schaltung an
![Schließen Sie die Schaltung an Schließen Sie die Schaltung an](https://i.howwhatproduce.com/images/001/image-1300-25-j.webp)
Schließen Sie das Arduino Uno-Board an das Joystick-Modul an und verbinden Sie 2 analoge Eingangspins mit den XY-Ausgängen des Joysticks.
4 LEDs, die über Widerstände an 4 digitale oder analoge Ausgangspins angeschlossen werden.
Aktiver Summer zum Anschluss an einen digitalen Ausgangspin
Schritt 2: Code zum Einrichten von Pins
int xVal = 0, yVal = 0, butVal = 0, xPin = A0, yPin = A1, joyPin = 13, butPin = 7, speakerPin = 9;
int leftLED = A2, rightLED = A3, topLED = A4, bottomLED = A5;
int ausgewählteLED = 0; // Kann A2, A3, A4 oder A5 sein
Leere Einrichtung () {
pinMode (xPin, EINGANG);
pinMode (yPin, EINGANG);
pinMode (linke LED, AUSGANG);
pinMode (rechte LED, AUSGANG);
pinMode (topLED, AUSGANG); pinMode (untere LED, AUSGANG);
pinMode (joyPin, AUSGANG);
pinMode (SummerPin, AUSGANG);
}
Schritt 3: Code für Joystick-Erkennung
void JoystickSenseRoutine()
{
xVal = analogRead(xPin); yVal = analogRead(yPin); butVal = digitalRead (butPin);
joyPin = mapXYtoPin(xVal, yVal, butVal);
analogWrite (ausgewählte LED, 1024);
if (selectedLED != leftLED) { analogWrite (leftLED, 0); aufrechtzuerhalten. Wenn (selectedLED != rightLED) { analogWrite (rightLED, 0); }
if (selectedLED != topLED) { analogWrite (topLED, 0); }
if (selectedLED != bottomLED) { analogWrite (bottomLED, 0); }
if (joyPin == selectedLED) // Mole Whacked
{
analogWrite (ausgewählte LED, 0);
//
// Code hinzufügen, um Musik/Ton abzuspielen, um moLED zu verprügeln!!
//
}
}
int mapXYtoPin(int xVal, int yVal, int butVal) { if ((xVal < 100) und (yVal 400)) { return bottomLED; }
sonst if ((xVal > 900) und (yVal 400)) { return topLED; }
sonst if ((xVal 400) und (yVal < 100)) { return leftLED; }
sonst if ((xVal 400) und (yVal > 900)) { return rightLED; }
sonst { return -1; }
}
Schritt 4: Hauptschleifenroutinencode
Leere Schleife () {
für (int i = 0; i < Länge; i++)
{
if (zufällig (0, 100) > 90) {selectedLED = anaPinMap (zufällig (2, 6));}
// Hier Code für Spielmusik hinzufügen
// *** *** ***
//
}
int anaPinMap(int randNum) {
if (randNum == 2) { A2 zurückgeben; }
sonst if (randNum == 3) { return A3; }
sonst if (randNum == 4) { return A4; }
sonst if (randNum == 5) { return A5; }
}
Schritt 5: Bereit zum Ausprobieren
![](https://i.ytimg.com/vi/8Y5S7QEdE30/hqdefault.jpg)
Schritt 6: Arduino Nano-Implementierung für Prototypen
![Image Image](https://i.howwhatproduce.com/images/001/image-1300-28-j.webp)
Dieselbe Implementierung mit Arduino Nano im Steckbrett, kundenspezifischer Platine mit LEDs, Widerständen und Summer und X-Y-Joystick-Schalter.
Schritt 7: Fertig verpackter Whack-a-MoLED-Prototyp, um Ihren Liebsten zu präsentieren
![Endgültig verpackter Whack-a-MoLED-Prototyp, um Ihren Liebsten zu präsentieren! Endgültig verpackter Whack-a-MoLED-Prototyp, um Ihren Liebsten zu präsentieren!](https://i.howwhatproduce.com/images/001/image-1300-29-j.webp)
![Endgültig verpackter Whack-a-MoLED-Prototyp, um Ihren Liebsten zu präsentieren! Endgültig verpackter Whack-a-MoLED-Prototyp, um Ihren Liebsten zu präsentieren!](https://i.howwhatproduce.com/images/001/image-1300-30-j.webp)
Zubehör für Prototyp:
Einfacher Karton (Minimum 4cmX6cmX3cm), zusätzliche Kartonstücke für die Unterstützung.
Dekorpapier zum Abdecken des Fahrgestells (optional)
Mehrzweckkleber/-kleber
Mini-Steckbrett (optional)
Arduino Nano
Kleine Universalplatine
9-V-Batterie zur Stromversorgung von Arduino Nano (mit Vin-Pin verbinden).
SPDT-Schalter
Restliches Zubehör (LEDs, Widerstände, Joystick, Summer, Kabel) wie in Schritt 1 oben beschrieben.
Empfohlen:
Whack-a-Maulwurf! (Kein Code!): 9 Schritte (mit Bildern)
![Whack-a-Maulwurf! (Kein Code!): 9 Schritte (mit Bildern) Whack-a-Maulwurf! (Kein Code!): 9 Schritte (mit Bildern)](https://i.howwhatproduce.com/images/002/image-5042-100-j.webp)
Whack-a-Maulwurf! (Kein Code!): Hallo Welt! Ich bin aus dem Nicht-Posting-Abgrund zurückgekehrt und bin mit einem anderen Instructable wieder dabei! Heute werde ich Ihnen erklären, wie Sie Whack-a-Mole! Sie erhalten 30 Sekunden