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

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

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

Video: Արագ արձագանքման խաղ ՝ հեռավորության տարբերակ ՝ 5 քայլ (նկարներով)
Video: 8 բան, որ տղամարդիկ անում են ՄԻԱՅՆ այն կնոջ հետ, ում սիրում են 2024, Նոյեմբեր
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- ը, և դուք գիտեք միայն այն հեռավորությունը, որը պետք է լինի սենսորից, որն ավելի դժվար ռեժիմն է: Ավելի հեշտ ռեժիմը ներառում է սերիական մոնիտորի օգտագործումը Գործիքներ> Սերիալ մոնիտոր, որը ամեն վայրկյան կտեղեկացնի ձեզ, թե որքան հեռու եք սենսորից, այնպես որ կարող եք անհրաժեշտ ճշգրտումներ կատարել:

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

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