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

Arduino- ի միջոցով ժեստերով վերահսկվող ռոբոտ. 7 քայլ
Arduino- ի միջոցով ժեստերով վերահսկվող ռոբոտ. 7 քայլ

Video: Arduino- ի միջոցով ժեստերով վերահսկվող ռոբոտ. 7 քայլ

Video: Arduino- ի միջոցով ժեստերով վերահսկվող ռոբոտ. 7 քայլ
Video: Arduino-ի միջոցով ուղեփակոցի պատրաստում 2024, Նոյեմբեր
Anonim
Duեստերով վերահսկվող ռոբոտ ՝ օգտագործելով Arduino- ն
Duեստերով վերահսկվող ռոբոտ ՝ օգտագործելով Arduino- ն

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

Այսօրվա հոդվածում մենք պատրաստվում ենք ժեստերով կառավարվող ռոբոտ կառուցել ՝ օգտագործելով Arduino, MPU6050 արագացուցիչ, nRF24L01 հաղորդիչ զույգ և L293D շարժիչի շարժիչի մոդուլ: Մենք նախագծելու ենք այս ռոբոտը երկու մասի: Մեկը Հաղորդիչն է, իսկ մյուսը ՝ Ստացողը: Հաղորդիչի հատվածը բաղկացած է Arduino Uno- ից, MPU6050 արագացուցիչից և գիրոսկոպից և nRF24L01- ից, իսկ ընդունիչի բաժինը `Arduino Uno- ից, nRF24L01- ից, երկու DC շարժիչից և L293D շարժիչից: Հաղորդիչը գործելու է որպես հեռակառավարիչ ՝ վերահսկելու Ռոբոտին, որտեղ ռոբոտը շարժվելու է ըստ ժեստերի:

Քայլ 1: Պահանջվում են բաղադրիչներ

Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
  • Arduino Uno (2)
  • NRF24L01 (2)
  • MPU6050DC շարժիչ (2)
  • L293D շարժիչի վարորդի մոդուլ
  • Հարված

MPU6050 արագացուցիչ և գիրոսկոպ MPU6050 սենսորային մոդուլը ամբողջական 6 առանցքի (3 առանցքի արագացուցիչ և 3 առանցքի գիրոսկոպ) միկրոէլեկտրամեխանիկական համակարգ է: MPU6050 սենսորային մոդուլն ունի նաև չիպի վրա ջերմաստիճանի տվիչ: Այն ունի I2C ավտոբուս և օժանդակ I2C ավտոբուսի միջերես `միկրոկոնտրոլերների և այլ սենսորային սարքերի հետ հաղորդակցվելու համար, ինչպիսիք են 3 առանցքի մագնիսաչափը, ճնշման տվիչը և այլն: MPU6050 սենսորային մոդուլը օգտագործվում է արագությունը, արագությունը, կողմնորոշումը, տեղաշարժը և այլ շարժումներ չափելու համար: -առնչվող պարամետրեր: Այս սենսորային մոդուլը ունի նաև ներկառուցված թվային շարժման պրոցեսոր, որը կարող է կատարել բարդ հաշվարկներ:

NRF24L01 հաղորդիչ մոդուլ

nRF24L01- ը մեկ չիպային ռադիոհաղորդիչ է համաշխարհային 2.4 - 2.5 ԳՀց ISM տիրույթի համար: Հաղորդիչ սարքը բաղկացած է լիովին ինտեգրված հաճախականության սինթեզատորից, հզորության ուժեղացուցիչից, բյուրեղյա տատանումից, դեմոդուլյատորից, մոդուլյատորից և ընդլայնված ShockBurs արձանագրային շարժիչից: Ելքային հզորությունը, հաճախականության ալիքները և արձանագրությունների կարգավորումը հեշտությամբ ծրագրավորելի են SPI ինտերֆեյսի միջոցով: Այս Հաղորդիչ մոդուլի աշխատանքային լարման միջակայքը 1.9 Վ -ից 3.6 Վ է: Այն ունի Ներկառուցված Power Down և Standby ռեժիմներ, որոնք այն դարձնում են էներգախնայող և հեշտ իրագործելի:

Քայլ 2: Ձեռքով շարժվող ռոբոտի աշխատանք Arduino- ի միջոցով

Ձեռքի ժեստերով վերահսկվող ռոբոտի աշխատանք Arduino- ի միջոցով
Ձեռքի ժեստերով վերահսկվող ռոբոտի աշխատանք Arduino- ի միջոցով
Ձեռքի ժեստերով վերահսկվող ռոբոտի աշխատանք Arduino- ի միջոցով
Ձեռքի ժեստերով վերահսկվող ռոբոտի աշխատանք Arduino- ի միջոցով

Այս Arduino ժեստերի կառավարման մեքենայի աշխատանքը հասկանալու համար եկեք այս նախագիծը բաժանենք երկու մասի: Առաջին մասը հաղորդիչի մասն է (հեռակա), որում MPU6050 արագացուցիչի սենսորը Arduino- ի և nRF հաղորդիչի միջոցով անընդհատ ազդանշաններ է ուղարկում ստացողին (Robot):

Երկրորդ մասը Ստացողի մասն է (Robot car), որտեղ nRF ստացողը ստանում է փոխանցված տվյալները և ուղարկում դրանք Arduino- ին, ինչը հետագայում մշակում է դրանք և համապատասխանաբար տեղափոխում ռոբոտին:

MPU6050 արագացուցիչի սենսորը կարդում է X Y Z կոորդինատները և կոորդինատներն ուղարկում Arduino- ին: Այս նախագծի համար մեզ անհրաժեշտ են միայն X և Y կոորդինատները: Այնուհետեւ Arduino- ն ստուգում է կոորդինատների արժեքները և տվյալները ուղարկում nRF հաղորդիչին: Փոխանցվող տվյալները ստացվում են nRF ընդունիչով: Ստացողը տվյալները ուղարկում է ստացողի կողմի Arduino- ին: Arduino- ն տվյալները փոխանցում է Motor Driver IC- ին և շարժիչի վարորդը շարժիչները շարժում է անհրաժեշտ ուղղությամբ:

Քայլ 3: Շղթայի դիագրամ

Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ

Այս ձեռքի ժեստով կառավարվող ռոբոտը Arduino սարքաշարի միջոցով բաժանված է երկու մասի

  1. Հաղորդիչ
  2. Ընդունիչ

Քայլ 4. Հաղորդիչ միացում Arduino ժեստերով վերահսկվող մեքենայի համար

Հաղորդիչ միացում Arduino ժեստերով վերահսկվող մեքենայի համար
Հաղորդիչ միացում Arduino ժեստերով վերահսկվող մեքենայի համար
Հաղորդիչ միացում Arduino ժեստերով վերահսկվող մեքենայի համար
Հաղորդիչ միացում Arduino ժեստերով վերահսկվող մեքենայի համար
Հաղորդիչ միացում Arduino ժեստերով վերահսկվող մեքենայի համար
Հաղորդիչ միացում Arduino ժեստերով վերահսկվող մեքենայի համար

Այս նախագծի հաղորդիչ հատվածը բաղկացած է MPU6050 արագացուցիչից և գիրոսկոպից, nRF24L01Transceiver- ից և Arduino Uno- ից: Arduino- ն անընդհատ տվյալներ է ստանում MPU6050- ից և դրանք ուղարկում է nRF հաղորդիչին: ՌԴ հաղորդիչը տվյալները փոխանցում է շրջակա միջավայր:

Քայլ 5. Arduino ժեստերով վերահսկվող մեքենայի ընդունիչ միացում

Arduino ժեստ ՝ ժեստերով կառավարվող մեքենայի համար
Arduino ժեստ ՝ ժեստերով կառավարվող մեքենայի համար
Arduino ժեստ ՝ ժեստերով կառավարվող մեքենայի համար
Arduino ժեստ ՝ ժեստերով կառավարվող մեքենայի համար
Arduino ժեստ ՝ ժեստերով կառավարվող մեքենայի համար
Arduino ժեստ ՝ ժեստերով կառավարվող մեքենայի համար

Այս ժեստերով կառավարվող ռոբոտի ստացողի բաժինը բաղկացած է Arduino Uno- ից, nRF24L01 հաղորդիչից, 2 DC շարժիչներից և Motor վարորդի մոդուլից: NRF24L01 ստացողը ստանում է տվյալները հաղորդիչից և ուղարկում դրանք Arduino- ին: Հետո, ըստ ստացված ազդանշանների, Արդուինոն շարժում է DC շարժիչները:

Քայլ 6: Programրագրի բացատրություն

Arduino- ի միջոցով ժեստերով վերահսկվող ռոբոտի համար ամբողջական կոդը հասանելի է այստեղ: Ստորև մենք բացատրում ենք ծրագիրը տող առ տող:

Հաղորդիչի կողային ծրագիր

Այս ծրագրում Arduino- ն կարդում է MPU6050- ի տվյալները և դրանք ուղարկում nRF 24L01 հաղորդիչին:

1. Սկսեք ծրագիրը `ավելացնելով անհրաժեշտ գրադարանային ֆայլերը: Գրադարանի ֆայլերը կարող եք ներբեռնել տրված հղումներից:

SPI.h

nRF24L01.h

Մետաղալար. Ժ

MPU6050. ժ

2. Այնուհետեւ սահմանեք MPU6050 գիրոսկոպի եւ արագացուցիչի տվյալների փոփոխականները: Այստեղ կօգտագործվեն միայն արագացուցիչի տվյալները:

3. Սահմանեք ռադիոհաղորդումների հասցեները հաղորդակցության և nRF հաղորդիչների CN և CSN կապանքների համար:

4. Void setup () գործառույթի ներսում սկսեք սերիական մոնիտորը: Եվ նաև նախաստորագրեք մետաղալար և ռադիոկապը: radio.setDataRate- ը օգտագործվում է տվյալների փոխանցման արագությունը սահմանելու համար:

5. Կարդացեք MPU6050 տվիչի տվյալները: Այստեղ մենք օգտագործում ենք միայն X և Y ուղղության արագացուցիչի տվյալները:

6. Ի վերջո, փոխանցեք սենսորի տվյալները `օգտագործելով radio.write գործառույթը:

Ստացողի կողային ծրագիր

1. Ինչպես միշտ, սկսեք ծրագիրը `ներառելով անհրաժեշտ գրադարանային ֆայլերը:

2. Սահմանեք ռադիոհաղորդումների հասցեները հաղորդակցության և nRF հաղորդիչների CN և CSN կապում:

3. Սահմանեք ձախ և աջ DC շարժիչի կապում:

4. Այժմ ստուգեք ՝ ռադիոկայանը հասանելի է, թե ոչ: Եթե դա այդպես է, ապա կարդացեք տվյալները:

5. Այժմ համեմատեք ստացված տվյալները եւ շարժեք շարժիչները ըստ պայմանների:

Քայլ 7: Ձեռքով շարժվող ռոբոտի փորձարկում Arduino- ի միջոցով

Սարքավորումը պատրաստ լինելուց հետո միացրեք և՛ հաղորդիչ, և՛ ընդունիչ կողմի Arduinos- ը ձեր նոութբուքին և վերբեռնեք կոդը: Այնուհետև տեղափոխեք MPU6050 արագացուցիչը ՝ մեքենան ռոբոտին կառավարելու համար:

Gեստով վերահսկվող ռոբոտի ամբողջական աշխատանքը կարելի է գտնել տեսանյութում:

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