Բովանդակություն:
- Քայլ 1: Այն, ինչ ձեզ հարկավոր է այս նախագծում
- Քայլ 2: Շղթայի դիագրամ
- Քայլ 3. Arduino UNO ծրագրավորում
- Քայլ 4: Հիանալի
Video: Ինչպես կատարել DIY Arduino- ի խոչընդոտ ՝ տանը խուսափելով ռոբոտից. 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Բարև տղերք, այս հրահանգում դուք ռոբոտից խուսափելու խոչընդոտ եք ստեղծում: Այս հրահանգը ներառում է ուլտրաձայնային տվիչով ռոբոտի կառուցում, որը կարող է հայտնաբերել մոտակա օբյեկտները և փոխել դրանց ուղղությունը ՝ այդ օբյեկտներից խուսափելու համար: Ուլտրաձայնային տվիչը կցված կլինի servo շարժիչին, որն անընդհատ սկանավորում է ձախ և աջ ՝ իր ճանապարհին օբյեկտներ փնտրելով:
Այսպիսով, առանց ավելորդ խոսակցությունների, եկեք սկսենք:
Քայլ 1: Այն, ինչ ձեզ հարկավոր է այս նախագծում
Ահա մասերի ցուցակը.
1) Arduino Uno
2) Motor Driver Shield
3) շարժակների շարժիչ, շրջանակ և անիվներ
4) Servo Motor
5) Ուլտրաձայնային տվիչ
6) Li-ion մարտկոց (2x)
7) Մարտկոցի կրիչ
8) Արական և իգական ցատկող մետաղալար
9) Sոդման երկաթ
10) լիցքավորիչ
Քայլ 2: Շղթայի դիագրամ
Աշխատանքային:
Նախքան նախագծի վրա աշխատելը, կարևոր է հասկանալ, թե ինչպես է աշխատում ուլտրաձայնային տվիչը: Ուլտրաձայնային տվիչի աշխատանքի հիմնական սկզբունքը հետևյալն է.
Օգտագործելով արտաքին ազդանշանային ազդանշան, ուլտրաձայնային տվիչի Trig կապը տրամաբանական բարձր է առնվազն 10μs- ի համար: Հաղորդիչի մոդուլից հնչյունային պայթյուն է ուղարկվում: Այն բաղկացած է 40 ԿՀց -ի 8 իմպուլսներից:
Ազդանշանները վերադառնում են մակերեսին հարվածելուց հետո, և ստացողը հայտնաբերում է այս ազդանշանը: Echo քորոցը բարձր է ազդանշանը ուղարկելու և այն ստանալու պահից: Այս ժամանակը կարող է փոխակերպվել հեռավորության `օգտագործելով համապատասխան հաշվարկներ:
Այս նախագծի նպատակն է իրականացնել ուլտրաձայնային տվիչի և Arduino- ի միջոցով ռոբոտից խուսափելու խոչընդոտը: Բոլոր կապերը կատարվում են սխեմայի համաձայն: Նախագծի աշխատանքը բացատրվում է ստորև:
Երբ ռոբոտը միացված է, և՛ ռոբոտի շարժիչները կաշխատեն նորմալ, և՛ ռոբոտը կշարժվի առաջ: Այս ընթացքում ուլտրաձայնային տվիչը անընդհատ հաշվարկում է ռոբոտի և ռեֆլեկտիվ մակերևույթի միջև հեռավորությունը:
Այս տեղեկատվությունը մշակվում է Arduino- ի կողմից: Եթե ռոբոտի և խոչընդոտի միջև հեռավորությունը 15 սմ -ից պակաս է, ապա Ռոբոտը կանգ է առնում և սկանավորում ձախ և աջ ուղղություններով `նոր հեռավորության համար` օգտագործելով Servo Motor և ուլտրաձայնային տվիչ: Եթե ձախ կողմի հեռավորությունն ավելի մեծ է, քան աջ կողմը, ռոբոտը կպատրաստվի ձախ շրջադարձի: Բայց սկզբում այն մի փոքր հետ է պահվում, այնուհետև ակտիվացնում է Ձախ անիվի շարժիչը հակառակ ուղղությամբ:
Նմանապես, եթե աջ հեռավորությունը ավելի է, քան ձախ հեռավորությունը, Ռոբոտը պատրաստում է աջ պտույտը: Այս գործընթացը շարունակվում է ընդմիշտ, և ռոբոտը շարունակում է շարժվել առանց որևէ խոչընդոտի հարվածելու:
Քայլ 3. Arduino UNO ծրագրավորում
#ներառում
#ներառում
#ներառում
# սահմանել TRIG_PIN A1
# սահմանել ECHO_PIN A0
# սահմանել MAX_DISTANCE 200
# սահմանել MAX_SPEED 255 // սահմանում է DC շարժիչների արագություն
# սահմանել MAX_SPEED_OFFSET 20
NewPing սոնար (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DC Շարժիչ 3 (3, MOTOR34_1KHZ);
AF_DC Շարժիչ 4 (4, MOTOR34_1KHZ); Servo myservo;
բուլյան գնում էԱռաջ = կեղծ;
int հեռավորությունը = 100; int speedSet = 0;
void setup () {
myservo.attach (10);
myservo.write (115); ուշացում (2000); հեռավորություն = readPing (); ուշացում (100); հեռավորություն = readPing (); ուշացում (100); հեռավորություն = readPing (); ուշացում (100); հեռավորություն = readPing (); ուշացում (100); }
դատարկ շրջան () {
int հեռավորությունը R = 0; int հեռավորություն L = 0; ուշացում (40);
if (հեռավորություն <= 15) {moveStop (); ուշացում (100); moveBackward (); ուշացում (300); moveStop (); ուշացում (200); distanceR = lookRight (); ուշացում (200); distanceL = lookLeft (); ուշացում (200);
if (distanceR> = distanceL) {
turnRight (); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } հեռավորություն = կարդալ Ping (); }
int lookRight () {
myservo.write (50); ուշացում (500); int հեռավորություն = readPing (); ուշացում (100); myservo.write (115); վերադարձի հեռավորություն; }
int lookLeft () {
myservo.write (170); ուշացում (500); int հեռավորություն = readPing (); ուշացում (100); myservo.write (115); վերադարձի հեռավորություն; ուշացում (100); }
int readPing () {
ուշացում (70); int cm = sonar.ping_cm (); եթե (սմ == 0) {սմ = 250; } վերադարձ սմ; }
void moveStop () {
motor3.run (ԹՈLEԱՐԿՈՄ);
motor4.run (ԹՈLEԱՐԿՈՄ); }
void moveForward () {
եթե (! գնում է առաջ) {
գնում է առաջ = ճշմարիտ;
motor3.run (ԱՌԱARD);
motor4.run (ԱՌԱARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // դանդաղ բարձրացրեք արագությունը, որպեսզի մարտկոցները շատ արագ չբեռնելուց {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); ուշացում (5); }}}
void moveBackward () {
գնում է առաջ = կեղծ;
motor3.run (BACKWARD);
motor4.run (BACKWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // դանդաղ բարձրացրեք արագությունը, որպեսզի մարտկոցները շատ արագ չբեռնելուց {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); ուշացում (5); }}
void turnRight () {
motor3.run (ԱՌԱARD);
motor4.run (BACKWARD); ուշացում (500);
motor3.run (ԱՌԱARD);
motor4.run (ԱՌԱARD); }
void turnLeft () {
motor3.run (BACKWARD);
motor4.run (ԱՌԱARD); ուշացում (500);
motor3.run (ԱՌԱARD);
motor4.run (ԱՌԱARD); }
1) Ներբեռնեք և տեղադրեք Arduino Desktop IDE- ն
- պատուհաններ -
- Mac OS X -
- Linux -
2) Ներբեռնեք և տեղադրեք NewPing գրադարանը (Ուլտրաձայնային տվիչների գործառույթի գրադարան) ֆայլը Arduino գրադարանների պանակում:
- Ներբեռնեք NewPing.rar- ը ստորև
- Քաշեք այն դեպի ճանապարհ ՝ C: / Arduino / գրադարաններ
3) Վերբեռնեք կոդը Arduino տախտակին USB մալուխի միջոցով
Ներբեռնման կոդը ՝
Քայլ 4: Հիանալի
Այժմ ձեր ռոբոտը պատրաստ է խուսափել ցանկացած խոչընդոտից…
Ուրախ կլինեմ պատասխանել ձեր բոլոր հարցերին
Էլ. Փոստ ՝ [email protected]
Կայք:
Բաժանորդագրվեք իմ YouTube ալիքին ՝
Instagram ՝
Ֆեյսբուք ՝
Շնորհակալություն:)
Խորհուրդ ենք տալիս:
Ինչպես կատարել Arduino- ի վրա հիմնված եզր ՝ խուսափելով ռոբոտից. 4 քայլ
Ինչպես կատարել Arduino- ի վրա հիմնված եզր ՝ խուսափելով ռոբոտից. Եկեք պատրաստենք լիովին ինքնավար ռոբոտ ՝ օգտագործելով Arduino և IR սենսորներ: Այն ուսումնասիրում է սեղանի մակերեսը ՝ առանց ընկնելու: Դիտեք տեսանյութ ՝ ավելին
Ինչպես խոչընդոտներ ստեղծել ՝ խուսափելով ռոբոտից Arduino- ի միջոցով. 5 քայլ
Ինչպես խոչընդոտ դարձնել ռոբոտին Arduino- ի միջոցով. Այս ուսուցանվող դասում ես ձեզ կսովորեցնեմ, թե ինչպես խոչընդոտներ ստեղծել Arduino- ի հետ աշխատող ռոբոտից: Դուք պետք է ծանոթ լինեք Arduino- ին: Arduino- ն վերահսկիչ տախտակ է, որն օգտագործում է atmega միկրոկոնտրոլերը: Դուք կարող եք օգտագործել Arduino- ի ցանկացած տարբերակ, բայց ես
TIVA- ի վրա հիմնված խոչընդոտ ՝ խուսափելով ռոբոտից. 7 քայլ
TIVA- ի վրա հիմնված խոչընդոտ ՝ խուսափելով ռոբոտից. Հուսով եմ, որ դուք կվայելեք այս մեկը
Ardublock խոչընդոտ ՝ խուսափելով ռոբոտից. 7 քայլ (նկարներով)
Ardublock- ի խոչընդոտը `խուսափելով ռոբոտից. Ես խստորեն խորհուրդ եմ տալիս ստուգել այն: Եկեք սկսենք
Ինչպես կատարել OAWR (խոչընդոտ ՝ խուսափելով քայլող ռոբոտից). 7 քայլ (նկարներով)
Ինչպես պատրաստել OAWR (խոչընդոտներից խուսափող քայլող ռոբոտ). Բայց ինչ հաճելի է խաղալիք գնելը, երբ փոխարենը կարող ես սկսել շարժիչով, պլաստմասե թիթեղով և պտուտակների կույտով և պրոֆեսիոնալով