Innholdsfortegnelse:

Whack-a-moLED !!: 7 trinn
Whack-a-moLED !!: 7 trinn

Video: Whack-a-moLED !!: 7 trinn

Video: Whack-a-moLED !!: 7 trinn
Video: A Show of Scrutiny | Critical Role: THE MIGHTY NEIN | Episode 2 2024, November
Anonim
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!

Tinkercad -prosjekter »

Dette er en LED-versjon av det klassiske Whack-a-Mole Game.

I utgangspunktet lyser en tilfeldig LED av 4 lysdioder i stedet for at en føflekk ser ut av et hull, og spilleren slår av LED -en med en joystick i stedet for å slå molen!

Rekvisita

Arduino Uno/Nano eller et hvilket som helst variantbrett

4 lysdioder og tilsvarende strømbegrensende motstander.

Joystick -modul med X, Y -utganger

Aktiv summer (valgfritt)

Stikkledninger.. nok til å feilsøke!

Trinn 1: Koble til kretsen

Koble til kretsen
Koble til kretsen

Koble Arduino Uno -kortet til joystick -modulen, og koble 2 analoge inngangspinner til X Y -utgangene på joysticken.

4 lysdioder som skal tilkobles ved hjelp av motstander til 4 digitale eller analoge utgangsstifter.

Aktiv summer som skal kobles til en digital utgangspinne

Trinn 2: Kode for oppsett av pins

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

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

int valgtLED = 0; // Kan være en av A2, A3, A4 eller A5

ugyldig oppsett () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (leftLED, OUTPUT);

pinMode (høyreLED, UTGANG);

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

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

Trinn 3: Kode for styring av joystick

ugyldig joystickSenseRoutine ()

{

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

joyPin = mapXYtoPin (xVal, yVal, butVal);

analogWrite (valgt LED, 1024);

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

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

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

hvis (joyPin == selectedLED) // Mole Whacked

{

analogWrite (valgt LED, 0);

//

// Legg til kode for å spille musikk/tone for whacking moLED !!

//

}

}

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

ellers hvis ((xVal> 900) og (yVal 400)) {return topLED; }

ellers hvis ((xVal 400) og (yVal <100)) {return leftLED; }

ellers hvis ((xVal 400) og (yVal> 900)) {return rightLED; }

annet {retur -1; }

}

Trinn 4: Hovedløyfen rutinekode

void loop () {

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

{

hvis (tilfeldig (0, 100)> 90) {selectedLED = anaPinMap (tilfeldig (2, 6));}

// Legg til kode for spillmusikk her

// *** *** ***

//

}

int anaPinMap (int randNum) {

hvis (randNum == 2) {return A2; }

ellers hvis (randNum == 3) {return A3; }

ellers hvis (randNum == 4) {return A4; }

ellers hvis (randNum == 5) {return A5; }

}

Trinn 5: Klar til å prøve

Trinn 6: Arduino Nano -implementering for prototype

Image
Image

Samme implementering gjort med Arduino nano i brødbrett, skreddersydd brett med lysdioder, motstander og summer, og XY-joystickbryter.

Trinn 7: Sluttpakket Whack-a-MoLED-prototype for å presentere din kjære

Sluttpakket Whack-a-MoLED-prototype for å presentere din kjære!
Sluttpakket Whack-a-MoLED-prototype for å presentere din kjære!
Sluttpakket Whack-a-MoLED-prototype for å presentere din kjære!
Sluttpakket Whack-a-MoLED-prototype for å presentere din kjære!

Rekvisita for prototype:

Enkel pappeske (minimum 4cmX6cmX3cm), ekstra pappstykker for støtte.

Dekorativt papir for dekning av chassis (valgfritt)

Flerbrukslim/lim

Mini brødbrett (valgfritt)

Arduino nano

Liten Universal PCB

9V batteri for å drive Arduino nano (koble til Vin pin).

SPDT -bryter

Resten av rekvisita (lysdioder, motstander, joystick, summer, ledninger) som beskrevet i trinn 1 ovenfor.

Anbefalt: