Mundarija:

Malinali ayg'oqchi robot: 8 qadam (rasmlar bilan)
Malinali ayg'oqchi robot: 8 qadam (rasmlar bilan)

Video: Malinali ayg'oqchi robot: 8 qadam (rasmlar bilan)

Video: Malinali ayg'oqchi robot: 8 qadam (rasmlar bilan)
Video: PROFESSOR BO'LAJAK HOTININING JOZIBALI QIZINI SEVIB QOLDI 2024, Iyul
Anonim
Image
Image
Malinali ayg'oqchi robot
Malinali ayg'oqchi robot

Ushbu loyiha sizga robotni veb -sahifa orqali boshqarishga va jonli translyatsiyani ko'rishga imkon beradi. U uy hayvonlarini josuslik qilish, pechingizda hech narsa yonmasligiga ishonch hosil qilish va hatto qush soati uchun ishlatilishi mumkin! DFRobot Raspberry Pi 3 va Raspberry Pi kamera modulini taqdim etdi.

1 -qadam: Robot elektronika

Robot elektronika
Robot elektronika

Men DFRobot -dan 2WD MiniQ shassis to'plamini yig'ishdan boshladim. Men g'ildiraklarni dvigatel millariga siljitdim, keyin ularni qavslarga joylashtirdim va shassisga biriktirdim. Nihoyat, men metall tayanchlarni qo'shdim. Endi asosiy taxtani qurish vaqti keldi. L293d dvigatel drayveri, shuningdek, Raspberry Pi -ning GPIO pinlariga o'tadigan simlar bilan birga lehimlangan. Keyinchalik, men batareya uchun ulagichni lehimladim, chunki bu asosiy quvvatni beradi. Quvvat manbai qo'shilgandan so'ng, men 5V regulyatorni o'rnatdim.

2 -qadam: Pi -ni sozlash

Pi -ni sozlash
Pi -ni sozlash

DFRobot menga murojaat qilib, Raspberry Pi 3 va Raspberry Pi kamera modullarini yubordi. Men qutilarni ochganimdan so'ng, men SD -kartani o'rnatish orqali ishlashga to'g'ri keldim. Birinchidan, men Raspberry Pi Downloads sahifasiga kirib, Raspbian -ning eng so'nggi versiyasini yukladim. Keyin men faylni chiqarib tashladim va uni qulay katalogga joylashtirdim. Siz SD kartaga.img faylini nusxa ko'chira olmaysiz, uni kartaga "yozib" qo'yishingiz kerak. Siz OS tasvirini osongina o'tkazish uchun Etcher.io kabi yonayotgan yordam dasturini yuklab olishingiz mumkin. SD kartamda.img fayli bo'lganidan so'ng, men uni Raspberry Pi -ga joylashtirdim va unga quvvat berdim. Taxminan 50 soniyadan so'ng men simni ajratdim va SD -kartani chiqarib tashladim. Keyin men SD -kartani kompyuterga qo'ydim va "yuklash" katalogiga o'tdim. Men bloknotni ochdim va NO kengaytmasi bo'lgan "ssh" nomli bo'sh fayl sifatida saqladim. Men qo'shgan "wpa_supplicant.conf" deb nomlangan fayl ham bor edi va unga bu matnni qo'ydim:

tarmoq = {ssid = psk =}

Keyin men kartani saqladim va chiqarib tashladim va uni Raspberry Pi 3 ga qo'ydim. Bu endi SSH -dan foydalanish va WiFi -ga ulanish imkonini berishi kerak.

3 -qadam: kamerani tayyorlash

Kamerani tayyorlash
Kamerani tayyorlash

Odatiy bo'lib, kamera Pi-da o'chirilgan, shuning uchun menyuni ochish uchun siz sudo raspi-config turini ochishingiz kerak. "Interfeys variantlari" ga o'ting va keyin kamerani yoqing. Endi "Finish" -ni tanlang va kamera modulining tasmasini kabelning to'g'ri maydoniga joylashtiring.

4 -qadam: dasturiy ta'minotni o'rnatish

Vlc va harakat kabi videoni uzatadigan bir nechta dasturlar bor, lekin men kechikish va o'rnatishning osonligi tufayli mjpeg-streamerdan foydalanishga qaror qildim. Saytdagi ko'rsatmalarga ko'ra, jildga https://github.com/jacksonliam/mjpg-streamer.git git klonini kiriting, so'ng kerakli kutubxonalarni o'rnatish uchun sudo apt-get install cmake libjpeg8-dev kiriting. Katalogingizni yuklagan papkaga o'zgartiring va dasturni kompilyatsiya qilish uchun make yozing va sudo make install yozing. Nihoyat, LD_LIBRARY_PATH = eksportini kiriting. va uni ishga tushirish uchun./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" yozing. Siz oqimni ko'rish uchun https://: 8080/stream.html manziliga kirishingiz mumkin.

5 -qadam: Nazoratchi

Nazoratchi
Nazoratchi
Nazoratchi
Nazoratchi

Keyin Wi -Fi orqali Raspberry Pi -ni qanday boshqarish kerakligi keldi, chunki Bluetooth juda kam diapazonga ega. Men unga ma'lumot yuborish uchun Raspberry PI va ESP8266 ESP12E modulida ishlaydigan Flask serveridan foydalanishga qaror qildim. ESP8266 -da faqat bitta analogli kirish mavjud, ya'ni men joystikdan to'g'ridan -to'g'ri foydalana olmadim, chunki u ikkita analogli kirishni oladi. Eng yaxshi variant - ADS1115, bu I2C qurilmasi bo'lib, analog signallarni 16 bitli aniqlikda o'qiydi. Men SDA -ni VCC va GND bilan birga 4 -ga va SCL -ni 5 -ga uladim. Joystik X o'qi ADS1115da A0 ga, Y o'qi A1 ga ulanadi. Ammo men tasodifan ADS1115ni yoqib yubordim, shuning uchun men keyingi eng yaxshisiga murojaat qilishimga to'g'ri keldi: tugmalar! Endi mening sozlashim- bu ESP8266 Sparkfun Thing Dev Board 3 tugmachali- oldinga, o'ngga va chapga. Endi bosilganda, u g'ildiraklarni shu tomonga burish uchun ma'lumot yuboradi.

6 -qadam: Robot uchun kod

Robot uchun kod
Robot uchun kod

Men oldingi loyihani yaratdim, u Pi-ning GPIO PWM kutubxonasidan foydalanib, dvigatellarni json orqali boshqaradi, shuning uchun men kodni Flask ilovasi orqali qabul qilish uchun qayta tayinladim. Flask - bu Python kutubxonasi bo'lib, u sizning Pi -ni asosan ma'lumotlarni yuborish va qabul qila oladigan veb -serverga aylantiradi. PWM yordamida dvigatellarni tank haydovchisiga qaraganda aniqroq boshqarish mumkin. Bu shuni anglatadiki, robot sobit emas, balki o'zgaruvchan tezlikda yura oladi. Mening kolbadagi ilovam ESP12e -dan http orqali GET so'rovidan ma'lumotlarni olgandan so'ng, dvigatellarning PWM -ni o'zgartirish uchun tuzilgan. Bundan tashqari, fon oqimida skriptni ishga tushirish uchun subprocess. Popen kutubxonasidan foydalaniladi. Men kodni loyiha sahifasiga biriktirdim, shuning uchun yuklab olish kifoya.

7 -qadam: Nazoratchi kodi

Kod juda sodda edi, faqat 3 pinli o'qishni oling, g'ildirak yo'nalishini aniqlash uchun ba'zi bir iboralarni ishlating va nihoyat bu qiymatlarni Raspberry Pi -ga yuboring. Arduino IDE uchun ESP8266 taxtali qo'shimcha HTTPClient kutubxonasi bilan birga keladi, u sarlavhalar va ma'lumotlarni yuboradi. Flask serveri POST qo'ng'irog'i orqali ma'lumotlarni qabul qilishi kerak, shuning uchun kod Raspberry Pi veb -serveri bilan ulanishni boshlaydi, so'ngra JSON kodlanganligini bildiruvchi ma'lumotga sarlavha qo'shadi va nihoyat ma'lumotlarni JSON obyekti shaklida yuboradi.. Raspberry Pi -ni ma'lumotlar bilan ortiqcha yuklanishining oldini olish uchun 40 ms kechikish qo'shdim.

8 -qadam: Raspberry Spy -ni ishga tushirish

Raspberry SPY -ni ishga tushirish
Raspberry SPY -ni ishga tushirish
Raspberry SPY -ni ishga tushirish
Raspberry SPY -ni ishga tushirish

Buning uchun sudo python.py yozish kifoya! Siz kameraning yonayotganini ko'rishingiz kerak va 8080 portli pi manziliga kirsangiz, oqim ko'rinishi kerak. Endi siz tekshirgichni uyning istalgan joyidan ishlatishingiz va jonli ovqatlanishingiz mumkin.

Tavsiya: