Indholdsfortegnelse:

Whack-a-moLED !!: 7 trin
Whack-a-moLED !!: 7 trin

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

Video: Whack-a-moLED !!: 7 trin
Video: Whack-A-Mole | Cartoon-Box 22 2024, November
Anonim
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!

Tinkercad -projekter »

Dette er en LED-version af det klassiske Whack-a-Mole Game.

Grundlæggende lyser en tilfældig LED ud af 4 lysdioder i stedet for en muldvarp, der kigger ud af et hul, og spilleren slukker LED'en ved hjælp af et joystick i stedet for at banke muldvarpen!

Forbrugsvarer

Arduino Uno/Nano eller et hvilket som helst variantbræt

4 lysdioder og tilsvarende strømbegrænsende modstande.

Joystick -modul med X, Y -udgange

Aktiv summer (valgfri)

Jumper ledninger.. nok til at fejlsøge!

Trin 1: Tilslut kredsløbet

Tilslut kredsløbet
Tilslut kredsløbet

Tilslut Arduino Uno -kortet til joystick -modulet og tilslut 2 analoge indgangsstifter til joystickets X Y -udgange.

4 lysdioder skal tilsluttes ved hjælp af modstande til 4 digitale eller analoge udgangsstifter.

Aktiv summer tilsluttes til en digital udgangsstift

Trin 2: Kode til opsætning af 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 af A2, A3, A4 eller A5

ugyldig opsætning () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (leftLED, OUTPUT);

pinMode (højreLED, OUTPUT);

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

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

Trin 3: Kode til joystick -sensing

tomrum joystickSenseRoutine ()

{

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

joyPin = mapXYtoPin (xVal, yVal, butVal);

analogWrite (valgtLED, 1024);

hvis (valgtLED! = venstreLED) {analogWrite (venstreLED, 0); } hvis (selectLED! = rightLED) {analogWrite (rightLED, 0); }

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

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

hvis (joyPin == selectedLED) // Mole Whacked

{

analogWrite (valgtLED, 0);

//

// Tilføj kode for at afspille musik/tone til 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; }

ellers {return -1; }

}

Trin 4: Main Loop rutinekode

void loop () {

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

{

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

// Tilføj kode til spilmusik 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; }

}

Trin 5: Klar til at prøve

Trin 6: Arduino Nano -implementering til prototype

Image
Image

Samme implementering foretaget med Arduino nano i brødbræt, specialfremstillet bord med lysdioder, modstande og summer og XY-joystick-switch.

Trin 7: Endelig pakket Whack-a-MoLED-prototype for at præsentere din elskede

Endelig pakket Whack-a-MoLED-prototype til at præsentere din elskede!
Endelig pakket Whack-a-MoLED-prototype til at præsentere din elskede!
Endelig pakket Whack-a-MoLED-prototype til at præsentere din elskede!
Endelig pakket Whack-a-MoLED-prototype til at præsentere din elskede!

Supplies til prototype:

Enkel papkasse (minimum 4cmX6cmX3cm), ekstra papstykker til støtte.

Dekorativt papir til dækning af chassis (valgfrit)

Multifunktionslim/lim

Mini brødbræt (valgfrit)

Arduino nano

Lille Universal PCB

9V batteri til strømforsyning af Arduino nano (tilslutning til Vin pin).

SPDT switch

Resten af forsyningerne (lysdioder, modstande, joystick, summer, ledninger) som beskrevet i trin 1 ovenfor.

Anbefalede: