Obsah:

Whack-a-moLED !!: 7 kroků
Whack-a-moLED !!: 7 kroků

Video: Whack-a-moLED !!: 7 kroků

Video: Whack-a-moLED !!: 7 kroků
Video: The Tail Company making amazing moving ears, wings and tails! 2024, Prosinec
Anonim
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!

Projekty Tinkercad »

Toto je LED verze klasické hry Whack-a-Mole.

V zásadě se rozsvítí náhodná LED ze 4 LED místo toho, aby se krtek díval z díry a hráč místo vypínání krtka LED vypíná pomocí joysticku!

Zásoby

Arduino Uno/Nano nebo jakákoli varianta desky

4 LED diody a odpovídající odpory omezující proud.

Modul joysticku s výstupy X, Y

Aktivní bzučák (volitelně)

Propojovací vodiče.. dost na odladění!

Krok 1: Zapojte obvod

Zapojte obvod
Zapojte obvod

Připojte desku Arduino Uno k modulu joysticku a připojte 2 analogové vstupní piny k výstupům X Y joysticku.

4 LED diody pro připojení pomocí rezistorů ke 4 pinům digitálního nebo analogového výstupu.

Aktivní bzučák pro připojení k digitálnímu výstupnímu kolíku

Krok 2: Kód pro nastavení pinů

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 být jeden z A2, A3, A4 nebo A5

neplatné nastavení () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (leftLED, OUTPUT);

pinMode (pravýLED, VÝSTUP);

pinMode (topLED, OUTPUT); pinMode (spodní LED, VÝSTUP);

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

Krok 3: Kód pro joystickové snímání

neplatný joystickSenseRoutine ()

{

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

joyPin = mapXYtoPin (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);

//

// Přidejte kód pro přehrávání hudby/tónu, abyste mohli zesměšňovat !!

//

}

}

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) and (yVal> 900)) {return rightLED; }

else {return -1; }

}

Krok 4: Běžný kód hlavní smyčky

prázdná smyčka () {

pro (int i = 0; i <délka; i ++)

{

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

// Zde přidejte kód pro herní hudbu

// *** *** ***

//

}

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; }

}

Krok 5: Připraveni vyzkoušet

Krok 6: Implementace Arduino Nano pro prototyp

Image
Image

Stejná implementace jako u Arduino nano v prkénku, desce na míru s LED diodami, odpory a bzučákem a přepínači joysticku X-Y.

Krok 7: Konečný zabalený prototyp Whack-a-MoLED k prezentaci vašeho milovaného

Konečně zabalený prototyp Whack-a-MoLED k prezentaci vašeho milovaného!
Konečně zabalený prototyp Whack-a-MoLED k prezentaci vašeho milovaného!
Konečně zabalený prototyp Whack-a-MoLED k prezentaci vašeho milovaného!
Konečně zabalený prototyp Whack-a-MoLED k prezentaci vašeho milovaného!

Dodávky pro prototyp:

Jednoduchá lepenková krabice (minimálně 4 cm x 6 cm x 3 cm), další kusy lepenky pro podporu.

Dekorativní papír na zakrytí podvozku (volitelně)

Víceúčelové lepidlo/lepidlo

Mini breadboard (volitelně)

Arduino nano

Malý univerzální PCB

9V baterie pro napájení Arduino nano (připojení na Vin pin).

Přepínač SPDT

Zbývající zásoby (LED diody, odpory, joystick, bzučák, vodiče), jak je popsáno v kroku 1 výše.

Doporučuje: