Turinys:

Šaunu!: 7 žingsniai
Šaunu!: 7 žingsniai

Video: Šaunu!: 7 žingsniai

Video: Šaunu!: 7 žingsniai
Video: Geriausia ką turiu / The Best of Me (2014) nemokami filmai 2024, Liepa
Anonim
Šaunuolė !!
Šaunuolė !!
Šaunuolė !!
Šaunuolė !!

Tinkercad projektai »

Tai klasikinio „Whack-a-Mole“žaidimo LED versija.

Iš esmės atsitiktinis šviesos diodas iš 4 šviesos diodų užsidega, o ne apgamas žiūri iš skylės, o žaidėjas išjungia šviesos diodą, naudodamas kreiptuką, o ne daužydamas apgamą!

Prekės

„Arduino Uno“/„Nano“arba bet koks variantas

4 šviesos diodai ir atitinkami srovės ribojimo rezistoriai.

Joystick modulis su X, Y išėjimais

Aktyvus garsinis signalas (neprivaloma)

Trumpieji laidai.. užtenka derinti!

1 žingsnis: prijunkite grandinę

Prijunkite grandinę
Prijunkite grandinę

Prijunkite „Arduino Uno“plokštę prie vairasvirtės modulio, prijungdami 2 analoginius įvesties kaiščius prie vairasvirtės X Y išėjimų.

4 šviesos diodai, kuriuos reikia prijungti naudojant rezistorius prie 4 skaitmeninių arba analoginių išėjimų kaiščių.

„Active Buzzer“turi būti prijungtas prie skaitmeninio išvesties kaiščio

2 žingsnis: smeigtukų sąrankos kodas

int xVal = 0, yVal = 0, betVal = 0, xPin = A0, yPin = A1, džiaugsmoPin = 13, betPin = 7, garsiakalbio PIN = 9;

int kairėLED = A2, dešinėLED = A3, viršutinėLED = A4, apačiaLED = A5;

int pasirinktasLED = 0; // Gali būti vienas iš A2, A3, A4 arba A5

void setup () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (kairėjeLED, OUTPUT);

pinMode (dešinysis LED, OUTPUT);

pinMode („topLED“, „OUTPUT“); pinMode (apačioje LED, OUTPUT);

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

3 žingsnis: vairasvirtės jutiklio kodas

void joystickSenseRoutine ()

{

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

joyPin = žemėlapisXYtoPin (xVal, yVal, butVal);

analogWrite (pasirinktaLED, 1024);

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

if (pasirinktasLED! = viršuLED) {analogWrite (viršujeLED, 0); }

if (pasirinktaLED! = apačiaLED) {analogWrite (bottomLED, 0); }

if (joyPin == pasirinktasLED) // Mole Whacked

{

analogWrite (pasirinktaLED, 0);

//

// Pridėkite kodą, kad paleistumėte muziką/toną, kad galėtumėte mušti moLED !!

//

}

}

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

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

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

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

else {return -1; }

}

4 veiksmas: pagrindinio ciklo įprastinis kodas

void loop () {

už (int i = 0; i <ilgis; i ++)

{

if (atsitiktinis (0, 100)> 90) {pasirinktasLED = anaPinMap (atsitiktinis (2, 6));}

// Čia pridėkite žaidimo muzikos kodą

// *** *** ***

//

}

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

}

5 žingsnis: pasiruošę išbandyti

6 žingsnis: „Arduino Nano“diegimas prototipui

Image
Image

Tas pats įgyvendinimas su „Arduino nano“duonos lenta, pagal užsakymą pagaminta plokštė su šviesos diodais, rezistoriais ir garsiniu signalu, taip pat „X-Y“vairasvirtės jungiklis.

7 žingsnis: galutinis supakuotas „Whack-a-MoLED“prototipas, skirtas pristatyti savo mylimam žmogui

Galutinis supakuotas „Whack-a-MoLED“prototipas, skirtas pristatyti savo mylimam žmogui!
Galutinis supakuotas „Whack-a-MoLED“prototipas, skirtas pristatyti savo mylimam žmogui!
Galutinis supakuotas „Whack-a-MoLED“prototipas, skirtas pristatyti savo mylimam žmogui!
Galutinis supakuotas „Whack-a-MoLED“prototipas, skirtas pristatyti savo mylimam žmogui!

Priedai prototipui:

Paprasta kartoninė dėžutė (mažiausiai 4 cmX6 cmX3 cm), papildomos kartoninės dalys iš atramos.

Dekoratyvinis popierius važiuoklės uždengimui (neprivaloma)

Daugiafunkciniai klijai/klijai

Mini duonos lenta (neprivaloma)

Arduino nano

Mažas universalus PCB

9 V baterija, skirta „Arduino nano“maitinti (prijunkite prie „Vin“kaiščio).

SPDT jungiklis

Kitos reikmenys (šviesos diodai, rezistoriai, vairasvirtė, garsinis signalas, laidai), kaip aprašyta 1 veiksme.

Rekomenduojamas: