Sadržaj:

Whack-a-moLED !!: 7 koraka
Whack-a-moLED !!: 7 koraka

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

Video: Whack-a-moLED !!: 7 koraka
Video: Колыма - родина нашего страха / Kolyma - Birthplace of Our Fear 2024, Juli
Anonim
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!

Tinkercad projekti »

Ovo je LED verzija klasične igre Whack-a-Mole.

U osnovi nasumična LED lampica od 4 LED zasvijetli umjesto madeža koji gleda kroz rupu i igrač isključuje LED pomoću joystick -a umjesto udaranja madeža!

Supplies

Arduino Uno/Nano ili bilo koja varijanta ploče

4 LED diode i odgovarajući otpornici za ograničavanje struje.

Modul džojstika sa X, Y izlazima

Aktivni zujalica (opcionalno)

Žice za preskakanje.. dovoljno za otklanjanje grešaka!

Korak 1: Povežite krug

Povežite krug
Povežite krug

Priključite Arduino Uno ploču na modul džojstika, povezujući 2 analogna ulazna pina na X Y izlaze džojstika.

4 LED diode za povezivanje pomoću otpornika na 4 pinova za digitalne ili analogne izlaze.

Aktivni zujalica za spajanje na pin za digitalni izlaz

Korak 2: Kôd za postavljanje pinova

int xVal = 0, yVal = 0, aliVal = 0, xPin = A0, yPin = A1, joyPin = 13, aliPin = 7, speakerPin = 9;

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

int odabranoLED = 0; // Može biti jedan od A2, A3, A4 ili 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 (zujalicaPin, OUTPUT);

}

Korak 3: Kôd za otkrivanje džojstika

void joystickSenseRoutine ()

{

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

joyPin = mapXYtoPin (xVal, yVal, butVal);

analogWrite (odabranoLED, 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 (odabranoLED, 0);

//

// Dodajte kôd za reprodukciju muzike/ton za udaranje moLED !!

//

}

}

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

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

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

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

else {povratak -1; }

}

Korak 4: Kôd rutine glavne petlje

void loop () {{100} {101}

for (int i = 0; i <dužina; i ++)

{

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

// Ovdje dodajte kôd za muziku igre

// *** *** ***

//

}

int anaPinMap (int randNum) {

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

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

else if (randNum == 4) {vrati A4; }

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

}

Korak 5: Spremni za isprobavanje

Korak 6: Arduino Nano implementacija za prototip

Image
Image

Ista implementacija sa Arduino nano u ploči, prilagođena ploča sa LED diodama, otpornicima i zujalicom i X-Y prekidačem za upravljanje.

Korak 7: Završni zapakirani Whack-a-MoLED prototip za predstavljanje vašeg voljenog

Konačni zapakirani Whack-a-MoLED prototip za predstavljanje vašeg voljenog!
Konačni zapakirani Whack-a-MoLED prototip za predstavljanje vašeg voljenog!
Konačni zapakirani Whack-a-MoLED prototip za predstavljanje vašeg voljenog!
Konačni zapakirani Whack-a-MoLED prototip za predstavljanje vašeg voljenog!

Potrošni materijal za prototip:

Jednostavna kartonska kutija (minimalno 4cmX6cmX3cm), dodatni kartonski komadići za podršku.

Dekorativni papir za pokrivanje šasije (opcionalno)

Višenamjensko ljepilo/ljepilo

Mini ploča (opcionalno)

Arduino nano

Mala univerzalna PCB

9V baterija za napajanje Arduino nano (spojite na Vin pin).

SPDT prekidač

Ostatak zaliha (LED diode, otpornici, joystick, zujalica, žice) kako je opisano u koraku 1 gore.

Preporučuje se: