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, Srpanj
Anonim
Sranje!
Sranje!
Sranje!
Sranje!

Tinkercad projekti »

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

U osnovi slučajna LED od 4 LED zasvijetli umjesto madeža koji gleda kroz rupu, a igrač isključuje LED pomoću joystick -a umjesto udaranja madeža!

Pribor

Arduino Uno/Nano ili bilo koja varijanta ploče

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

Modul joystick s izlazima X, Y

Aktivni zujalica (nije obavezno)

Kratkospojne žice.. dovoljno za otklanjanje pogrešaka!

Korak 1: Spojite krug

Spojite krug
Spojite krug

Priključite Arduino Uno ploču na modul joystick -a, povezujući 2 analogna ulazna pina na X Y izlaze upravljačke palice.

4 LED diode koje se moraju spojiti otpornicima na 4 digitalna ili analogna izlaza.

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, spikerPin = 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 (desnoLED, OUTPUT);

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

pinMode (joyPin, OUTPUT);

pinMode (zujalicaPin, OUTPUT);

}

Korak 3: Kôd za mjerenje 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 glazbe/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}

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

{

if (nasumično (0, 100)> 90) {selectedLED = anaPinMap (slučajno (2, 6));}

// Ovdje dodajte kod za glazbu 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 napravljena s 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 prototip Whack-a-MoLED za predstavljanje vašeg voljenog

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

Potrošni materijal za prototip:

Jednostavna kartonska kutija (minimalno 4 cm x 6 cm x 3 cm), dodatni kartonski dijelovi za potporu.

Dekorativni papir za pokrivanje šasije (izborno)

Višenamjensko ljepilo/ljepilo

Mini ploča (opcionalno)

Arduino nano

Mali univerzalni 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čeni: