Pārsteidzoši !!: 7 soļi
Pārsteidzoši !!: 7 soļi
Anonim
Pārsteidzoši !!
Pārsteidzoši !!
Pārsteidzoši !!
Pārsteidzoši !!

Tinkercad projekti »

Šī ir klasiskās Whack-a-Mole spēles LED versija.

Būtībā iedegas nejauša gaismas diode no 4 gaismas diodēm, nevis mols, kas skatās no cauruma, un spēlētājs izslēdz gaismas diodi, izmantojot kursorsviru, nevis sitot molu!

Piegādes

Arduino Uno/Nano vai jebkura tāfele

4 gaismas diodes un atbilstošie strāvas ierobežošanas rezistori.

Kursorsviras modulis ar X, Y izejām

Aktīvs skaņas signāls (pēc izvēles)

Jumper vadi.. pietiekami atkļūdošanai!

1. darbība: pievienojiet ķēdi

Pievienojiet ķēdi
Pievienojiet ķēdi

Pievienojiet Arduino Uno paneli kursorsviras modulim, savienojot 2 analogās ievades tapas ar kursorsviras X Y izejām.

4 gaismas diodes, kas jāpievieno, izmantojot rezistorus, ar 4 digitālās vai analogās izejas tapas.

Aktīvais skaņas signāls jāpievieno digitālajai izejas tapai

2. darbība: tapas iestatīšanas kods

int xVal = 0, yVal = 0, betVal = 0, xPin = A0, yPin = A1, prieksPin = 13, betPin = 7, skaļruņa spraudnis = 9;

int pa kreisiLED = A2, pa labiLED = A3, augšējaisLED = A4, apakšējaisLED = A5;

int izvēlētsLED = 0; // Var būt viens no A2, A3, A4 vai A5

void setup () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (pa kreisiLED, OUTPUT);

pinMode (labaisLED, OUTPUT);

pinMode (topLED, OUTPUT); pinMode (apakšāLED, OUTPUT);

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

3. darbība: kursorsviras sensora kods

void joystickSenseRoutine ()

{

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

prieksPin = karteXYtoPin (xVal, yVal, butVal);

analogWrite (atlasītsLED, 1024);

ja (atlasītsLED! = pa kreisiLED) {analogWrite (pa kreisiLED, 0); } if (atlasītsLED! = rightLED) {analogWrite (rightLED, 0); }

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

if (selectLED! = bottomLED) {analogWrite (bottomLED, 0); }

ja (joyPin == atlasītsLED) // Mole Whacked

{

analogWrite (atlasītsLED, 0);

//

// Pievienojiet kodu, lai atskaņotu mūziku/toni, lai izsistu moLED !!

//

}

}

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

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

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

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

cits {atgriezties -1; }

}

4. darbība. Galvenās cilpas rutīnas kods

void loop () {

par (int i = 0; i <garums; i ++)

{

ja (nejauši (0, 100)> 90) {selectedLED = anaPinMap (nejauši (2, 6));}

// Šeit pievienojiet spēles mūzikas kodu

// *** *** ***

//

}

int anaPinMap (int randNum) {

ja (randNum == 2) {atgriezties A2; }

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

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

cits if (randNum == 5) {atgriezties A5; }

}

5. solis: gatavs izmēģināt

6. darbība: Arduino Nano ieviešana prototipam

Image
Image

Tāda pati ieviešana tika veikta, izmantojot Arduino nano maizes plāksnē, pēc pasūtījuma izgatavotu dēli ar gaismas diodēm, rezistoriem un skaņas signālu, kā arī X-Y kursorsviru slēdzi.

7. solis: galīgais iesaiņotais Whack-a-MoLED prototips, lai prezentētu savu mīļoto

Pēdējais iepakotais dauzītais prototips, lai prezentētu savu mīļoto!
Pēdējais iepakotais dauzītais prototips, lai prezentētu savu mīļoto!
Pēdējais iepakotais dauzītais prototips, lai prezentētu savu mīļoto!
Pēdējais iepakotais dauzītais prototips, lai prezentētu savu mīļoto!

Piegādes prototipam:

Vienkārša kartona kaste (vismaz 4cmX6cmX3cm), papildu kartona gabali no atbalsta.

Dekoratīvs papīrs šasijas segšanai (pēc izvēles)

Daudzfunkcionāla līme/līme

Mini maizes dēlis (pēc izvēles)

Arduino nano

Maza universāla PCB

9 V akumulators Arduino nano barošanai (pievienojiet Vin pin).

SPDT slēdzis

Pārējās izejvielas (gaismas diodes, rezistori, kursorsvira, skaņas signāls, vadi), kā aprakstīts 1. darbībā.

Ieteicams: