Mundarija:
- 1 -qadam: Sizga kerak bo'lgan komponentlar
- 2 -qadam: motorlarni L293D dvigatel qalqoni bilan ulang
- 3 -qadam: Arduino Uno, dvigatel qalqoni yig'ilishi
- 4 -qadam: Quvvatni Banana Pi va Arduino -ga ulang
- 5 -qadam: Banana Pi -ni 3D bosilgan qutiga soling, Rover -ning qolgan qismini yig'ing
- 6 -qadam: Uskuna yig'ilishi bajarildi
- 7 -qadam: tizim konfiguratsiyasi
- 8 -qadam: dasturiy ta'minotni ishga tushirish
- 9 -qadam: kreditlar
Video: Banana/Raspberry Pi + Arduino Rover veb -kamerasi bilan: 9 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:27
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
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
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 -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
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
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
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
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
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:
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'l bilan amalga oshirildi: 8 qadam (rasmlar bilan)
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'lga qo'yildi: 1 yil davomida 2 xil joyda muvaffaqiyatli ishlaganimdan so'ng, men quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasining loyiha rejalari bilan bo'lishaman va uning qanday qilib uzoq vaqt yashay oladigan tizimga aylanganini tushuntiraman. quyosh energiyasidan o'tgan davrlar. Agar ergashsangiz
Twinky bilan eng zo'r Arduino robot bilan tanishing: 7 qadam (rasmlar bilan)
Twinky bilan eng zo'r Arduino roboti bilan tanishing: Salom, men sizga "Jibo" ni o'zim qanday yaratganimni o'rgataman. lekin "Twinky" deb nomlangan, men buni ochib bermoqchiman … Bu nusxa emas! Men ikkiyuzlamachilik bilan qurardim va shundan keyingina shunga o'xshash narsaning mavjudligini tushundim: bu erda
ESP32 bilan PWM - Arduino IDE bilan ESP 32 -dagi PWM bilan LEDni xira qilish: 6 qadam
ESP32 bilan PWM | Arduino IDE bilan ESP 32 da PWM bilan LEDni xiralashtirish: Bu yo'riqnomada biz Arduino IDE yordamida ESP32 yordamida PWM signallarini qanday yaratishni ko'rib chiqamiz. PWM asosan har qanday MCUdan analog chiqishni ishlab chiqarish uchun ishlatiladi va analog chiqish 0V dan 3,3V gacha bo'lishi mumkin (esp32 holatida) & dan
Wi-Fi boshqariladigan FPV Rover roboti (Arduino, ESP8266 va Stepper motorlari bilan): 11 qadam (rasmlar bilan)
Wi-Fi orqali boshqariladigan FPV Rover roboti (Arduino, ESP8266 va Stepper motorlari bilan): Bu ko'rsatma, ESP8266 Wi-Fi moduliga ulangan Arduino Uno yordamida, Wi-Fi tarmog'i orqali masofadan boshqariladigan, ikki g'ildirakli robot-roverni qanday loyihalashtirishni ko'rsatib beradi. va ikkita qadamli motor. Robotni oddiy Internet -brauzer orqali boshqarish mumkin
Veb boshqariladigan Arduino LED: 5 qadam (rasmlar bilan)
Veb-boshqariladigan Arduino LED: Bu ko'rsatma sizga Arduino va WIZnet Ethernet qalqoni asosida har qanday veb-brauzer orqali boshqariladigan veb-yoqilgan uch rangli LEDni qanday yaratishni ko'rsatadi. Chunki LED Arduino rangida ishlaydigan oddiy RESTful veb -xizmati orqali chiqariladi