Բովանդակություն:

Whack-a-moLED: 7 քայլ
Whack-a-moLED: 7 քայլ

Video: Whack-a-moLED: 7 քայլ

Video: Whack-a-moLED: 7 քայլ
Video: Stress, Portrait of a Killer - Full Documentary (2008) 2024, Նոյեմբեր
Anonim
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!

Tinkercad նախագծեր »

Սա դասական Whack-a-Mole Game- ի LED տարբերակն է:

Հիմնականում 4 LED- ից պատահական LED է լուսավորվում ՝ խոռոչից դուրս նայող խալի փոխարեն, և նվագարկիչը LED- ն անջատում է ջոյսթիկով ՝ խալը քայքայելու փոխարեն:

Պարագաներ

Arduino Uno/Nano կամ ցանկացած տիպի տախտակ

4 LED և համապատասխան ընթացիկ սահմանափակող ռեզիստորներ:

Joystick մոդուլ X, Y ելքերով

Ակտիվ ազդանշան (ըստ ցանկության)

Jumper լարերը.. բավական է կարգաբերելու համար:

Քայլ 1: Միացրեք շղթան

Կապեք շղթան
Կապեք շղթան

Միացրեք Arduino Uno տախտակը ջոյսթիկի մոդուլին ՝ միացնելով 2 անալոգային ներդիրներ ջոյսթիկի X Y ելքերին:

4 լուսադիոդներ, որոնք ռեզիստորների միջոցով պետք է միացվեն 4 թվային կամ անալոգային ելքային կապում:

Ակտիվ ազդանշանը միացված կլինի թվային ելքային քորոցին

Քայլ 2. Կոդերի տեղադրման կոդ

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

int ձախ LED = A2, աջ LED = A3, վերև LED = A4, ներքև LED = A5;

int ընտրված LED = 0; // Կարող է լինել A2, A3, A4 կամ A5- ից մեկը

void setup () {

pinMode (xPin, INPUT);

pinMode (yPin, INPUT);

pinMode (ձախ LED, OUTPUT);

pinMode (աջ LED, OUTPUT);

pinMode (topLED, OUTPUT); pinMode (ներքևի LED, OUTPUT);

pinMode (joyPin, OUTPUT);

pinMode (buzzerPin, OUTPUT);

}

Քայլ 3. Codeոյստիկ զննումների կոդ

void joystickSenseRoutine ()

{

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

joyPin = mapXYtoPin (xVal, yVal, butVal);

analogWrite (ընտրված LED, 1024);

if (ընտրված LED! = ձախ LED) {analogWrite (ձախ LED, 0); } if (selectedLED! = rightLED) {analogWrite (rightLED, 0); }

if (ընտրված LED! = topLED) {analogWrite (վերև LED, 0); }

if (ընտրված LED! = ներքևի LED) {analogWrite (ներքևի LED, 0); }

եթե (joyPin == ընտրվածLED) // Խլուրդ ջախջախված

{

analogWrite (ընտրված LED, 0);

//

// Ավելացրեք ծածկագիր ՝ երաժշտությունը նվագարկելու/հնչեցնելու համար moLED !!

//

}

}

int mapXYtoPin (int xVal, int yVal, int butVal) {if ((xVal <100) և (yVal 400)) {վերադարձ ներքև LED; }

այլապես, եթե ((xVal> 900) և (yVal 400)) {վերադառնալ վերև LED; }

այլապես, եթե ((xVal 400) և (yVal <100)) {վերադարձնել ձախ LED; }

այլապես, եթե ((xVal 400) և (yVal> 900)) {վերադարձի իրավունք LED; }

այլ {վերադարձ -1; }

}

Քայլ 4. Հիմնական հանգույցի սովորական ծածկագիր

դատարկ շրջան () {

համար (int i = 0; i <երկարություն; i ++)

{

if (պատահական (0, 100)> 90) {selectedLED = anaPinMap (պատահական (2, 6));}

// Ավելացրեք այստեղ խաղի երաժշտության կոդը

// *** *** ***

//

}

int anaPinMap (int randNum) {

if (randNum == 2) {վերադարձ A2; }

այլապես եթե (randNum == 3) {վերադարձ A3; }

այլապես եթե (randNum == 4) {վերադարձ A4; }

այլապես եթե (randNum == 5) {վերադարձ A5; }

}

Քայլ 5: Պատրաստ է փորձարկել:

Քայլ 6. Arduino Nano- ի նախատիպի իրականացում

Image
Image

Arduino nano- ի հետ նույն իրականացումը կատարվել է տախտակի վրա, LED- ներով, ռեզիստորներով և ազդանշանով պատրաստված տախտակ և X-Y ջոիստիկ անջատիչ:

Քայլ 7: Վերջնական փաթեթավորված Whack-a-MoLED նախատիպը `ձեր սիրելիին ներկայացնելու համար:

Վերջնական փաթեթավորված Whack-a-MoLED նախատիպը `ձեր սիրելիին ներկայացնելու համար
Վերջնական փաթեթավորված Whack-a-MoLED նախատիպը `ձեր սիրելիին ներկայացնելու համար
Վերջնական փաթեթավորված Whack-a-MoLED նախատիպը `ձեր սիրելիին ներկայացնելու համար
Վերջնական փաթեթավորված Whack-a-MoLED նախատիպը `ձեր սիրելիին ներկայացնելու համար

Նախատիպի պարագաներ.

Պարզ ստվարաթղթե տուփ (նվազագույնը 4 սմ x 6 սմ x 3 սմ), լրացուցիչ ստվարաթղթե կտորներ աջակցության համար:

Շասսիի ծածկման դեկորատիվ թուղթ (ըստ ցանկության)

Սոսինձ/բազմաֆունկցիոնալ սոսինձ

Մինի տախտակ (ըստ ցանկության)

Արդուինո նանո

Փոքր ունիվերսալ PCB

9V մարտկոց Arduino nano- ի սնուցման համար (միացեք Vin քորոցին):

SPDT անջատիչ

Մնացած պարագաները (լուսադիոդներ, դիմադրիչներ, ջոյսթիք, ազդանշան, լարեր), ինչպես նկարագրված է վերը նշված 1 -ին քայլում:

Խորհուրդ ենք տալիս: