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

ADԱՆԱՊԱՐՀ ՝ 5 քայլ
ADԱՆԱՊԱՐՀ ՝ 5 քայլ

Video: ADԱՆԱՊԱՐՀ ՝ 5 քայլ

Video: ADԱՆԱՊԱՐՀ ՝ 5 քայլ
Video: Մինի բեռնատար երեկոյան պատվեր || Գիշերային զբոսանք քաղաքի ծայրամասում 2024, Նոյեմբեր
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner- ը փոքր ավտոմատացված մեքենա է, որն ունի խմիչքների տարաները ծարավ օգտագործողներին տեղափոխելու գործառույթ:

Ինչպես է դա աշխատում? Տուփը տեղադրված է մեքենայի վերին հիմքում, և տարայի քաշը մի փոքր կոճակ է բացում, որը տրանսպորտին հայտնում է, որ պատրաստ է աշխատել: Ինքն իրեն առաջնորդելու համար Roadrunner- ը գետնին հետևում է սև գծի տեսքով ճանապարհին, որը ցույց է տալիս, թե ուր պետք է նա գնա, և ֆոտոսենսորների օգտագործման շնորհիվ նա կարողանում է հայտնաբերել, թե երբ է նա դուրս գալիս ՝ ուղղելով ուղղությունը:, այս կերպ մնալու համար, միշտ ուղու ներսում: Երբ մեքենան հասնում է օգտագործողին, այն վերցնում է խմիչքը, որը փոքր տրանսպորտը կանգնեցնում է նույն տեղում: Նա չի վերահաշվարկի իր երթը, քանի դեռ օգտվողը չի դնում պահածոն դրա վրա, որպեսզի վերադառնա ելման կետ և ավարտի իր աշխատանքը:

Քայլ 1: Գործիքներ և նյութեր

Գործիքներ և նյութեր
Գործիքներ և նյութեր
Գործիքներ և նյութեր
Գործիքներ և նյութեր

Քայլ 2: Սարքավորման հավաքում

Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում
Սարքավորումների հավաքում

1. ՄԱՐՄԻՆ

Մարմնի համար մենք օգտագործեցինք ալյումինե ափսե, որը կտրեցինք և թեքեցինք մեր ուզած ձևով: Մենք նաև պատրաստեցինք բոլոր անցքերը, որոնք կպահանջվեն պտուտակների համար:

2. Անիվներ

Մենք օգտագործեցինք Mecano խաղից 2 անիվ, որոնք հիանալի տեղավորվում էին մեր ռոբոտի վրա: Սերվոները անցնում են պտուտակների օգնությամբ միացված ափսեի տակ: Առջևի անիվի համար մենք օգտագործեցինք «անվճար» անիվ, այնպես որ այն կարող է հեշտությամբ գնալ ցանկացած ուղղությամբ:

3. ԼՈOTՍԱՆԿԱՐՆԵՐ

RDL ֆոտոսենսորների համար մենք օգտագործում էինք տպատախտակ և այն միացնում էինք դրան, այն ներառում է դիմադրություն, LDR, դրական, բացասական և ազդանշան:

4. ARDUINO BOARD

Պտուտակներ օգտագործելով, մենք ամրացրեցինք Arduino տախտակը ափսեի վրա: Հետո մենք պարզապես միացրեցինք ամբողջ միացումը դրան: Տախտակը մատակարարելու համար մենք օգտագործեցինք 2 9V մարտկոց, որոնք մենք միավորել և միացրել ենք Arduino- ին:

5. ՎԵՐP ԱՇԽԱՐՀ

Վերին ափսեի համար մենք օգտագործել ենք լազերային կտրող մեքենա `PMMA- ն կտրելու համար: Այս ձևը մենք նախագծել ենք AutoCad- ով: Այն բաղկացած է մեծ ափսեից, 3 շրջանաձև օղակներից և օղակների մեջ տեղավորվող շրջանաձև կտորից: Մենք ափսեին տարածք տվեցինք, որպեսզի կարողանանք կոճակ տեղավորել:

Քայլ 3: Էլեկտրական միացումներ

Էլեկտրական միացումներ
Էլեկտրական միացումներ

1. Սերվոմոտորների միացում

Servomotors- ը բաղկացած է երեք մալուխից. մեկ դեղին կամ նարնջագույն `ազդանշանի համար, կարմիր` հզորության համար (Vcc) և սև կամ շագանակագույն `գետնին (GND): Կարմիրը և շագանակագույնը ամրացված են Arduino- ի համապատասխան կապումներին (5V և GND): Մեկ servo- ն միացված է PWM կապին 10 -ին, իսկ մյուսը `PWM- ի 11 -ին:

2. Միացման կոճակ

Էլեկտրոնային կոճակները աշխատում են որոշակիորեն յուրահատուկ կերպով. թույլ տվեք լարումը անկյունագծով անցնել, այսինքն, եթե մենք ունենք չորս կապում, մենք պետք է մուտքն ու ելքը միացնենք միայն երկու կապում ՝ 1-4 կամ 2-3 աշխատելու համար: Օրինակ, եթե մենք ընտրում ենք 1-4 կապում, մենք գետինը (GND) կկապենք 4-ի կապակցին, իսկ ելքը ՝ PWM 9 քորոցին և, իր հերթին, 1kOhm դիմադրության հետ միասին, միացրեք այն 5 Վ-ին (Vcc):

3. Ֆոտոսենսորների միացում

Ֆոտոսենսորները միացնելու համար մենք պետք է ոտքերից մեկն ուղղակիորեն տեղադրենք Vcc պաշարին, իսկ մյուսը միաժամանակ միացրեք այն անալոգային քորոցին (այս դեպքում `A0 և A1 կապումներին) և գետնին GND- ի հետ միասին: դիմադրություն 1 կՕմ:

Նշում:

Դուք կարող եք փոքր միակցիչներ միացնել լարերին, եթե լարերը ուղղակիորեն չեն տեղավորվում Arduino- ի մեջ կամ օգտագործել նախատախտակը `տարբեր կապերը հեշտացնելու համար: Այս նախագծում մենք օգտագործել ենք միացնող շերտեր տարբեր հոդերի համար:

Քայլ 4. Arduino ծրագրավորում

Arduino ծրագրավորում
Arduino ծրագրավորում
Arduino ծրագրավորում
Arduino ծրագրավորում

ԿՈԴ

#ներառել Servo myservoL;

Servo myservoR;

int inPin = 7;

int buttonVal = 1;

void setup () {

// ERԱՌԱՅՈOTԹՅՈՆՆԵՐ

myservoL.attach (10);

myservoR.attach (11);

Serial.begin (9600); }

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

int LDR_L = analogRead (A2);

int LDR_R = analogRead (A1);

buttonVal = digitalRead (inPin);

// ՓԱԹԵԹ ՁԱՅՆ

եթե (LDR_L> 590 && buttonVal == 0) {

myservoL.write (180);

//Serial.println(LDR_L); }

ուրիշ {

myservoL. գրել (92);

//Serial.println(LDR_L);

}

// Փաթեթի իրավունք

եթե (LDR_R> 750 && buttonVal == 0) {

myservoR.write (-270);

//Serial.println(LDR_R); }

ուրիշ {

myservoR.write (92);

//Serial.println(LDR_R); }

}

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