Sommario:
- Forniture
- Passaggio 1: collegare il circuito
- Passaggio 2: codice per l'impostazione dei pin
- Passaggio 3: codice per il rilevamento del joystick
- Passaggio 4: codice di routine del ciclo principale
- Passaggio 5: pronto per la prova
- Passaggio 6: implementazione Arduino Nano per prototipo
- Passaggio 7: prototipo finale Whack-a-MoLED confezionato per presentare la persona amata
Video: Whack-a-moLED!!: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
Progetti Tinkercad »
Questa è una versione LED del classico gioco Whack-a-Mole.
Fondamentalmente si accende un LED casuale su 4 LED invece di una talpa che guarda da un buco e il giocatore spegne il LED usando un joystick invece di colpire la talpa!
Forniture
Arduino Uno/Nano o qualsiasi scheda variante
4 LED e relative resistenze di limitazione della corrente.
Modulo joystick con uscite X, Y
Buzzer attivo (opzionale)
Ponticelli.. abbastanza per eseguire il debug!
Passaggio 1: collegare il circuito
Collega la scheda Arduino Uno al modulo joystick, collegando 2 pin di ingresso analogico alle uscite X Y del joystick.
4 LED da collegare tramite resistori a 4 pin di uscita digitali o analogici.
Buzzer attivo da collegare a un pin di uscita digitale
Passaggio 2: codice per l'impostazione dei pin
int xVal = 0, yVal = 0, butVal = 0, xPin = A0, yPin = A1, joyPin = 13, butPin = 7, speakerPin = 9;
int LED sinistro = A2, LED destro = A3, LED superiore = A4, LED inferiore = A5;
LED selezionato int = 0; // Può essere uno tra A2, A3, A4 o A5
void setup() {
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
pinMode(leftLED, OUTPUT);
pinMode(rightLED, OUTPUT);
pinMode(topLED, OUTPUT); pinMode(bottomLED, OUTPUT);
pinMode(joyPin, OUTPUT);
pinMode(BuzzerPin, OUTPUT);
}
Passaggio 3: codice per il rilevamento del joystick
void joystickSenseRoutine()
{
xVal = analogRead(xPin); yVal = analogRead(yPin); butVal = digitalRead(butPin);
joyPin = mapXYtoPin(xVal, yVal, butVal);
analogWrite(LED selezionato, 1024);
if (LEDselezionato != LEDsinistro) { analogWrite(LEDsinistro, 0); } if (selectedLED != rightLED) { analogWrite(rightLED, 0); }
if (selectedLED != topLED) { analogWrite(topLED, 0); }
if (selectedLED != bottomLED) { analogWrite(bottomLED, 0); }
if (joyPin == LED selezionato) // Mole Whacked
{
analogWrite (LED selezionato, 0);
//
// Aggiungi codice per riprodurre musica/tono per colpire moLED!!
//
}
}
int mapXYtoPin(int xVal, int yVal, int butVal) { if ((xVal < 100) e (yVal 400)) { return bottomLED; }
else if ((xVal > 900) e (yVal 400)) { return topLED; }
else if ((xVal 400) e (yVal < 100)) { return leftLED; }
else if ((xVal 400) e (yVal > 900)) { return rightLED; }
else { ritorno -1; }
}
Passaggio 4: codice di routine del ciclo principale
ciclo vuoto() {
for (int i = 0; i < lunghezza; i++)
{
if (random(0, 100) > 90) { selectedLED = anaPinMap(random(2, 6));}
// Aggiungi qui il codice per la musica del gioco
// *** *** ***
//
}
int anaPinMap(int randNum) {
if (randNum == 2) { return A2; }
else if (randNum == 3) { return A3; }
else if (randNum == 4) { return A4; }
else if (randNum == 5) { return A5; }
}
Passaggio 5: pronto per la prova
Passaggio 6: implementazione Arduino Nano per prototipo
Stessa implementazione realizzata con Arduino nano in breadboard, scheda custom made con led, resistenze e buzzer, e interruttore joystick X-Y.
Passaggio 7: prototipo finale Whack-a-MoLED confezionato per presentare la persona amata
Forniture per prototipo:
Scatola di cartone semplice (minimo 4 cm X 6 cm X 3 cm), pezzi di cartone extra per il supporto.
Carta decorativa per rivestimento telaio (opzionale)
Adesivo/colla multiuso
Mini tagliere (opzionale)
Arduino nano
PCB universale piccolo
Batteria da 9V per alimentare Arduino nano (collegare al pin Vin).
Interruttore SPDT
Resto dei materiali di consumo (LED, resistori, joystick, cicalino, cavi) come descritto nel passaggio 1 sopra.
Consigliato:
Come realizzare un'antenna doppia biQuade 4G LTE Semplici passaggi: 3 passaggi
Come realizzare un'antenna doppia biQuade 4G LTE Semplici passaggi: La maggior parte delle volte che ho affrontato, non ho una buona potenza del segnale per i miei lavori quotidiani. Così. Cerco e provo diversi tipi di antenna ma non funziona. Dopo aver perso tempo ho trovato un'antenna che spero di realizzare e testare, perché è principio costruttivo non
Rilevamento del volto su Raspberry Pi 4B in 3 passaggi: 3 passaggi
Rilevamento del volto su Raspberry Pi 4B in 3 passaggi: In questo Instructable eseguiremo il rilevamento del volto su Raspberry Pi 4 con Shunya O/S utilizzando la libreria Shunyaface. Shunyaface è una libreria di riconoscimento/rilevamento facciale. Il progetto mira a raggiungere la massima velocità di rilevamento e riconoscimento con
Specchio per il trucco fai-da-te in semplici passaggi (usando le strisce luminose a LED): 4 passaggi
Specchio per il trucco fai-da-te in semplici passaggi (usando le strisce luminose a LED): in questo post, ho realizzato uno specchio per il trucco fai-da-te con l'aiuto delle strisce LED. Sono davvero fantastici e devi provarli anche tu
Gioca a Doom sul tuo iPod in 5 semplici passaggi!: 5 passaggi
Gioca a Doom sul tuo iPod in 5 semplici passaggi!: una guida passo passo su come eseguire il dual-boot di Rockbox sul tuo iPod per giocare a Doom e a dozzine di altri giochi. È qualcosa di veramente facile da fare, ma molte persone rimangono stupite quando mi vedono giocare a doom sul mio iPod e si confondono con le istruzioni
LED Whack-a-mole: 5 passaggi
LED Whack-a-mole: questo gioco di "Whack-a-mole" utilizza sette LED e un joystick. Ci sono 4 "talpe" sulla mia scheda, rappresentata da sinistra dal 3°, 4°, 5° e 6° LED. Uno di questi quattro LED si accenderà in modo casuale e offrirà un'a