Orodha ya maudhui:

Whack-a-moLED !!: Hatua 7
Whack-a-moLED !!: Hatua 7

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

Video: Whack-a-moLED !!: Hatua 7
Video: The #1 Calcium, Osteoporosis & Vitamin D BIG MISTAKE 2024, Julai
Anonim
Piga kelele!
Piga kelele!
Piga kelele!
Piga kelele!

Miradi ya Tinkercad »

Hii ni toleo la LED la Mchezo wa kawaida wa Whack-a-Mole.

Kimsingi mwangaza wa LED kati ya taa 4 huangaza badala ya mole inayoangalia nje ya shimo na mchezaji anazima LED kwa kutumia kiboreshaji badala ya kumpiga mole!

Vifaa

Arduino Uno / Nano au bodi yoyote tofauti

LED 4 na vipingamizi vinavyolingana vya sasa.

Moduli ya Joystick na matokeo ya X, Y

Buzzer inayotumika (hiari)

Waya za jumper.. zinatosha kumaliza!

Hatua ya 1: Hook Up Circuit

Hook Up Mzunguko
Hook Up Mzunguko

Hook up bodi ya Arduino Uno kwenye moduli ya fimbo ya kufurahisha, ikiunganisha pini 2 za Kuingiza Analog na matokeo ya X Y ya joystick.

Taa 4 za kuunganishwa kwa kutumia vipingaji kwa pini 4 za pato za Dijiti au Analog.

Buzzer inayotumika kushikamana na pini ya pato la dijiti

Hatua ya 2: Nambari ya Usanidi wa Pini

int xVal = 0, yVal = 0, lakini Val = 0, xPin = A0, yPin = A1, furahaPin = 13, lakini Pini = 7, spikaPin = 9;

kushoto kushotoLED = A2, kuliaLED = A3, juuLED = A4, chiniLED = A5;

iliyochaguliwaLED = 0; // Inaweza kuwa moja ya A2, A3, A4 au A5

usanidi batili () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (kushotoLED, OUTPUT);

pinMode (kuliaLED, OUTPUT);

pinMode (juuLED, OUTPUT); pinMode (chiniLED, OUTPUT);

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

Hatua ya 3: Nambari ya kuhisi Joystick

fimbo tupu ya furahaSenseRoutine ()

{

xVal = AnalogSoma (xPin); yVal = AnalogSoma (yPin); butVal = dijitaliSoma (lakiniPini);

furahaPin = ramaniXYtoPin (xVal, yVal, lakiniVal);

AnalogWrite (iliyochaguliwaLED, 1024);

ikiwa (imechaguliwaLED! = kushotoLED) {analogWrite (kushotoLED, 0); } ikiwa (imechaguliwaLED! = kuliaLED) {analogWrite (kuliaLED, 0); }

ikiwa (iliyochaguliwaLED! = topLED) {analogWrite (topLED, 0); }

ikiwa (iliyochaguliwaLED! = chiniLED) {analogWrite (chiniLED, 0); }

ikiwa (joyPin == imechaguliwaLED) // Mole Whacked

{

AnalogWrite (iliyochaguliwaLED, 0);

//

// Ongeza nambari ya kucheza muziki / toni ya kupiga moLED !!

//

}

}

ramani ya ndaniXYtoPin (int xVal, int yVal, int butVal) {ikiwa ((xVal <100) na (yVal 400)) {kurudi chiniLED; }

vinginevyo ikiwa ((xVal> 900) na (yVal 400)) {kurudi juu; }

vinginevyo ikiwa ((xVal 400) na (yVal <100)) {kurudi kushotoLED; }

vinginevyo ikiwa ((xVal 400) na (yVal> 900)) {kurudi kulia; }

mwingine {kurudi -1; }

}

Hatua ya 4: Kanuni kuu ya Kitanzi

kitanzi batili () {

kwa (int i = 0; i <urefu; i ++)

{

ikiwa (bila mpangilio (0, 100)> 90) {iliyochaguliwaLED = anaPinMap (bila mpangilio (2, 6));}

// Ongeza nambari ya muziki wa mchezo hapa

// *** *** ***

//

}

int anaPinMap (int randNum) {

ikiwa (randNum == 2) {kurudi A2; }

vinginevyo ikiwa (randNum == 3) {kurudi A3; }

vinginevyo ikiwa (randNum == 4) {kurudi A4; }

vinginevyo ikiwa (randNum == 5) {kurudi A5; }

}

Hatua ya 5: Tayari Kujaribu

Hatua ya 6: Utekelezaji wa Arduino Nano kwa Mfano

Image
Image

Utekelezaji sawa uliofanywa na Arduino nano kwenye ubao wa mkate, bodi iliyotengenezwa kwa desturi na LED, vipinga na buzzer, na badiliko la shabaha ya XY.

Hatua ya 7: Mfano wa Mwisho uliofungwa Whack-a-MoLED kuwasilisha Mpendwa wako

Mfano wa Mwisho wa Vifurushi-vya-MoLED Kuwasilisha Mpendwa Wako!
Mfano wa Mwisho wa Vifurushi-vya-MoLED Kuwasilisha Mpendwa Wako!
Mfano wa Mwisho wa Vifurushi-vya-MoLED Kuwasilisha Mpendwa Wako!
Mfano wa Mwisho wa Vifurushi-vya-MoLED Kuwasilisha Mpendwa Wako!

Ugavi wa mfano:

Sanduku rahisi la kadibodi (Kiwango cha chini cha 4cmX6cmX3cm), vipande vya kadibodi vya ziada huko nyuma.

Karatasi ya mapambo ya kufunika chasisi (hiari)

Adhesive / gundi nyingi

Bodi ndogo ya mkate (hiari)

Arduino nano

PCB ndogo ya Universal

9V betri ya kuwezesha Arduino nano (unganisha kwenye Vin pin).

Kubadilisha SPDT

Vifaa vingine (LEDs, resistors, joystick, buzzer, waya) kama ilivyoelezwa katika hatua ya 1 hapo juu.

Ilipendekeza: