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

Banana/Raspberry Pi + Arduino Rover վեբ -տեսախցիկով. 9 քայլ
Banana/Raspberry Pi + Arduino Rover վեբ -տեսախցիկով. 9 քայլ

Video: Banana/Raspberry Pi + Arduino Rover վեբ -տեսախցիկով. 9 քայլ

Video: Banana/Raspberry Pi + Arduino Rover վեբ -տեսախցիկով. 9 քայլ
Video: Управляемый вентилятор охлаждения (кулер) на raspberry pi, banana pi, orange pi, arduino 2024, Հուլիսի
Anonim
Banana/Raspberry Pi + Arduino Rover վեբ -տեսախցիկով
Banana/Raspberry Pi + Arduino Rover վեբ -տեսախցիկով

Նախագիծ, որն արել եմ ազատ ժամանակ: Այն լիաքարշակ 4 անիվի ռոբոտ է, որը կառավարվում է վեբ ինտերֆեյսի միջոցով: Եթե ունեք որևէ մեկնաբանություն կամ հարց, խնդրում ենք ազատ զգալ կապվել ինձ հետ: Այս նախագիծը ինքնին օգտագործում է 3D տպագիր մասեր և կոդի որոշակի կտորներ, որոնք ստեղծվել են այլ մարդկանց կողմից: Դուք կարող եք վարկեր գտնել և Instructuble- ի վերջում դիտել բնօրինակ կտորները:

Սկսե՞նք:

Քայլ 1: Ձեզ անհրաժեշտ բաղադրիչներ

Ձեզ անհրաժեշտ բաղադրիչներ
Ձեզ անհրաժեշտ բաղադրիչներ
Ձեզ անհրաժեշտ բաղադրիչներ
Ձեզ անհրաժեշտ բաղադրիչներ
Ձեզ անհրաժեշտ բաղադրիչներ
Ձեզ անհրաժեշտ բաղադրիչներ

Ահա այն բաղադրիչների ցանկը, որոնք ես օգտագործել եմ հղումներով և այլընտրանքներով: Ես ապրում եմ Չինաստանի Շենժեն քաղաքում և մասերը գնել եմ անմիջապես Տաոբաոյում:

4-շարժիչով ռոբոտի շասսի այլընտրանք. Sufficientանկացած բավականաչափ մեծ շասսի կանի: Այս մեկն ունի 4 շարժիչ ՝ լրացուցիչ ոլորող մոմենտ ստեղծելու համար: Շարժիչները սովորական էժան դեղին շարժիչներ են, որոնք գնահատում են

L293D Arduino Motor Shield rev.1 կլոն Այլընտրանք. Ավելի լավ շարժիչի վահան, որը գնահատվում է ավելի մեծ հոսանքի համար

Arduino Uno կլոն այլընտրանք. Դուք կարող եք օգտագործել ցանկացած այլ Arduino տախտակ ՝ առանց ծածկագրում էական փոփոխությունների:

6V 4.5Ah Pb մարտկոց Այլընտրանք. Հնարավոր է փորձարկել ավելի փոքր LiPo մարտկոցներով, եթե ցանկանում եք ավելի թեթև ռոբոտ/օգտագործել միայն երկու շարժիչ:

Այլընտրանք Banana Pi. Կարող է փոխանակվել Raspberry Pi 1/2/3 կամ Orange Pi- ի հետ ՝ առանց ծածկագրի էական փոփոխությունների: Ես օգտագործում էի Banana Pi- ն միայն այն պատճառով, որ մոտս մեկն էր պառկած:

Վեբ տեսախցիկ Այլընտրանք. Օգտագործեք CSI տեսախցիկ `Raspberry Pi/Banana Pi/Orange Pi- ի համար

Camera Pan/tilt mount with sg60 servos Այլընտրանք. 3D Print օրինակ թեքությունը/տապակը, օրինակ, կարող է օգտագործել այս մեկը:

3D տպագիր մասեր Այլընտրանք. Թող ձեր երևակայությունն ու դիզայնի տաղանդները առաջնորդեն ձեզ: Նաև Thingverse:)

Քայլ 2. Շարժիչները միացրեք L293D շարժական վահանով

Միացրեք շարժիչները L293D շարժական վահանով
Միացրեք շարժիչները L293D շարժական վահանով
Միացրեք շարժիչները L293D շարժական վահանով
Միացրեք շարժիչները L293D շարժական վահանով

Յուրաքանչյուր շարժիչ միացրեք շարժիչի վահանի պտուտակավոր տերմինալներով: Ահա միացման սխեմա: Եթե ունեք ընդամենը երկու շարժիչ և չեք ցանկանում փոխել կոդը, ապա դրանք կցեք MOTOR 1 և MOTOR 3 -ին:

Ո NOTՇԱԴՐՈԹՅՈՆ. Նրանց համար, ովքեր օգտագործում են տարբեր շարժիչներ ավելի բարձր ընթացիկ վարկանիշով, ձեզ կարող է անհրաժեշտ լինել մեկ այլ շարժիչի վարորդ: Այլապես, վերջերս իմացած մի գեղեցիկ փոքրիկ հաքեր այն է, որ արդեն գոյություն ունեցող մեկի վրա կարող եք խոզուկ տեղադրել ևս երկու L293D վարորդ (դա տախտակի միջին չիպն է):

Քայլ 3. Arduino Uno, Motor Shield Assembly

Arduino Uno, Motor Shield Assembly
Arduino Uno, Motor Shield Assembly

Տեղադրեք Arduino Uno- ն պատյանում և տեղադրեք Motor Shield- ը դրա վերևում: Դա անելու միայն մեկ եղանակ կա, եթե այն չի համապատասխանում, ապա դու ինչ-որ մի վինգ ես անում:

Arduino Uno Snug պատյան

Ահա այն գործը, որն ես օգտագործեցի, մոդել ՝ ստեղծված Էսկվիլոյի կողմից:

Քայլ 4. Միացրեք Power- ը Banana Pi- ին և Arduino- ին

Միացրեք Power- ը Banana Pi- ին և Arduino- ին
Միացրեք Power- ը Banana Pi- ին և Arduino- ին

Ես օգտագործել եմ SATA ինտերֆեյսը ՝ Banana Pi (6v) հզորություն ապահովելու համար: Եթե ունեք նույն տախտակը, կարող եք նաև դա անել, պարզապես համոզվեք, որ լարումը 5v-6v է: Դա չկարգավորված էներգիայի մատակարարում է, ուստի ես ենթադրում եմ, որ Banana Pi M1- ի վրա SATA հոսանքի պաշտպանության միացում կա:

Ո ATՇԱԴՐՈԹՅՈՆ. Raspberry Pi- ի համար դուք ունեք մի քանի տարբերակ ՝ անվտանգ (օգտագործելով USB միակցիչ ՝ 5 վ) և ոչ այնքան անվտանգ (օգտագործելով GPIO կապում): Ահա հոսանքը Raspberry Pi GPIO կապումներին միացնելու մասին կարդալու համար: Համոզվեք, որ դուք

1) Օգտագործեք կարգավորվող էներգիայի մատակարարում

2) լարումը սահմանեք 5 վ

GPIO կապում պաշտպանական միացում չկա: Եթե ինչ -որ բան սխալ եք անում, տախտակի վրա տեղադրված էլեկտրոնիկան վնասելու լուրջ հնարավորություն կա:

Arduino- ի համար պարզապես ուժը միացրեք շարժիչի վահանի մուտքային պտուտակային տերմինալներին: Այն կարող է տևել մինչև 12 վ:

Քայլ 5. Տեղադրեք Banana Pi- ն 3D տպված պատյանում, հավաքեք մնացած Rover- ը

Տեղադրեք Banana Pi- ն 3D տպված պատյանում, հավաքեք մնացած Rover- ը
Տեղադրեք Banana Pi- ն 3D տպված պատյանում, հավաքեք մնացած Rover- ը
Տեղադրեք Banana Pi- ն 3D տպված պատյանում, հավաքեք մնացած Rover- ը
Տեղադրեք Banana Pi- ն 3D տպված պատյանում, հավաքեք մնացած Rover- ը

Ես օգտագործել եմ այս գործը Banana Pi- ի համար thingverse- ից, որը ստեղծվել է GermanRobotics- ի կողմից: Դրա շապիկը ես ինքս եմ պատրաստել:

Տեղադրեք Banana Pi- ն պատյանում, ծածկեք այն կափարիչով, օգտագործեք սոսինձ ատրճանակ ՝ Arduino Uno- ն ամրացնելու համար Banana Pi- ի պատյանին:

Coverածկեք մարտկոցը այս կափարիչով և վերևին ամրացրեք վեբ -տեսախցիկի թավա/թեք ամրակ:

Եթե դուք օգտագործում եք Banana Pi- ն, ձեզ հարկավոր է USB հանգույց, քանի որ այն ունի ընդամենը երկու USB անցք (Raspberry 2, 3 -ն ունի չորս): Aestուտ գեղագիտական նկատառումներից ելնելով ես որոշեցի օգտագործել OTG 1-2 USB հանգույց և թաքցնել լարերը Banana Pi պատյանում:

Քայլ 6: Սարքաշարի հավաքումն արված է:

Սարքաշարի հավաքումն ավարտված է
Սարքաշարի հավաքումն ավարտված է

Եկեք արագ ամփոփենք այն, ինչ արել ենք մինչ այժմ:

Մենք հավաքել ենք ռոբոտների հարթակը, միացրել ենք Banana Pi- ին, Arduino Uno- ին, շարժիչներն ու սպասարկիչները միացրել ենք վարորդին և օգտագործել USB հանգույց `USB տեսախցիկը և Arduino Uno- ն Banana Pi- ին միացնելու համար: Այժմ դուք կարող եք ստուգել և լուծել ապարատը: Այս քայլի համար պատկերված են միացումների սխեման, որը ցույց է տալիս բոլոր կապերը:

Քայլ 7: Համակարգի կազմաձևում

Համակարգի կազմաձևում
Համակարգի կազմաձևում

Ես օգտագործել եմ Raspbian Lite պատկերը համակարգի համար իմ pi- ում: Lite տարբերակը չունի GUI, և գալիս է միայն տեղադրված հիմնական փաթեթներով: Բայց դա շատ ավելի քիչ տարածք է պահանջում, ինչը նշանակում է, որ մենք կարող ենք օգտագործել ավելի փոքր SD քարտ: Եթե ձեզ հարմար չէ առանց GUI- ի, կարող եք նաև տեղադրել ամբողջական պատկերը:

Միացրեք ձեր pi- ն ինտերնետին Ethernet մալուխով: Գործարկվելուց հետո առաջին քայլը կլինի միացնել այն Wi-Fi- ին:

Տերմինալում գործարկեք հետևյալ հրամանը

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Խմբագրեք կազմաձևման ֆայլը ձեր WiFi հավատարմագրերով

ցանց = {ssid = "փորձարկում" psk = "testingPassword"}

Վերագործարկեք pi- ն: Վոյա! Դուք այժմ միացված եք Wi-Fi- ին:

Հաջորդը մենք պետք է տեղադրենք pip (Python Package Manager)

sudo apt-get տեղադրել python-setuptools

sudo easy_install pip

Այժմ մենք օգտագործում ենք pip ՝ Flask- ը վեբ սերվեր գործարկելու համար, իսկ pyserial- ը pi- ի համար Arduino- ի հետ սերիական կապի միջոցով հաղորդակցվելու համար:

sudo pip տեղադրման շիշ

sudo pip տեղադրել pyserial

Վերջին բանը կլինի տեղադրել և կարգավորել շարժման փաթեթը, որը մենք օգտագործում ենք մեր տեսախցիկից տեսանյութեր հեռարձակելու համար:

Հետևեք այս մեծ հրահանգին ՝ դա անելու համար:

Այժմ մենք պատրաստ ենք բղավել:

Քայլ 8: ingրագրակազմի գործարկում

Startրագրակազմի գործարկում
Startրագրակազմի գործարկում
Startրագրակազմի գործարկում
Startրագրակազմի գործարկում

Հիշո՞ւմ եք, թե ինչպես ասացի, որ մենք պատրաստ ենք բղավել:

Դե, մի փոքր ավելի մանրացրեք, և հետո մենք կարող ենք սկսել դղրդալ:)

Եկեք ներբեռնենք բոլոր անհրաժեշտ ֆայլերը իմ github պահոցից:

git կլոն

Վերբեռնեք rover.ino- ն Arduino Uno- ում: Եթե դուք կատարել եք ապարատային փոփոխություններ (օրինակ ՝ օգտագործելով տարբեր շարժիչային վահաններ), ապա պետք է փոխեք ուրվագիծը:

Եթե վեբ տեսախցիկ եք օգտագործում, փոփոխեք տողը ձևանմուշի թղթապանակի index.html ֆայլի ներքևի մասում: Փոխեք URL- ը IFRAME տողում `ձեր տեսանյութի հոսքի src URL- ին համապատասխանելու համար:

Այժմ կարող եք սկսել վեբ սերվերը: Գործարկեք հետևյալ հրամանը

sudo python pi_rover.py

Եթե դուք հետևել եք իմ կառուցվածքին շատ մոտ և Arduino- ն միացված է, ապա տերմինալում կտեսնեք հետևյալը (առաջին նկարը):

Մուտքագրեք ձեր ռոբոտի IP հասցեն վեբ դիտարկիչում (օրինակ ՝ իմ դեպքում դա 192.168.1.104 էր), կարող եք ստուգել ip հասցեն $ ifconfig հրամանով Linux- ում:

/տոնական պար արա այստեղ:/

Եթե ունեք որևէ հարց, ազատ զգացեք ինձ մեկնաբանություններում: Այս ձեռնարկը նախատեսված է սկսնակների համար, բայց ոչ զրոյական սկսնակների համար, այդ իսկ պատճառով ես բավականին հակիրճ ներկայացրի այն բաները, որոնց համար դուք կարող եք պարզապես google- ում լինել (օրինակ. Այրել համակարգի պատկերը SD քարտին, վերբեռնել Arduino էսքիզը և այլն):

Քայլ 9: Վարկեր

Գաղափարը և վեբ սերվերի ծածկագիրը բխում են jscottb- ի այս մեծ հրահանգից: Ես փոփոխեցի այն ՝ ավելի սովորական սարքավորում օգտագործելու համար, օրինակ ՝ Arduino Uno- ն:

3D տպված մասեր Thingverse- ից:

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

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