Tartalomjegyzék:

Ütős!: 7 lépés
Ütős!: 7 lépés

Videó: Ütős!: 7 lépés

Videó: Ütős!: 7 lépés
Videó: МДЗ, БЗТ, Б-32 Утёс против тяжёлого металла/ NSV 12.7 vs heavy metal 2024, Július
Anonim
Fura!
Fura!
Fura!
Fura!

Tinkercad projektek »

Ez a klasszikus Whack-a-Mole Game LED változata.

Alapvetően a 4 LED -ből egy véletlenszerű LED világít, ahelyett, hogy egy lyukból kinéző anyajegy lenne, és a játékos kikapcsolja a LED -et egy joystick segítségével, ahelyett, hogy megütné a vakondot!

Kellékek

Arduino Uno/Nano vagy bármilyen változatú tábla

4 LED és a megfelelő áramkorlátozó ellenállás.

Joystick modul X, Y kimenettel

Aktív zümmögő (opcionális)

Jumper vezetékek.. elég a hibakereséshez!

1. lépés: Csatlakoztassa az áramkört

Csatlakoztassa az áramkört
Csatlakoztassa az áramkört

Csatlakoztassa az Arduino Uno kártyát a joystick modulhoz, 2 analóg bemeneti csatlakozót csatlakoztatva a joystick X Y kimeneteihez.

4 LED ellenállás segítségével 4 digitális vagy analóg kimenethez.

Aktív zümmögő digitális kimeneti tűhöz csatlakoztatható

2. lépés: A csapok beállításának kódja

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

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

int kiválasztottLED = 0; // Lehet A2, A3, A4 vagy A5

void setup () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (leftLED, OUTPUT);

pinMode (jobb LED, OUTPUT);

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

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

3. lépés: A joystick érzékelés kódja

void joystickSenseRoutine ()

{

xVal = analóg olvasott (xPin); yVal = analóg olvasás (yPin); butVal = digitalRead (butPin);

joyPin = mapXYtoPin (xVal, yVal, butVal);

analogWrite (kiválasztottLED, 1024);

if (kiválasztottLED! = leftLED) {analóg Ír (balLED, 0); } if (kiválasztottLED! = jobbLED) {analógírás (jobbLED, 0); }

if (kiválasztottLED! = felsőLED) {analóg Ír (felsőLED, 0); }

if (kiválasztottLED! = alsóLED) {analóg Ír (alsóLED, 0); }

if (joyPin == kiválasztottLED) // Mole Whacked

{

analogWrite (kiválasztottLED, 0);

//

// Kód hozzáadása a zene lejátszásához/hang a leütéses moLED -hez !!

//

}

}

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

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

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

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

else {return -1; }

}

4. lépés: Fő hurok rutin kód

void loop () {

for (int i = 0; i <hossz; i ++)

{

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

// Itt adhat hozzá kódot a játékzenéhez

// *** *** ***

//

}

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. lépés: Készen áll a kipróbálásra

6. lépés: Arduino Nano implementáció a prototípushoz

Image
Image

Ugyanez a megvalósítás az Arduino nano kenyértáblán, egyedi gyártású tábla LED-ekkel, ellenállásokkal és hangjelzéssel, valamint X-Y joystick kapcsolóval.

7. lépés: A végső csomagolt Whack-a-MoLED prototípus, hogy bemutassa kedvesét

Végső csomagolt ütés-a-MoLED prototípus, hogy bemutassa kedvesét!
Végső csomagolt ütés-a-MoLED prototípus, hogy bemutassa kedvesét!
Végső csomagolt ütés-a-MoLED prototípus, hogy bemutassa kedvesét!
Végső csomagolt ütés-a-MoLED prototípus, hogy bemutassa kedvesét!

Kellékek a prototípushoz:

Egyszerű kartondoboz (minimum 4cmX6cmX3cm), extra kartondobozok a tartóból.

Dekoratív papír az alváz burkolatához (opcionális)

Többcélú ragasztó/ragasztó

Mini kenyeretábla (opcionális)

Arduino nano

Kicsi univerzális NYÁK

9 V -os akkumulátor az Arduino nano táplálásához (csatlakoztassa a Vin pin -hez).

SPDT kapcsoló

A többi kellék (LED -ek, ellenállások, joystick, zümmögő, vezetékek) a fenti 1. lépésben leírtak szerint.

Ajánlott: