Spisu treści:

Banana/Raspberry Pi + Arduino Rover z kamerą internetową: 9 kroków
Banana/Raspberry Pi + Arduino Rover z kamerą internetową: 9 kroków

Wideo: Banana/Raspberry Pi + Arduino Rover z kamerą internetową: 9 kroków

Wideo: Banana/Raspberry Pi + Arduino Rover z kamerą internetową: 9 kroków
Wideo: REAL RACING 3 LEAD FOOT EDITION 2024, Listopad
Anonim
Banana/Raspberry Pi + Arduino Rover z kamerą internetową
Banana/Raspberry Pi + Arduino Rover z kamerą internetową

Projekt, który wykonałem w wolnym czasie. Jest to czterokołowy robot z pełnym napędem, sterowany przez interfejs sieciowy. Jeśli masz jakieś uwagi lub pytania, skontaktuj się ze mną. Sam projekt wykorzystuje części drukowane 3D i pewne fragmenty kodu, które zostały stworzone przez innych ludzi. Możesz znaleźć kredyty i rzucić okiem na oryginalne elementy na końcu Instructuble.

Powinniśmy zaczynać?

Krok 1: Komponenty, których potrzebujesz

Komponenty, których potrzebujesz
Komponenty, których potrzebujesz
Komponenty, których potrzebujesz
Komponenty, których potrzebujesz
Komponenty, których potrzebujesz
Komponenty, których potrzebujesz

Oto lista komponentów, których użyłem z linkami i alternatywami. Mieszkam w Shenzhen w Chinach i kupiłem części bezpośrednio na Taobao.

4-silnikowe podwozie robota Alternatywa: wystarczy każde wystarczająco duże podwozie. Ten ma 4 silniki, które zapewniają dodatkowy moment obrotowy. Silniki to zwykłe tanie żółte silniki, oceniane za

Klon L293D Arduino Motor Shield rev.1 Alternatywa: lepsza osłona silnika dla większego prądu

Klon Arduino Uno Alternatywa: Możesz użyć dowolnej innej płytki Arduino bez znaczących zmian w kodzie.

Akumulator 6V 4,5Ah Pb Alternatywa: Możliwe jest eksperymentowanie z mniejszymi akumulatorami LiPo, jeśli chcesz lżejszego robota/używaj tylko dwóch silników.

Alternatywa dla Banana Pi: Możliwość zamiany na Raspberry Pi 1/2/3 lub Orange Pi bez znaczących zmian w kodzie. Użyłem Banana Pi tylko dlatego, że miałem jeden leżący.

Kamera internetowa Alternatywa: użyj kamery CSI dla Raspberry Pi/Banana Pi/Orange Pi

Uchwyt uchylno-obrotowy kamery z serwomechanizmami sg60 Alternatywa: na przykład uchwyt uchylno-obrotowy 3D Print może używać tego.

Części drukowane w 3D Alternatywa: Niech Twoja wyobraźnia i talenty do projektowania 3D Cię poprowadzą! Również Thingverse:)

Krok 2: Podłącz silniki za pomocą osłony silnika L293D

Połącz silniki z osłoną silnika L293D
Połącz silniki z osłoną silnika L293D
Połącz silniki z osłoną silnika L293D
Połącz silniki z osłoną silnika L293D

Podłącz każdy silnik za pomocą zacisków śrubowych ekranu silnika. Oto schemat okablowania. Jeśli masz tylko dwa silniki i nie chcesz zmieniać kodu, dołącz je do SILNIKA 1 i SILNIKA 3.

UWAGA: W przypadku korzystania z różnych silników o wyższym prądzie znamionowym może być potrzebny inny sterownik silnika. Alternatywnie, fajnym małym hackiem, którego się ostatnio nauczyłem, jest to, że możesz podłączyć dwa kolejne sterowniki L293D na szczycie istniejącego (jest to środkowy układ na płycie)!

Krok 3: Arduino Uno, montaż osłony silnika

Arduino Uno, zespół osłony silnika
Arduino Uno, zespół osłony silnika

Umieść Arduino Uno w etui i zainstaluj na nim Motor Shield. Jest tylko jeden sposób, aby to zrobić, jeśli nie pasuje, robisz coś ting wong!

Arduino Uno Snug Case

Oto obudowa, której użyłem, model stworzony przez Esquilo.

Krok 4: Podłącz zasilanie do Banana Pi i Arduino

Podłącz zasilanie do Banana Pi i Arduino
Podłącz zasilanie do Banana Pi i Arduino

Do zasilania Banana Pi (6v) użyłem interfejsu SATA. Jeśli masz tę samą płytkę, możesz to zrobić, po prostu upewnij się, że napięcie wynosi 5v-6v. To nieregulowany zasilacz, więc zakładam, że w Banana Pi M1 jest obwód zabezpieczający zasilanie SATA.

UWAGA: Dla Raspberry Pi masz kilka opcji: bezpieczną (przy użyciu złącza USB do zapewnienia 5v) i niezbyt bezpieczną (przy użyciu pinów GPIO). Oto link do przeczytania o podłączaniu zasilania do pinów GPIO Raspberry Pi. Upewnij się, że

1) użyj regulowanego zasilacza;

2) Ustaw napięcie na 5 v

Nie ma obwodu zabezpieczającego dla pinów GPIO! Jeśli zrobisz coś źle, istnieje poważna szansa na uszkodzenie elektroniki na płytce.

W przypadku Arduino wystarczy podłączyć zasilanie do zacisków śrubowych wejściowych na osłonie silnika. Może zająć do 12V.

Krok 5: Umieść Banana Pi w pudełku z nadrukiem 3D, złóż resztę łazika

Umieść Banana Pi w pudełku z nadrukiem 3D, złóż resztę łazika
Umieść Banana Pi w pudełku z nadrukiem 3D, złóż resztę łazika
Umieść Banana Pi w pudełku z nadrukiem 3D, złóż resztę łazika
Umieść Banana Pi w pudełku z nadrukiem 3D, złóż resztę łazika

Użyłem tego etui do Banana Pi od Thingverse, stworzonego przez GermanRobotics. Okładkę sam wykonałem.

Umieść Banana Pi w etui, przykryj pokrywką, użyj pistoletu do kleju, aby przymocować Arduino Uno na górze obudowy Banana Pi.

Przykryj baterię tą pokrywą i przymocuj uchwyt kamery internetowej do przesuwania/pochylania do góry.

Jeśli używasz Banana Pi, potrzebujesz koncentratora USB, ponieważ ma tylko dwa gniazda USB (Raspberry 2, 3 ma cztery). Ze względów czysto estetycznych zdecydowałem się na użycie koncentratora USB OTG 1-2 i schowanie przewodów wewnątrz obudowy Banana Pi.

Krok 6: Zakończono montaż sprzętu

Montaż sprzętu gotowy!
Montaż sprzętu gotowy!

Podsumujmy szybko to, co zrobiliśmy do tej pory.

Zmontowaliśmy platformę robota, podłączyliśmy zasilanie do Banana Pi, Arduino Uno, podłączyliśmy silniki i serwa do sterownika silnika oraz wykorzystaliśmy koncentrator USB do podłączenia kamery USB i Arduino Uno do Banana Pi. Teraz możesz testować i rozwiązywać problemy ze sprzętem. Schemat połączeń pokazujący wszystkie połączenia jest na rysunku dla tego kroku.

Krok 7: Konfiguracja systemu

Konfiguracja systemu
Konfiguracja systemu

Użyłem obrazu Raspbian Lite dla systemu na moim pi. Wersja Lite nie ma GUI i zawiera tylko podstawowe pakiety na instalację. Ale zajmuje znacznie mniej miejsca, co oznacza, że możemy użyć mniejszej karty SD. Jeśli nie czujesz się komfortowo bez GUI, możesz również zainstalować pełny obraz.

Podłącz swoje pi do Internetu za pomocą kabla Ethernet. Po uruchomieniu pierwszym krokiem byłoby połączenie go z Wi-Fi.

Uruchom następujące polecenie w terminalu

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Edytuj plik konfiguracyjny za pomocą swoich danych logowania do Wi-Fi

network={ ssid="testing" psk="testingPassword" }

Uruchom ponownie pi. Voila! Masz teraz połączenie z Wi-Fi.

Następnie musimy zainstalować pip (Menedżer pakietów Pythona)

sudo apt-get install python-setuptools

sudo easy_install pip

Teraz używamy pip, aby zainstalować Flask do uruchamiania serwera WWW i pyserial dla pi, aby komunikować się z Arduino przez połączenie szeregowe.

kolba instalacyjna sudo pip

sudo pip zainstaluj pyserial

Ostatnią rzeczą będzie zainstalowanie i skonfigurowanie pakietu motion, którego używamy do strumieniowego przesyłania wideo z naszej kamery internetowej.

Postępuj zgodnie z tą wspaniałą instrukcją, aby to zrobić.

Teraz jesteśmy gotowi do huku!

Krok 8: Uruchamianie oprogramowania

Uruchamianie oprogramowania
Uruchamianie oprogramowania
Uruchamianie oprogramowania
Uruchamianie oprogramowania

Pamiętasz, jak powiedziałem, że jesteśmy gotowi na awanturę?

No dobra, jeszcze trochę grindowania i wtedy możemy zacząć dudnić:)

Pobierzmy wszystkie potrzebne pliki z mojego repozytorium github.

git klon

Prześlij rover.ino do Arduino Uno. Jeśli dokonałeś zmian sprzętowych (na przykład przy użyciu innej osłony silnika), musisz zmienić szkic.

Jeśli używasz kamery internetowej, zmodyfikuj linię w dolnej części pliku index.html w folderze szablonów. Zmień adres URL w wierszu IFRAME, aby pasował do adresu URL źródła strumienia wideo.

Teraz możesz uruchomić serwer WWW. Uruchom następujące polecenie

sudo python pi_rover.py

Jeśli śledziłeś moją kompilację bardzo blisko i masz podłączony Arduino, w terminalu zobaczysz następujące (pierwsze zdjęcie).

Wpisz adres ip swojego robota w przeglądarce internetowej (np. w moim przypadku był to 192.168.1.104), adres ip możesz sprawdzić poleceniem $ifconfig w Linuksie.

/zatańczcie tutaj uroczysty taniec!/

Jeśli masz jakieś pytania, śmiało pytaj mnie w komentarzach. Ten samouczek jest przeznaczony dla początkujących, ale nie dla początkujących, dlatego dość krótko opisałem rzeczy, które możesz po prostu wyszukać w Google (np. wypalić obraz systemu na kartę SD, przesłać szkic Arduino itp.).

Krok 9: Kredyty

Pomysł i kod serwera WWW pochodzą z tego wspaniałego instruktażu jscottb. Zmodyfikowałem go, aby używać bardziej popularnego sprzętu, takiego jak Arduino Uno.

Części drukowane w 3D od Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/pliki

www.thingiverse.com/thing:661220

Zalecana: