Արագ արձագանքման խաղ ՝ հեռավորության տարբերակ ՝ 5 քայլ (նկարներով)
Արագ արձագանքման խաղ ՝ հեռավորության տարբերակ ՝ 5 քայլ (նկարներով)
Anonim
Արագ արձագանքման խաղ. Հեռավորության տարբերակ
Արագ արձագանքման խաղ. Հեռավորության տարբերակ

Ողջու՜յն. Սա հրահանգ է, թե ինչպես ստեղծել խաղ, որը ստուգում է ինչպես ձեր արձագանքի ժամանակը, այնպես էլ հեռավորության զգացումը: Այս նախագիծը հիմնված է հին նախագծի վրա, որը ես արել եմ, որին մասնակցում էին երկու խաղացողներ, որոնք մրցում էին ՝ պարզելու, թե ով է ավելի արագ արձագանքել ՝ սեղմելով կոճակը, երբ լույսը կանաչում է: Այս մեկն ունի նույն նպատակը, բացի միայնակ խաղացողից, և ոչ թե անջատվող լույսից, խաղացողին տրվում է ժամանակ, որը թույլ է տալիս ձեռքը հեռավորության սենսորից որոշակի տարածություն հեռացնել:

Ինչպես Arduino- ի բոլոր նախագծերը, այնպես էլ այս խաղը կպահանջի բազմաթիվ էլեկտրական բաղադրիչներ Arduino- ի միացումում: Հիմնական բաղադրիչները, բացառությամբ էլեկտրագծերի և Arduino- ի, ներառում են տախտակ, սերվո շարժիչ, LCD էկրան, RGB LED և հեռավորության տվիչ:

Օգտագործելով https://abra-electronics.com- ը, գինը, առանց լարերի և Arduino- ի, կազմում է $ 32,12 CAD:

Քայլ 1: Քայլ 1: Հեռավորության ցուցիչ

Քայլ 1: Հեռավորության ցուցիչ
Քայլ 1: Հեռավորության ցուցիչ

Առաջին քայլն այն է, որ ուլտրաձայնային հեռավորության տվիչը տեղադրեք սեղանի վրա և միացնեք այն Arduino- ին: Սենսորի ճշգրիտ դիրքը իրականում նշանակություն չունի, բայց իդեալականորեն այն մոտ է եզրին, որպեսզի տեղ լինի մյուս բաղադրիչների համար, ինչպես ցույց է տրված վերևում նկարում: Սենսորի վրա կա չորս կապում; GND, VCC, TRIG և ECHO: GND- ը և VCC- ն համապատասխանաբար պետք է միացված լինեն գետնին և հոսանքի ռելսերին, իսկ մյուս երկու կապում `մետաղալարով, Arduino- ի երկու կապում: Երկու կապում, որոնք ես օգտագործեցի, 12 -ն էին ECHO- ի համար և 11 -ը `TRIG- ի համար: Օգտագործեք երկու այլ լարեր `էլեկտրահաղորդման էլեկտրահաղորդումը միացնելու և գետնին ամրացնելու համար` հոսանքի երկաթուղին միացնելով 5 Վ լարման, իսկ գրունտը `GND կապին:

Քայլ 2: Քայլ 2: Servo Motor

Քայլ 2: Servo Motor
Քայլ 2: Servo Motor

Հաջորդ քայլը servo շարժիչի տեղադրումն է: Այս նախագծում servo շարժիչը գործում է որպես ժամանակաչափ: Այն կսկսվի 1 աստիճանից, և այն ժամանակահատվածում, երբ օգտագործողը պետք է հեռացնի ձեռքերը, կշրջվի մինչև 180 աստիճան: Ես օգտագործեցի 2 վայրկյան այն ժամանակ, երբ օգտվողը պարզում է, թե որքան հեռու պետք է հեռու պահեն ձեռքերը, ուստի սերվոն 2 վայրկյանում պտտվում է 179 աստիճանով ՝ պտտվելով կարճ ընդմիջումներով: Servo շարժիչն ունի երեք լար; սովորաբար դեղին, կարմիր և շագանակագույն: Կարմիրը մտնում է էլեկտրահաղորդման գծի մեջ, որն արդեն միացված է 5 Վ լարման, իսկ դարչնագույնը `արդեն իսկ GND- ով միացված գետնին: Վերջնական մետաղալարը միանում է Arduino- ի քորոցին: Այս մեկի համար ընտրեցի թիվ 9 կապը: Այնուհետև ձեզ հարկավոր է մի կոնդենսատոր, որը միացնում է նույն երկաթուղին, որին միացված են servo շարժիչի հզորությունը և գրունտի լարերը, ինչպես երևում է վերևում նկարում:

Քայլ 3: Քայլ 3: RGB LED

Քայլ 3: RGB LED
Քայլ 3: RGB LED

Սրա մեջ LED- ի գործառույթն է հանդես գալ որպես միավորի սանդղակ: Երբ խաղացողի հաշիվը 0 -ի սահմաններում է, LED- ը կլինի սպիտակ, և այն ավելի կարմիր կդառնա, եթե խաղացողի հաշիվը իջնի և կանաչ, եթե խաղացողի հաշիվը բարձրանա: Այս LED- ն ունի չորս ոտք; կարմիր լույսի ոտք, կապույտ լույս, կանաչ լույս և մի ընդհանուր կաթոդ, որը կիսված է մյուս երեք ոտքերի միջև: Սովորական կաթոդը ՝ ամենաերկար ոտքը, միացված է էլեկտրահաղորդման գծին, այնպես որ այն ստանում է 5 վոլտ: Մնացած երեք գունավոր ոտքերին ամրացրեք 330 օմ ռեզիստոր, իսկ այդ դիմադրիչների մյուս ծայրերը ամրացրեք Arduino- ի PWM թվային կապում: Իմ օգտագործածները թվային կապում էին 3, 5 և 6 համապատասխանաբար կարմիր, կանաչ և կապույտ ոտքերի համար:

Քայլ 4: Քայլ 4: LCD

Քայլ 4: LCD
Քայլ 4: LCD

Վերջնական բաղադրիչը LCD- ն է, որը նշանակում է հեղուկ բյուրեղային էկրան: Դրա նպատակը խաղացողին պատմելն է իր ընթացիկ հաշիվը, ինչպես նաև այն հեռավորությունը, որն անհրաժեշտ է սենսորից ձեռքերը հեռացնելու համար: Այստեղ չորս կապում կա. GND, VCC, SDA և SCL: GND- ը և VCC- ն համապատասխանաբար միացված կլինեն հացահատիկի գետնին և հոսանքի ռելսերին: SDA կապը պետք է միացված լինի A4 անալոգային կապին, իսկ SCL կապը `անալոգային A5 պինին: Ի տարբերություն այլ բաղադրիչների, դուք պետք է միացնեք SDA և SCL կապերը A4 և A5:

Քայլ 5: Քայլ 5 ՝ օրենսգիրք

Այժմ, երբ մենք միացրել ենք բոլոր բաղադրիչները, կարող ենք գրել կոդը: Կոդի առաջին մասն այն է, որ անհրաժեշտ գրադարանները ներմուծվեն և հայտարարվեն մեր փոփոխականները, և թե որ կապում են բաղադրիչները միացված: Այս ծածկագրի համար մենք պետք է ներմուծենք Wire, LiquidCrystal_I2C և Servo գրադարանները:

#ներառում

#ներառում

#ներառում

Servo myServo;

int const trigPin = 11;

int const echoPin = 12;

int redPin = 3;

int greenPin = 5;

int bluePin = 6;

int հաշիվ = 0;

int tim = 500;

int ընթացիկ = պատահական (8, 16); // պատահական արժեք, որտեղ օգտագործողը պետք է ձեռքը հեռացնի սենսորից

LiquidCrystal_I2C LCD (0x27, 16, 2); // LCD կարգավորում

Այժմ մենք պետք է օգտագործենք void setup () ՝ մեր քորոցների տեսակները հայտարարելու և այլ անհրաժեշտ բաղադրիչներ տեղադրելու համար:

void setup () {myServo.attach (9); Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); lcd.init (); lcd. լուսարձակը (); lcd. սկսել (16, 2); lcd. հստակ (); // LCD կարգավորում}

Այժմ մենք պետք է կարգավորենք RGB LED կոդը ՝ օգտագործելով գործառույթ և PWM:

void setColor (int կարմիր, int կանաչ, int կապույտ) {

կարմիր = 255 - կարմիր;

կանաչ = 255 - կանաչ;

կապույտ = 255 - կապույտ;

analogWrite (redPin, կարմիր);

analogWrite (greenPin, կանաչ);

analogWrite (bluePin, կապույտ);

}

Այժմ մենք պետք է ավելացնենք դատարկ օղակը (): Այստեղ մենք ստեղծելու ենք պատահական ամբողջ թվեր և օգտագործելու ենք մի շարք if հայտարարություններ ՝ խաղացողի համար խաղը վերահսկելու համար: Ընթացիկ փոփոխականը, որը տեղադրված է վերևում, ընթացիկ հեռավորության համար է, որը խաղացողը պետք է հեռանա սենսորից:

Քանի որ void loop- ի () կոդը շատ երկար է, ես պատրաստվում եմ տեղադրել այն փաստաթղթի հղումը, որն ունի այդ ծածկագիրը.

docs.google.com/document/d/1DufS0wuX0N6gpv…

Վերջապես, մենք պետք է իրական հաշվարկներ կատարենք ՝ ուլտրաձայնային հեռավորության սենսորի արժեքները դյույմ փոխարկելու համար: Ուլտրաձայնային հեռավորության սենսորը ուղղակիորեն չի չափում հեռավորությունը. այն արձակում է ձայնը և գրանցում այն ժամանակը, որն անհրաժեշտ է սենսորին ձայնը հետ ստանալու համար այն առարկայից, որտեղից այն դուրս է ցատկում:

երկար միկրովայրկյաններ TooInches (երկար միկրովայրկյաններ) {

վերադառնալ միկրովայրկյաններ / 74/2;

}

Այժմ մենք միացնում ենք լարային Arduino- ն համակարգչին կոդով, կարգավորում ենք նավահանգիստները և գործարկում այն: Այս խաղի երկու ռեժիմ կա: Կամ դուք կարող եք օգտագործել միայն LCD էկրանը, servo շարժիչը, սենսորը և RGB LED- ը, և դուք գիտեք միայն այն հեռավորությունը, որը պետք է լինի սենսորից, որն ավելի դժվար ռեժիմն է: Ավելի հեշտ ռեժիմը ներառում է սերիական մոնիտորի օգտագործումը Գործիքներ> Սերիալ մոնիտոր, որը ամեն վայրկյան կտեղեկացնի ձեզ, թե որքան հեռու եք սենսորից, այնպես որ կարող եք անհրաժեշտ ճշգրտումներ կատարել:

Շնորհակալություն կարդալու համար:

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