Sisukord:

Hämmastav !!: 7 sammu
Hämmastav !!: 7 sammu

Video: Hämmastav !!: 7 sammu

Video: Hämmastav !!: 7 sammu
Video: Кадетство 7 2024, Juuli
Anonim
Hämmastav !!
Hämmastav !!
Hämmastav !!
Hämmastav !!

Tinkercadi projektid »

See on klassikalise Whack-a-Mole mängu LED-versioon.

Põhimõtteliselt süttib 4 LED -ist juhuslik LED, mitte auku vaatav mutt ja mängija lülitab LED -i juhtnupuga välja, selle asemel, et mooli lüüa!

Tarvikud

Arduino Uno/Nano või mis tahes variantplaat

4 LED -i ja vastavad voolu piiravad takistid.

Joystick moodul X, Y väljunditega

Aktiivne helisignaal (valikuline)

Jumper juhtmed.. silumiseks piisab!

Samm: ühendage vooluring

Ühendage vooluring
Ühendage vooluring

Ühendage Arduino Uno plaat juhtkangimooduliga, ühendades 2 analoogsisendinuppu juhtkangi X Y väljunditega.

4 LED -i, mis ühendatakse takistite abil 4 digitaalse või analoogväljundi tihvtiga.

Aktiivne helisignaal ühendatakse digitaalse väljundpistikuga

Samm: tihvtide seadistamise kood

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

int vasakuleLED = A2, paremaleLED = A3, ülemiseleLED = A4, alumiseleLED = A5;

int valitudLED = 0; // Võib olla üks A2, A3, A4 või A5

tühine seadistus () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (vasak LED, VÄLJUND);

pinMode (parem LED, VÄLJUND);

pinMode (topLED, OUTPUT); pinMode (alt LED, VÄLJUND);

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

3. samm: juhtkangi tuvastamise kood

void joystickSenseRoutine ()

{

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

joyPin = kaartXYtoPin (xVal, yVal, butVal);

analogWrite (valitudLED, 1024);

if (valitudLED! = vasakLED) {analogWrite (vasakLED, 0); } if (valitudLED! = rightLED) {analogWrite (rightLED, 0); }

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

if (valitudLED! = alumineLED) {analoogkiri (alumineLED, 0); }

if (joyPin == valitudLED) // Mole Whacked

{

analogWrite (valitudLED, 0);

//

// Lisa kood muusika esitamiseks/toon moLED -i löömiseks !!

//

}

}

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

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

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

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

else {return -1; }

}

Samm 4: põhisilmuse rutiinne kood

void loop () {

jaoks (int i = 0; i <pikkus; i ++)

{

if (juhuslik (0, 100)> 90) {valitudLED = anaPinMap (juhuslik (2, 6));}

// Lisage siia mängumuusika kood

// *** *** ***

//

}

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

}

Samm: valmis proovimiseks

6. samm: Arduino Nano rakendamine prototüübi jaoks

Image
Image

Sama teostus on tehtud Arduino nano leivaplaadis, eritellimusel valmistatud LED-lampide, takistite ja helisignaali ning X-Y juhtkangi lülitiga.

Samm 7: Lõplik pakendatud Whack-a-MoLED prototüüp oma lähedase esitlemiseks

Lõplik pakitud Whack-a-MoLED prototüüp oma lähedase esitlemiseks!
Lõplik pakitud Whack-a-MoLED prototüüp oma lähedase esitlemiseks!
Lõplik pakitud Whack-a-MoLED prototüüp oma lähedase esitlemiseks!
Lõplik pakitud Whack-a-MoLED prototüüp oma lähedase esitlemiseks!

Prototüübi tarned:

Lihtne pappkarp (vähemalt 4cmX6cmX3cm), täiendavad papitükid toestamiseks.

Dekoratiivne paber šassii katmiseks (valikuline)

Mitmeotstarbeline liim/liim

Mini leivalaud (valikuline)

Arduino nano

Väike universaalne trükkplaat

9 V aku Arduino nano toiteks (ühendage Vin pin -ga).

SPDT lüliti

Ülejäänud tarvikud (valgusdioodid, takistid, juhtkang, sumin, juhtmed), nagu on kirjeldatud ülaltoodud punktis 1.

Soovitan: