
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48


Ինչպես կառուցել խոչընդոտ ՝ խուսափելով ռոբոտից
Քայլ 1: Սև արկղ

առաջին քայլը ես օգտագործեցի սև արկղը որպես հիմք իմ ռոբոտի համար:
Քայլ 2: Arduino

Arduino- ն ամբողջ համակարգի ուղեղն է և կազմակերպում է մեր շարժիչները
Քայլ 3. Arduino- ի միացում Blackbox- ին

Արդուինոն ամրացրեցի սև արկղին ՝ օգտագործելով տաք սոսինձ
Քայլ 4: Ուլտրաձայնային տվիչ

Ռոբոտ պատրաստելու համար, որը կարող է ինքնուրույն շարժվել, մեզ անհրաժեշտ է ինչ -որ մուտք, սենսոր, որը համապատասխանում է մեր նպատակին: Ուլտրաձայնային տվիչը գործիք է, որը չափում է օբյեկտից հեռավորությունը `օգտագործելով ուլտրաձայնային ձայնային ալիքներ: Ուլտրաձայնային տվիչը փոխարկիչ է օգտագործում ՝ ուղարկելու և ստանալու ուլտրաձայնային իմպուլսներ, որոնք փոխանցում են օբյեկտի հարևանության մասին տեղեկատվությունը:
Քայլ 5. Սեղանի սենսորի միացում Arduino- ին


Ես մետաղալարեր օգտագործեցի ՝ արկղի և արդուինոյի միջև կապը տղամարդկացնելու համար:
Ուշադրություն դարձրեք, որ ձեր պինգ սենսորը կարող է ունենալ քորոցի այլ դասավորություն, բայց այն պետք է ունենա լարման քորոց, գրունտային քորոց, եռակցման քորոց և արձագանքման քորոց:
Քայլ 6: Շարժիչային վահան

Arduino- ի տախտակները չեն կարող ինքնուրույն վերահսկել DC շարժիչները, քանի որ դրանց արտադրած հոսանքները չափազանց ցածր են: Այս խնդիրը լուծելու համար մենք օգտագործում ենք շարժական վահաններ: Շարժիչային վահանը ունի 2 ալիք, ինչը թույլ է տալիս վերահսկել երկու DC շարժիչ կամ 1 քայլող շարժիչ: … Դիմելով այս կապումներին, դուք կարող եք ընտրել շարժիչային ալիք, որը պետք է սկսի, նշեք շարժիչի ուղղությունը (բևեռականություն), սահմանեք շարժիչի արագությունը (PWM), կանգնեցրեք և գործարկեք շարժիչը և վերահսկեք յուրաքանչյուր ալիքի ընթացիկ կլանումը:
Քայլ 7: Motor Shield- ը Arduino- ին միացնելը

Պարզապես ամրացրեք շարժիչի վահանը arduino- ին `սենսորային լարերը սեղմված
Քայլ 8: 4 շարժիչներն ու մարտկոցները միացնել վահանին

Յուրաքանչյուր Motor Shield ունի (առնվազն) երկու ալիք ՝ մեկը շարժիչների համար, և մեկը ՝ էներգիայի աղբյուրի, միացրեք դրանք միմյանց նկատմամբ
Քայլ 9. Programրագրեք ռոբոտին
գործարկել այս կոդը
#ներառել #ներառել
NewPing սոնար (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DC Շարժիչ 1 (1, MOTOR12_1KHZ); AF_DC Շարժիչ 2 (2, MOTOR12_1KHZ); AF_DC Շարժիչ 3 (3, MOTOR34_1KHZ); AF_DC Շարժիչ 4 (4, MOTOR34_1KHZ); Servo myservo;
#սահմանել TRIG_PIN A2 #սահմանել ECHO_PIN A3 #սահմանել MAX_DISTANCE 150 #սահմանել MAX_SPEED 100 #սահմանել MAX_SPEED_OFFSET 10
բուլյան գնում էԱռաջ = կեղծ; int հեռավորությունը = 80; int speedSet = 0;
void setup () {
myservo.attach (10); myservo.write (115); ուշացում (2000); հեռավորություն = readPing (); ուշացում (100); հեռավորություն = readPing (); ուշացում (100); հեռավորություն = readPing (); ուշացում (100); հեռավորություն = readPing (); ուշացում (100); }
void loop () {int distanceR = 0; int հեռավորություն L = 0; ուշացում (40); if (հեռավորություն <= 15) {moveStop (); ուշացում (50); moveBackward (); ուշացում (150); moveStop (); ուշացում (100); distanceR = lookRight (); ուշացում (100); distanceL = lookLeft (); ուշացում (100);
if (distanceR> = distanceL) {turnRight (); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } հեռավորություն = կարդալ Ping (); }
int lookRight () {myservo.write (50); ուշացում (250); int հեռավորություն = readPing (); ուշացում (50); myservo.write (100); վերադարձի հեռավորություն; }
int lookLeft () {myservo.write (120); ուշացում (300); int հեռավորություն = readPing (); ուշացում (100); myservo.write (115); վերադարձի հեռավորություն; ուշացում (100); }
int readPing () {հետաձգում (70); int cm = sonar.ping_cm (); եթե (սմ == 0) {սմ = 200; } վերադարձ սմ; }
void moveStop () {motor1.run (ԹՈLEԱՐԿՈՄ); motor2.run (ԹՈLEԱՐԿՈՄ); motor3.run (ԹՈLEԱՐԿՈՄ); motor4.run (ԹՈLEԱՐԿՈՄ); } void moveForward () {
եթե (! goForward) {goForward = true; motor1.run (ԱՌԱARD); motor2.run (ԱՌԱARD); motor3.run (ԱՌԱARD); motor4.run (ԱՌԱARD); համար (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); ուշացում (5); }}}
void moveBackward () {goForward = false; motor1.run (BACKWARD); motor2.run (Ետև); motor3.run (BACKWARD); motor4.run (BACKWARD); համար (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) {motor1.setSpeed (speedSet); motor2.setSpeed (speedSet); motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); ուշացում (5); } void turnLeft () {motor1.run (BACKWARD); motor2.run (Ետև); motor3.run (ԱՌԱARD); motor4.run (ԱՌԱARD); ուշացում (500); motor1.run (ԱՌԱARD); motor2.run (ԱՌԱARD); motor3.run (ԱՌԱARD); motor4.run (ԱՌԱARD); }
void turnLeft () {motor1.run (BACKWARD); motor2.run (Ետև); motor3.run (ԱՌԱARD); motor4.run (ԱՌԱARD); ուշացում (500); motor1.run (ԱՌԱARD); motor2.run (ԱՌԱARD); motor3.run (ԱՌԱARD); motor4.run (ԱՌԱARD); }
Խորհուրդ ենք տալիս:
Լեգո ռոբոտից խուսափելու խոչընդոտ. 8 քայլ (նկարներով)

ԼԵԳՈ ռոբոտի խոչընդոտներից խուսափելը. Մենք սիրում ենք LEGO- ն և սիրում ենք Crazy Circuits- ը, ուստի ցանկացանք դրանք համատեղել մի պարզ և զվարճալի ռոբոտի հետ, որը կարող է խուսափել պատերի և այլ առարկաների բախումից: Մենք ձեզ ցույց կտանք, թե ինչպես ենք մենք կառուցել մերը և կներկայացնենք անհրաժեշտ հիմքերը, որպեսզի կարողանաք ինքներդ կառուցել:
Dexter- ի հետ Rover- ից խուսափելու խոչընդոտ. 4 քայլ

Dexter- ի հետ Rover- ից խուսափելը խոչընդոտ է. Եթե դուք նորեկ եք Dexter համայնքում, դիմեք https://www.instructables.com/id/Getting-Started-With-Dexter/ Այս նախագծում մենք մշակում ենք խոչընդոտ, որը խուսափում է Rover- ից ՝ օգտագործելով մեր Dexter տախտակը: և ուլտրաձայնային տվիչ
DIY Arduino- ի խոչընդոտը տանը մեքենայից խուսափելը. 5 քայլ

DIY Arduino- ի խոչընդոտը տանը մեքենայից խուսափելը. Այս հոդվածում ես ձեզ ցույց կտամ, թե ինչպես անել Arduino- ի խոչընդոտը տանը մեքենայից խուսափելը
Arduino- ի խոչընդոտ `խուսափելով շարժիչով աշխատող մեքենայից. 7 քայլ

Arduino- ի խոչընդոտ `խուսափելով շարժիչով աշխատող մեքենայից. Բարև: և բարի գալուստ ձեռնարկ, թե ինչպես կարելի է կառուցել Arduino- ի խոչընդոտ մեքենայից: Մենք կարող ենք սկսել ՝ ձեռք բերելով այս ծրագրի համար անհրաժեշտ նյութեր և համոզվեք, որ զվարճացեք: ՆՅՈԹԵՐ. Կինից արական լարեր լարերի հեռավորության տվիչ
Ռոբոտից խուսափելու Arduino խոչընդոտ (բարելավման տարբերակ). 7 քայլ (նկարներով)

Ռոբոտին խոչընդոտող խոչընդոտներից խուսափելը (բարելավման տարբերակ). Այս գրառումը առաջին անգամ հրապարակվում է այս կայքում ՝ https://truescience22.blogspot.com/2018/01/arduino-obstacle-avoiding-robotupgrade.html Բարև ընկերներ, այսօր ես պատրաստեցի Arduino- ի բարելավված տարբերակը Robot- ից խուսափող խոչընդոտ: Սա պարզ է, բայց որոշ առանձնահատկություն, և դուք