Sisällysluettelo:

Ikävä!: 7 vaihetta
Ikävä!: 7 vaihetta

Video: Ikävä!: 7 vaihetta

Video: Ikävä!: 7 vaihetta
Video: PERJANTAI: Lemmikin kuolemaa vähätellään, vaikka se on usein omistajalle kova menetys 2024, Marraskuu
Anonim
Hemmetti !!
Hemmetti !!
Hemmetti !!
Hemmetti !!

Tinkercad -projektit »

Tämä on LED-versio klassisesta Whack-a-Mole-pelistä.

Pohjimmiltaan satunnainen LED -valo neljästä LED -valosta syttyy sen sijaan, että myyrä katsoisi reiästä, ja soitin sammuttaa LED -valon ohjaussauvalla sen sijaan, että mykistäisi myyrää!

Tarvikkeet

Arduino Uno/Nano tai mikä tahansa varianttilevy

4 LEDiä ja vastaavat virranrajoitusvastukset.

Joystick -moduuli, jossa X-, Y -lähdöt

Aktiivinen summeri (valinnainen)

Hyppyjohdot.. riittää virheenkorjaukseen!

Vaihe 1: Liitä piiri

Liitä piiri
Liitä piiri

Kytke Arduino Uno -kortti joystick -moduuliin yhdistämällä 2 analogista tulonappia ohjaussauvan X Y -lähtöihin.

4 LEDiä, jotka liitetään vastuksilla 4 digitaaliseen tai analogiseen ulostulonastaan.

Aktiivinen summeri liitetään digitaaliseen ulostulotappiin

Vaihe 2: Nastan asennuksen koodi

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

int vasenLED = A2, oikeaLED = A3, ylhäällä LED = A4, alhaaltaLED = A5;

int valittuLED = 0; // Voi olla jokin seuraavista: A2, A3, A4 tai A5

void setup () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (vasenLED, OUTPUT);

pinMode (oikea LED, OUTPUT);

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

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

Vaihe 3: Ohjaussauvan tunnistuskoodi

tyhjä joystickSenseRoutine ()

{

xVal = analoginen luku (xPin); yVal = analoginen lukema (yPin); butVal = digitalRead (butPin);

joyPin = karttaXYtoPin (xVal, yVal, butVal);

analogWrite (valittuLED, 1024);

if (valittuLED! = leftLED) {analogWrite (leftLED, 0); } if (valittuLED! = oikeaLED) {analogWrite (oikeaLED, 0); }

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

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

if (joyPin == valittuLED) // Mole Whacked

{

analogWrite (valittuLED, 0);

//

// Lisää koodi musiikin toistamiseen/sävyä moLEDin lyömiseen !!

//

}

}

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

}

Vaihe 4: Pääsilmukan rutiinikoodi

void loop () {

(int i = 0; i <pituus; i ++)

{

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

// Lisää pelimusiikin koodi tähän

// *** *** ***

//

}

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

}

Vaihe 5: Valmis kokeilemaan

Vaihe 6: Arduino Nano -toteutus prototyyppiä varten

Image
Image

Sama toteutus tehty Arduino nano -leipälevyllä, mittatilaustyönä valmistettu LED-valot, vastukset ja summeri sekä X-Y-joystick-kytkin.

Vaihe 7: Viimeinen pakattu Whack-a-MoLED-prototyyppi esittelemään rakkaasi

Lopullinen pakattu Whack-a-MoLED-prototyyppi esittelemään rakkaasi!
Lopullinen pakattu Whack-a-MoLED-prototyyppi esittelemään rakkaasi!
Viimeinen pakattu Whack-a-MoLED-prototyyppi esittelemään rakkaasi!
Viimeinen pakattu Whack-a-MoLED-prototyyppi esittelemään rakkaasi!

Tarvikkeet prototyypille:

Yksinkertainen pahvilaatikko (vähintään 4 cm x 6 cm x 3 cm), ylimääräisiä pahvilaatikoita tuesta.

Koristepaperi alustan peittämiseen (valinnainen)

Monikäyttöinen liima/liima

Mini leipälauta (valinnainen)

Arduino nano

Pieni yleispiirilevy

9 V: n akku Arduino nanon virransyöttöön (liitä Vin -nastaan).

SPDT -kytkin

Muut tarvikkeet (LEDit, vastukset, ohjaussauva, summeri, johdot), kuten yllä olevassa vaiheessa 1 on kuvattu.

Suositeltava: