Mundarija:

Banana/Raspberry Pi + Arduino Rover veb -kamerasi bilan: 9 qadam
Banana/Raspberry Pi + Arduino Rover veb -kamerasi bilan: 9 qadam

Video: Banana/Raspberry Pi + Arduino Rover veb -kamerasi bilan: 9 qadam

Video: Banana/Raspberry Pi + Arduino Rover veb -kamerasi bilan: 9 qadam
Video: Freenove 4WD Car Kit for Raspberry Pi [Overview] 2024, Iyul
Anonim
Banana/Raspberry Pi + Arduino veb -kamerasi bilan
Banana/Raspberry Pi + Arduino veb -kamerasi bilan

Bo'sh vaqtimda qilgan loyiham. Bu to'liq boshqariladigan 4 g'ildirakli robot, veb-interfeys orqali boshqariladi. Agar sizda biron bir fikr yoki savol bo'lsa, iltimos, men bilan bog'laning. Loyihaning o'zi 3D bosilgan qismlar va boshqa odamlar yaratgan ba'zi kod qismlaridan foydalanadi. Siz kreditlarni topishingiz va Instructuble oxirida asl nusxalarini ko'rishingiz mumkin.

Boshlaylikmi?

1 -qadam: Sizga kerak bo'lgan komponentlar

Sizga kerak bo'lgan komponentlar
Sizga kerak bo'lgan komponentlar
Sizga kerak bo'lgan komponentlar
Sizga kerak bo'lgan komponentlar
Sizga kerak bo'lgan komponentlar
Sizga kerak bo'lgan komponentlar

Mana men havolalar va muqobillar bilan ishlatgan komponentlar ro'yxati. Men Xitoyning Shenchjen shahrida yashayman va uning qismlarini to'g'ridan -to'g'ri Taobao shahrida sotib oldim.

4-dvigatelli robotli shassi muqobil: har qanday etarlicha katta shassi bajaradi. Bu qo'shimcha tork uchun 4 ta motorga ega. Dvigatellar - oddiy sariq motorlar

L293D Arduino Motor Shield rev.1 klon Muqobil: Ko'proq oqim uchun yaxshi motorli qalqon

Arduino Uno kloniga alternativa: Siz kodga jiddiy o'zgartirishlar kiritmasdan boshqa Arduino kartasidan foydalanishingiz mumkin.

6V 4.5Ah Pb batareyali muqobil: Agar siz engilroq robotni xohlasangiz/faqat ikkita dvigateldan foydalansangiz, kichikroq LiPo batareyalari bilan tajriba o'tkazish mumkin.

Banana Pi alternativasi: kodni sezilarli o'zgarishsiz Raspberry Pi 1/2/3 yoki Orange Pi bilan almashtirish mumkin. Men Banana Pi -ni faqat yonimda yotganim uchun ishlatardim.

Veb -kamera muqobil: Raspberry Pi/Banana Pi/Orange Pi uchun CSI kamerasidan foydalaning

Sg60 servolari bilan kamerani siljitish/burish moslamasi Muqobil: Masalan, 3D bosib chiqarish moslamasi.

3D bosma qismlar Muqobil: Tasavvuringiz va 3D dizayn qobiliyatingiz sizga yo'l ko'rsatsin! Shuningdek, teskari:)

2 -qadam: motorlarni L293D dvigatel qalqoni bilan ulang

Dvigatellarni L293D dvigatel qalqoni bilan ulang
Dvigatellarni L293D dvigatel qalqoni bilan ulang
Dvigatellarni L293D dvigatel qalqoni bilan ulang
Dvigatellarni L293D dvigatel qalqoni bilan ulang

Har bir dvigatelni dvigatel qalqoni vintli terminallari bilan ulang. Mana, ulanish sxemasi. Agar sizda faqat ikkita dvigatel bo'lsa va kodni o'zgartirishni xohlamasangiz, ularni MOTOR 1 va MOTOR 3 ga ulang.

QAYD: Har xil dvigatellardan yuqori oqim ko'rsatkichiga ega bo'lganlar uchun sizga boshqa dvigatel kerak bo'lishi mumkin. Shu bilan bir qatorda, men yaqinda bilib olgan juda yaxshi xakerlik - siz L293D -ning ikkita drayverini mavjud haydovchining ustiga qo'yishingiz mumkin (bu bortdagi o'rta chip)!

3 -qadam: Arduino Uno, dvigatel qalqoni yig'ilishi

Arduino Uno, dvigatel qalqoni yig'ilishi
Arduino Uno, dvigatel qalqoni yig'ilishi

Arduino Uno -ni qutiga soling va uning ustiga Motor Shield -ni o'rnating. Buni qilishning bitta yo'li bor, agar u mos kelmasa, siz biroz vong qilyapsiz!

Arduino Uno qutisi

Mana men foydalangan holat, Esquilo tomonidan yaratilgan model.

4 -qadam: Quvvatni Banana Pi va Arduino -ga ulang

Quvvatni Banana Pi va Arduino -ga ulang
Quvvatni Banana Pi va Arduino -ga ulang

Banana Pi (6v) quvvatini berish uchun SATA interfeysidan foydalandim. Agar sizda bir xil taxta bo'lsa, buni ham qilishingiz mumkin, faqat kuchlanish 5v-6v ekanligiga ishonch hosil qiling. Bu tartibga solinmagan quvvat manbai, shuning uchun men Banana Pi M1da SATA quvvatini himoya qilish sxemasi mavjud deb o'ylayman.

DIQQAT: Raspberry Pi uchun sizda bir nechta variant bor: xavfsiz (5v uchun USB ulagichi yordamida) va unchalik xavfsiz bo'lmagan (GPIO pinlari yordamida). Raspberry Pi GPIO pinlariga quvvatni ulash haqida o'qish uchun havola. Ishonch hosil qiling

1) tartibga solinadigan elektr ta'minotidan foydalaning

2) Voltajni 5v ga o'rnating

GPIO pinlari uchun himoya sxemasi yo'q! Agar siz noto'g'ri ish qilsangiz, bortdagi elektronikaga zarar etkazish ehtimoli katta.

Arduino uchun faqat dvigatel qalqonidagi kirish vintli terminallariga quvvat ulang. U 12 voltgacha yetishi mumkin.

5 -qadam: Banana Pi -ni 3D bosilgan qutiga soling, Rover -ning qolgan qismini yig'ing

Banana Pi -ni 3D bosma qutiga joylashtiring, Rover -ning qolgan qismini yig'ing
Banana Pi -ni 3D bosma qutiga joylashtiring, Rover -ning qolgan qismini yig'ing
Banana Pi -ni 3D bosma qutiga soling, Rover -ning qolgan qismini yig'ing
Banana Pi -ni 3D bosma qutiga soling, Rover -ning qolgan qismini yig'ing

Men bu ishni GermanRobotics tomonidan yaratilgan narsalardan Banana Pi uchun ishlatganman. Muqovani o'zim tayyorladim.

Banana Pi -ni sumkaga soling, uni qopqog'i bilan yoping, Arduino Unoni Banana Pi qutisiga yopishtirish uchun yopishtiruvchi tabancadan foydalaning.

Batareyani bu qopqoq bilan yoping va tepaga veb -kamera panjasini/burilish moslamasini ulang.

Agar siz Banana Pi -dan foydalansangiz, sizga USB uyasi kerak bo'ladi, chunki u faqat ikkita USB uyasiga ega (Raspberry 2, 3 -da to'rtta). Men estetik tashvishlardan kelib chiqib, OTG 1-2 USB uyasidan foydalanishga qaror qildim va simlarni Banana Pi korpusi ichiga yashirdim.

6 -qadam: Uskuna yig'ilishi bajarildi

Uskuna yig'ilishi bajarildi!
Uskuna yig'ilishi bajarildi!

Keling, shu paytgacha qilgan ishlarimizni tezda umumlashtiramiz.

Biz robot platformasini yig'dik, Banana Pi, Arduino Uno quvvatini, dvigatel drayveriga dvigatellar va servolarni uladik va USB kamerasini va Arduino Uno -ni Banana Pi -ga ulash uchun USB -uyadan foydalandik. Endi siz uskunani sinab ko'rishingiz va muammolarini bartaraf qilishingiz mumkin. Ushbu bosqichda barcha ulanishlar ko'rsatilgan simi diagrammasi rasmda ko'rsatilgan.

7 -qadam: tizim konfiguratsiyasi

Tizim konfiguratsiyasi
Tizim konfiguratsiyasi

Men pi -da tizim uchun Raspbian Lite tasviridan foydalanardim. Lite versiyasida hech qanday GUI mavjud emas va har bir o'rnatish uchun faqat asosiy paketlar mavjud. Ammo bu juda kam joy oladi, ya'ni biz kichikroq SD -kartadan foydalanishimiz mumkin. Agar GUI bo'lmasa, siz to'liq tasvirni o'rnatishingiz mumkin.

Ethernet kabeli orqali pi -ni Internetga ulang. U ishga tushgandan so'ng, uni Wi-Fi tarmog'iga ulash birinchi qadam bo'ladi.

Terminalda quyidagi buyruqni bajaring

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Wi -Fi ma'lumotlari yordamida konfiguratsiya faylini o'zgartiring

tarmoq = {ssid = "sinov" psk = "testPassword"}

Pi -ni qayta ishga tushiring. Voila! Siz hozir Wi-Fi tarmog'iga ulangansiz.

Keyin biz pip o'rnatishimiz kerak (Python Package Manager)

sudo apt-get python-setuptools-ni o'rnating

sudo easy_install pip

Endi biz pipni veb -serverni ishga tushirish uchun Flask va Arduino bilan ketma -ket ulanish orqali pi -ni o'rnatish uchun ishlatamiz.

sudo pip o'rnatish idishi

sudo pip o'rnatish pyserial

Oxirgi narsa, biz veb -kameramizdan video uzatish uchun foydalanadigan harakat paketini o'rnatish va sozlash bo'ladi.

Buning uchun buyuk ko'rsatmaga amal qiling.

Endi biz baqirishga tayyormiz!

8 -qadam: dasturiy ta'minotni ishga tushirish

Dasturiy ta'minotni ishga tushirish
Dasturiy ta'minotni ishga tushirish
Dasturiy ta'minotni ishga tushirish
Dasturiy ta'minotni ishga tushirish

Esingizdami, men shovqin -suron qilishga tayyormiz.

Xo'sh, biroz silliqlash kerak, shundan keyin biz gumburlashni boshlashimiz mumkin:)

Github omboridan barcha kerakli fayllarni yuklab olaylik.

git klon

Rover.ino -ni Arduino Uno -ga yuklang. Agar siz apparat o'zgarishini amalga oshirgan bo'lsangiz (masalan, har xil dvigatel qalqoni yordamida), siz eskizni o'zgartirishingiz kerak.

Agar siz veb -kameradan foydalanayotgan bo'lsangiz, shablon papkasida index.html faylining pastki qismidagi satrni o'zgartiring. IFRAME satridagi URL manzilini video oqimingizning src URL manziliga mos keladigan qilib o'zgartiring.

Endi siz veb -serverni ishga tushirishingiz mumkin. Quyidagi buyruqni bajaring

sudo python pi_rover.py

Agar siz mening qurilishimni juda yaqin kuzatgan bo'lsangiz va Arduino -ga ulangan bo'lsangiz, terminalda quyidagilarni ko'rasiz (birinchi rasm).

Robotingizning IP -manzilini veb -brauzerga kiriting (masalan, mening holatimda 192.168.1.104 edi), siz Linuxda $ ifconfig buyrug'i bilan ip manzilini tekshirishingiz mumkin.

/bu erda bayram raqsini qiling!

Agar sizda biron bir savol bo'lsa, sharhlarda meni so'rang. Bu darslik boshlang'ich darajaga mo'ljallangan, lekin boshlang'ich emas, shuning uchun men siz google-da qilishingiz mumkin bo'lgan narsalar haqida qisqacha ma'lumot berdim (masalan, tizim tasvirini SD-kartaga yozish, Arduino eskizini yuklash va boshqalar).

9 -qadam: kreditlar

Fikr va veb -server kodi jscottb tomonidan berilgan buyuk buyruqdan kelib chiqadi. Men uni Arduino Uno kabi keng tarqalgan uskunadan foydalanish uchun o'zgartirdim.

Thingverse -dan 3D bosilgan qismlar.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Tavsiya: