Talaan ng mga Nilalaman:

Whack-a-moLED !!: 7 Mga Hakbang
Whack-a-moLED !!: 7 Mga Hakbang

Video: Whack-a-moLED !!: 7 Mga Hakbang

Video: Whack-a-moLED !!: 7 Mga Hakbang
Video: Whack-a-mole Game for Speech and Language Fun! SLP - SLPA - Articulation - Active play! 2024, Hulyo
Anonim
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!

Mga Proyekto ng Tinkercad »

Ito ay isang bersyon ng LED ng klasikong Whack-a-Mole Game.

Karaniwan ang isang random na LED sa labas ng 4 na LEDs ay sumisindi sa halip na isang taling na tumingin sa labas ng isang butas at pinapatay ng player ang LED gamit ang isang joystick sa halip na paluin ang taling!

Mga gamit

Arduino Uno / Nano o anumang variant board

4 LEDs at kaukulang kasalukuyang nililimitahan ang resistors.

Joystick module na may X, Y output

Aktibong Buzzer (opsyonal)

Jumper wires.. sapat na upang ma-debug!

Hakbang 1: I-hook Up ang Circuit

I-hook Up ang Circuit
I-hook Up ang Circuit

I-hook up ang Arduino Uno board sa module ng joystick, pagkonekta ng 2 analog Input pin sa mga output ng X Y ng joystick.

4 LEDs upang maiugnay gamit ang resistors sa 4 Digital o Analog output pin na pin.

Ang Aktibong Buzzer ay konektado sa isang digital output pin

Hakbang 2: Code para sa Pag-set up ng Mga Pin

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

int leftLED = A2, kananLED = A3, topLED = A4, ilalimLED = A5;

int napiliLED = 0; // Maaaring maging isa sa A2, A3, A4 o A5

walang bisa ang pag-setup () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (leftLED, OUTPUT);

pinMode (kananLED, OUTPUT);

pinMode (topLED, OUTPUT); pinMode (ilalimLED, OUTPUT);

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

Hakbang 3: Code para sa Joystick Sensing

walang bisa ang joystickSenseRoutine ()

{

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

joyPin = mapXYtoPin (xVal, yVal, butVal);

analogWrite (napiliLED, 1024);

kung (napiliLED! = kaliwaLED) {analogWrite (leftLED, 0); } kung (napiliLED! = kananLED) {analogWrite (kananLED, 0); }

kung (napiliLED! = topLED) {analogWrite (topLED, 0); }

kung (napiliLED! = ilalimLED) {analogWrite (ilalimLED, 0); }

kung (joyPin == napiliLED) // Mole Whacked

{

analogWrite (napiliLED, 0);

//

// Add code to play music / tone for whacking moLED !!

//

}

}

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

kung hindi man kung ((xVal> 900) at (yVal 400)) {return topLED; }

kung hindi man ((xVal 400) at (yVal <100)) {bumalik kaliwaLED; }

kung hindi man ((xVal 400) at (yVal> 900)) {bumalik sa kanan; }

kung hindi man {bumalik -1; }

}

Hakbang 4: Pangunahing Loop Routine Code

void loop () {

para sa (int i = 0; i <haba; i ++)

{

kung (random (0, 100)> 90) {selectLED = anaPinMap (random (2, 6));}

// Magdagdag ng code para sa laro ng musika dito

// *** *** ***

//

}

int anaPinMap (int randNum) {

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

kung hindi man kung (randNum == 3) {ibalik ang A3; }

kung hindi man (randNum == 4) {return A4; }

kung hindi man (randNum == 5) {return A5; }

}

Hakbang 5: Handa na Subukan

Hakbang 6: Pagpapatupad ng Arduino Nano para sa Prototype

Image
Image

Parehong pagpapatupad na ginawa sa Arduino nano sa breadboard, pasadyang ginawa board na may LEDs, resistors at buzzer, at X-Y Joystick switch.

Hakbang 7: Pangwakas na Naka-pack na Whack-a-MoLED na Prototype upang Ipakita ang Iyong Minamahal

Pangwakas na Naka-pack na Whack-a-MoLED na Prototype upang Ipakita ang Iyong Minamahal!
Pangwakas na Naka-pack na Whack-a-MoLED na Prototype upang Ipakita ang Iyong Minamahal!
Pangwakas na Naka-pack na Whack-a-MoLED na Prototype upang Ipakita ang Iyong Minamahal!
Pangwakas na Naka-pack na Whack-a-MoLED na Prototype upang Ipakita ang Iyong Minamahal!

Mga supply para sa prototype:

Simpleng kahon ng karton (Minimum na 4cmX6cmX3cm), labis na mga piraso ng karton hanggang sa suporta.

Pandekorasyon na papel para sa takip ng chassis (opsyonal)

Multipurpose adhesive / pandikit

Mini breadboard (opsyonal)

Arduino nano

Maliit na Universal PCB

9V na baterya para sa paggana ng Arduino nano (kumonekta sa Vin pin).

SPDT switch

Ang natitirang mga supply (LEDs, resistors, joystick, buzzer, wires) na inilarawan sa hakbang 1 sa itaas.

Inirerekumendang: