Mündəricat:

Banana/Raspberry Pi + Arduino Rover Webcam ilə: 9 addım
Banana/Raspberry Pi + Arduino Rover Webcam ilə: 9 addım

Video: Banana/Raspberry Pi + Arduino Rover Webcam ilə: 9 addım

Video: Banana/Raspberry Pi + Arduino Rover Webcam ilə: 9 addım
Video: 12 NEW Raspberry Pi Projects you must try!!! 2024, Noyabr
Anonim
Banana/Moruq Pi + Arduino Rover Veb Kamera ilə
Banana/Moruq Pi + Arduino Rover Veb Kamera ilə

Boş vaxtımda etdiyim bir layihə. Veb interfeysi ilə idarə olunan tam ötürücü 4 təkərli robotdur. Hər hansı bir şərhiniz və ya sualınız varsa, mənimlə əlaqə saxlamaqdan çekinmeyin. Bu layihənin özü, digər insanların yaratdığı 3D çaplı hissələrdən və müəyyən kod parçalarından istifadə edir. Kredit tapa və Instructuble -in sonunda orijinal parçalara baxa bilərsiniz.

Başlayaq?

Addım 1: Ehtiyac duyduğunuz komponentlər

Ehtiyac duyduğunuz komponentlər
Ehtiyac duyduğunuz komponentlər
Ehtiyac duyduğunuz komponentlər
Ehtiyac duyduğunuz komponentlər
Ehtiyac duyduğunuz komponentlər
Ehtiyac duyduğunuz komponentlər

Bağlantılar və alternativlərlə birlikdə istifadə etdiyim komponentlərin siyahısı budur. Çinin Shenzhen şəhərində yaşayıram və hissələri birbaşa Taobao -dan aldım.

4 motorlu robot şassisi Alternativ: Kifayət qədər böyük bir şassi edəcək. Bu əlavə tork üçün 4 mühərrikə malikdir. Bu mühərriklər normal qiymətli sarı motorlardır

L293D Arduino Motor Shield rev.1 klonu Alternativ: Daha yaxşı cərəyan üçün qiymətləndirilən daha yaxşı motor qalxanı

Arduino Uno klon alternativi: Kodda əhəmiyyətli dəyişikliklər etmədən hər hansı digər Arduino lövhəsindən istifadə edə bilərsiniz.

6V 4.5Ah Pb batareya Alternativ: Daha yüngül robot istəyirsinizsə/yalnız iki mühərrikdən istifadə etsəniz, daha kiçik LiPo batareyaları ilə təcrübə aparmaq mümkündür.

Banana Pi Alternativi: Əhəmiyyətli kod dəyişiklikləri olmadan Raspberry Pi 1/2/3 və ya Orange Pi ilə əvəz edilə bilər. Banana Pi -ni yalnız yanında yatdığım üçün istifadə etdim.

Veb kamera Alternativ: Raspberry Pi/Banana Pi/Orange Pi üçün CSI kameradan istifadə edin

Sg60 servo ilə Kamera Pan/əyilmə montajı Alternativ: Məsələn, 3D Çap əymə/tava montajı bunu istifadə edə bilər.

3D çap hissələri Alternativ: Təsəvvürünüz və 3D dizayn istedadlarınız sizə yol göstərsin! Başqa bir şey:)

Addım 2: Motorları L293D Motor Qalxanı ilə bağlayın

Motorları L293D Motor Qalxanı ilə birləşdirin
Motorları L293D Motor Qalxanı ilə birləşdirin
Motorları L293D Motor Qalxanı ilə birləşdirin
Motorları L293D Motor Qalxanı ilə birləşdirin

Hər bir mühərriki mühərrik qalxan vida terminalları ilə bağlayın. İşdə naqillərin diaqramı. Yalnız iki motorunuz varsa və kodu dəyişdirmək istəmirsinizsə, bunları MOTOR 1 və MOTOR 3 -ə əlavə edin.

Qeyd: Daha yüksək cərəyan dərəcəsi olan fərqli mühərriklərdən istifadə edənlər üçün başqa bir motor sürücüsünə ehtiyacınız ola bilər. Alternativ olaraq, bu yaxınlarda öyrəndiyim gözəl bir kiçik hack, mövcud sürücünün üstündə daha iki L293D sürücüsünü geri ala biləcəyinizdir (lövhədəki orta çipdir)!

Addım 3: Arduino Uno, Motor Qalxanı Montajı

Arduino Uno, Motor Qalxanı Quraşdırması
Arduino Uno, Motor Qalxanı Quraşdırması

Arduino Uno'yu çantaya qoyun və üzərinə Motor Shield quraşdırın. Bunu etmək üçün yalnız bir yol var, əgər uyğun deyilsə, bir az von edirsən!

Arduino Uno Qutusu

İşdə istifadə etdiyim hal, Esquilo tərəfindən yaradılan model.

Addım 4: Gücü Banana Pi və Arduinoya bağlayın

Gücü Banana Pi və Arduinoya bağlayın
Gücü Banana Pi və Arduinoya bağlayın

Banana Pi (6v) gücünü təmin etmək üçün SATA interfeysindən istifadə etdim. Eyni lövhəyə sahibsinizsə, bunu da edə bilərsiniz, yalnız gərginliyin 5v-6v olduğundan əmin olun. Bu tənzimlənməmiş enerji təchizatıdır, buna görə də Banana Pi M1 -də SATA gücü üçün bir qoruyucu dövrə olduğunu düşünürəm.

DİQQƏT: Raspberry Pi üçün bir neçə seçiminiz var: təhlükəsiz bir (5v təmin etmək üçün USB konnektorundan istifadə edərək) və o qədər də təhlükəsiz olmayan (GPIO pinlərindən istifadə edərək). Gücün Raspberry Pi GPIO pinlərinə qoşulması haqqında oxumaq üçün link burada. Əmin ol

1) Tənzimlənən enerji təchizatı istifadə edin

2) Gərginliyi 5v -ə təyin edin

GPIO pinləri üçün heç bir müdafiə dövrəsi yoxdur! Səhv bir şey etsəniz, lövhədəki elektronikaya ciddi ziyan vurma şansı var.

Arduino üçün, gücünü motor qalxanındakı giriş vint terminallarına bağlayın. 12v -ə qədər çəkə bilər.

Addım 5: Banana Pi -ni 3D Çaplı Çantaya qoyun, Qalan Roveri yığın

Banana Pi -ni 3D Çaplı Çantaya qoyun, Qalan Roveri yığın
Banana Pi -ni 3D Çaplı Çantaya qoyun, Qalan Roveri yığın
Banana Pi -ni 3D Çaplı Çantaya qoyun, Rover -in Qalan hissəsini yığın
Banana Pi -ni 3D Çaplı Çantaya qoyun, Rover -in Qalan hissəsini yığın

Bu davanı GermanRobotics tərəfindən yaradılan şeydən Banana Pi üçün istifadə etdim. Bunun üçün örtüyü özüm hazırladım.

Banana Pi'yi çantaya qoyun, qapağı ilə örtün, Banana Pi qutusunun üstünə Arduino Uno yapışdırmaq üçün yapışqan tabancasından istifadə edin.

Batareyanı bu qapaqla örtün və veb kameralı tavanı/əyilmə montajını yuxarıya bağlayın.

Banana Pi istifadə edirsinizsə, yalnız iki USB yuvasına malik olduğu üçün bir USB mərkəzinə ehtiyacınız olacaq (Raspberry 2, 3 -də dörd). Tamamilə estetik narahatlıqlar səbəbindən bir OTG 1-2 USB hub istifadə etməyə və Banana Pi korpusunun içərisindəki telləri gizlətməyə qərar verdim.

Addım 6: Avadanlıq Quraşdırması Tamamlandı

Avadanlıq Montajı Tamamlandı!
Avadanlıq Montajı Tamamlandı!

İndiyə qədər etdiklərimizi tez bir zamanda ümumiləşdirək.

Robot platformasını, Banana Pi, Arduino Uno gücünü, motor sürücüsünə motorları və servoları bağladıq və USB kamerasını və Arduino Uno'yu Banana Pi -yə bağlamaq üçün USB hub istifadə etdik. İndi cihazı sınaya və problemi həll edə bilərsiniz. Bütün əlaqələri göstərən naqillərin diaqramı bu addım üçün şəkildədir.

Addım 7: Sistem Konfiqurasiyası

Sistem konfiqurasiyası
Sistem konfiqurasiyası

Pi -də sistem üçün Raspbian Lite görüntüsündən istifadə etdim. Lite versiyasında heç bir GUI yoxdur və hər quraşdırma üçün yalnız əsas paketlərlə gəlir. Ancaq daha az yer tutur, yəni kiçik SD kartdan istifadə edə bilərik. GUI olmadan rahat deyilsinizsə, tam görüntüyü də quraşdıra bilərsiniz.

Ethernet kabeli ilə pi -nizi İnternetə qoşun. Açıldıqdan sonra ilk addım onu Wi-Fi-ya bağlamaqdır.

Terminalda aşağıdakı əmri işlədin

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

WiFi etimadnamənizlə konfiqurasiya faylını düzəldin

şəbəkə = {ssid = "test" psk = "testPassword"}

Pi'yi yenidən başladın. Voila! İndi Wi-Fi-ya qoşulmusunuz.

Sonra pip (Python Package Manager) quraşdırmalıyıq.

sudo apt-get python-setuptools quraşdırın

sudo easy_install pip

İndi bir veb serveri işə salmaq üçün Flask və Arduino ilə ardıcıl əlaqə vasitəsi ilə əlaqə qurmaq üçün pyserial qurmaq üçün pip istifadə edirik.

sudo pip quraşdırma qabı

sudo pip pyserial quraşdırın

Son şey veb kameramızdan video axını üçün istifadə etdiyimiz hərəkət paketini qurmaq və konfiqurasiya etmək olacaq.

Bunu etmək üçün bu böyük təlimatı izləyin.

İndi səs -küy salmağa hazırıq!

Addım 8: Proqramı işə salmaq

Proqramın Başlanması
Proqramın Başlanması
Proqramın Başlanması
Proqramın Başlanması

Xatırlayırsınızmı, necə danışmağa hazırıq dedim?

Tamam, bir az daha üyüdək və sonra gurultuya başlaya bilərik:)

Github depomdan bütün lazımi faylları yükləyək.

git klonu

Rover.ino'yu Arduino Uno'ya yükləyin. Donanım dəyişiklikləri etmisinizsə (məsələn, fərqli bir motor qalxanı istifadə edərək) eskizi dəyişdirməlisiniz.

Bir veb kameradan istifadə edirsinizsə, şablon qovluğunda index.html faylının altına yaxın olan sətri dəyişdirin. IFRAME xəttindəki URL -ni video axınınızın src URL -si ilə uyğunlaşdırın.

İndi veb serverə başlaya bilərsiniz. Aşağıdakı əmri işlədin

sudo python pi_rover.py

Quruluşumu çox yaxından təqib etsəniz və Arduino ilə əlaqə qurarsanız, terminalda aşağıdakıları (ilk şəkli) görəcəksiniz.

Robotunuzun ip ünvanını veb brauzerə yazın (məsələn mənim vəziyyətimdə 192.168.1.104 idi), Linux ünvanında $ ifconfig əmri ilə ip ünvanını yoxlaya bilərsiniz.

/burada bayram rəqsi edin!/

Hər hansı bir sualınız varsa, şərhlərdə mənə müraciət etməkdən çekinmeyin. Bu təlimat başlanğıc səviyyəsi üçün nəzərdə tutulmuşdur, lakin sıfırdan başlayanlar deyil, buna görə də google-da edə biləcəyiniz şeylər haqqında qısa məlumat verdim (məsələn, sistem görüntüsünü SD karta yazmaq, Arduino eskizini yükləmək və s.).

Addım 9: Kreditlər

Fikir və veb server kodu, jscottb tərəfindən verilən bu böyük təlimatdan qaynaqlanır. Arduino Uno kimi daha ümumi bir cihazdan istifadə etmək üçün dəyişdirdim.

Thingverse -dən 3D çaplı hissələr.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Tövsiyə: