Obsah:

Whack-a-moLED !!: 7 krokov
Whack-a-moLED !!: 7 krokov

Video: Whack-a-moLED !!: 7 krokov

Video: Whack-a-moLED !!: 7 krokov
Video: DIY Cat Toy Whack-A-Mole from Cardboard 2024, November
Anonim
Úder-a-moLED !!
Úder-a-moLED !!
Úder-a-moLED !!
Úder-a-moLED !!

Projekty Tinkercad »

Toto je LED verzia klasickej hry Whack-a-Mole.

V zásade sa rozsvieti náhodná LED zo 4 diód LED namiesto krtka pozerajúceho sa von z diery a hráč namiesto vypálenia krtka LED vypne pomocou joysticku!

Zásoby

Doska Arduino Uno/Nano alebo akákoľvek varianta

4 LED diódy a zodpovedajúce odpory obmedzujúce prúd.

Modul joysticku s výstupmi X, Y

Aktívny bzučiak (voliteľné)

Prepojovacie vodiče.. dosť na ladenie!

Krok 1: Zapojte obvod

Zapojte obvod
Zapojte obvod

Pripojte dosku Arduino Uno k modulu joysticku a pripojte 2 analógové vstupné kolíky k výstupom X Y joysticku.

4 LED diódy je možné pripojiť pomocou rezistorov k 4 pinom digitálneho alebo analógového výstupného pinu.

Aktívny bzučiak na pripojenie k digitálnemu výstupnému kolíku

Krok 2: Kód na nastavenie pinov

int xVal = 0, yVal = 0, butVal = 0, xPin = A0, yPin = A1, joyPin = 13, butPin = 7, reproduktorPin = 9;

int leftLED = A2, rightLED = A3, topLED = A4, bottomLED = A5;

int selectedLED = 0; // Môže to byť jeden z formátov A2, A3, A4 alebo A5

neplatné nastavenie () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (vľavoLED, VÝSTUP);

pinMode (pravýLED, VÝSTUP);

pinMode (topLED, OUTPUT); pinMode (bottomLED, OUTPUT);

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

Krok 3: Kód pre snímanie joystickom

zrušiť joystickSenseRoutine ()

{

xVal = analogRead (xPin); yVal = analogRead (yPin); butVal = digitalRead (butPin);

joyPin = mapaXYtoPin (xVal, yVal, butVal);

analogWrite (selectedLED, 1024);

if (selectedLED! = leftLED) {analogWrite (leftLED, 0); } if (selectedLED! = rightLED) {analogWrite (rightLED, 0); }

if (selectedLED! = topLED) {analogWrite (topLED, 0); }

if (selectedLED! = bottomLED) {analogWrite (bottomLED, 0); }

if (joyPin == selectedLED) // Mole Whacked

{

analogWrite (selectedLED, 0);

//

// Pridajte kód na prehrávanie hudby/tónu, aby ste si mohli užiť MILED !!

//

}

}

int mapXYtoPin (int xVal, int yVal, int butVal) {if ((xVal <100) and (yVal 400)) {return bottomLED; }

else if ((xVal> 900) a (yVal 400)) {return topLED; }

else if ((xVal 400) a (yVal <100)) {return leftLED; }

else if ((xVal 400) a (yVal> 900)) {return rightLED; }

else {return -1; }

}

Krok 4: Bežný kód hlavnej slučky

prázdna slučka () {

pre (int i = 0; i <dĺžka; i ++)

{

if (random (0, 100)> 90) {selectedLED = anaPinMap (random (2, 6));}

// Tu pridajte kód pre hernú hudbu

// *** *** ***

//

}

int anaPinMap (int randNum) {

if (randNum == 2) {return A2; }

else if (randNum == 3) {return A3; }

else if (randNum == 4) {vrátiť A4; }

else if (randNum == 5) {return A5; }

}

Krok 5: Pripravení vyskúšať

Krok 6: Implementácia Arduino Nano pre prototyp

Image
Image

Rovnaká implementácia ako v prípade Arduino nano v doske, na mieru vyrobenej doske s LED diódami, odpormi a bzučiakom a prepínači joysticku X-Y.

Krok 7: Konečný zabalený prototyp Whack-a-MoLED predstaví vášho milovaného

Konečný zabalený prototyp Whack-a-MoLED na predstavenie vášho milovaného!
Konečný zabalený prototyp Whack-a-MoLED na predstavenie vášho milovaného!
Konečný zabalený prototyp Whack-a-MoLED na predstavenie vášho milovaného!
Konečný zabalený prototyp Whack-a-MoLED na predstavenie vášho milovaného!

Dodávky pre prototyp:

Jednoduchá kartónová škatuľa (minimálne 4 cm x 6 cm x 3 cm), ďalšie kusy lepenky s podporou.

Dekoračný papier na zakrytie podvozku (voliteľné)

Viacúčelové lepidlo/lepidlo

Mini breadboard (voliteľné)

Arduino nano

Malý univerzálny plošný spoj

9V batéria na napájanie Arduino nano (pripojenie na Vin pin).

Prepínač SPDT

Ostatné zásoby (LED diódy, odpory, joystick, bzučiak, káble) popísané v kroku 1 vyššie.

Odporúča: