Spisu treści:

Dog Bot: Lego Robot Rover z kamerą internetową: 17 kroków (ze zdjęciami)
Dog Bot: Lego Robot Rover z kamerą internetową: 17 kroków (ze zdjęciami)

Wideo: Dog Bot: Lego Robot Rover z kamerą internetową: 17 kroków (ze zdjęciami)

Wideo: Dog Bot: Lego Robot Rover z kamerą internetową: 17 kroków (ze zdjęciami)
Wideo: YouTuberzy +50kg PART.2 😂 #shorts 2024, Lipiec
Anonim
Image
Image

Oto jak zrobić robota Lego, którym możesz sterować z dowolnego ekranu przez Wi-Fi. Posiada również kamerę internetową, dzięki czemu możesz zobaczyć, dokąd idziesz, i diody LED dla oczu! To świetny projekt dla dzieci, ponieważ mogą one tworzyć logo i możesz zaangażować je w tyle elektroniki, z jakiej są szczęśliwe. Istnieje duża elastyczność we wdrażaniu tego projektu, a to oznacza, że można go łatwo rozłożyć na kawałki i ponownie zaprojektować. Uznałem to za przydatne, gdy utknąłem, aby po prostu zacząć od nowa. Gdy zrobisz to kilka razy, odbudowanie od podstaw jest dość łatwe i szybkie. Wspaniałą rzeczą jest to, że nie musisz się martwić o „złamanie” czegokolwiek, ponieważ rozwiniesz umiejętności łatwej odbudowy.

Czego potrzebujesz

  • Raspberry Pi B+
  • Zestaw bazowy i silnikowy
  • Płyta podstawowa Lego
  • Super klej o wytrzymałości przemysłowej
  • Wiertarka
  • Nóż rzeźbiarski
  • Sprzęt lutowniczy
  • karta SD
  • Czytnik kart SD
  • Zestaw sterownika silnika
  • 2 diody LED
  • kamera internetowa o średniej cenie (możesz wypróbować tanią)
  • PC i tablet/telefon
  • Router Wi-Fi, do którego masz dostęp administracyjny
  • Dużo kawałków Lego
  • Awaryjna ładowarka do telefonu
  • 4 przewody połączeniowe, każdy z co najmniej 1 żeńskim zaciskiem
  • 4 baterie AA (akumulator jest dobry)

Krok 1: Przygotuj bazę

Zacząłem od bazy i 2 silników, takich jak ten zestaw silników w Amazon

Weź podstawę z pleksiglasu i przyklej do niej cienką płytkę podstawy Lego. Użyłem do tego super kleju o wytrzymałości przemysłowej, który wysycha w ciągu kilku minut i jest super mocny. Kiedy klej zostanie przyklejony, odetnij nadmiar płyty podstawy Lego tak, aby podążał za linią płyty podstawy z pleksiglasu. następnie wywierć otwory w płycie Lego, które pasują do podstawy z pleksiglasu. Wywierciłem otwory, kiedy ich potrzebowałem. Masz teraz podstawę do zbudowania swojej struktury Lego.

Krok 2: Złóż koła

Zamontuj koła
Zamontuj koła

Teraz złóż koła. Postępuj zgodnie z instrukcjami producenta tutaj. Koła, które kupiłem, miały wszystkie instrukcje w języku chińskim, których nie mogę przeczytać, ale dość łatwo było to rozgryźć na zdjęciach. Po złożeniu przymocuj przewody do silników za pomocą małej kropelki lutowia.

Krok 3: Przymocuj koła do podstawy

Przymocuj koła do podstawy
Przymocuj koła do podstawy

Następnie przymocuj koła do płyty podstawy, w razie potrzeby możesz wywiercić otwory w podstawie. Prawdopodobnie pod koniec projektu dowiesz się, że chcesz, aby przewody zostały poprowadzone przez bazę gdzie indziej, ale zawsze możesz wywiercić nowy otwór i przenieść się później.

Krok 4: Przygotuj Pi

Przygotuj Pi
Przygotuj Pi

Teraz przygotuj PI. Użyłem modelu B+ z kluczem USB wifi. Użyłem pełnego obrazu pulpitu opartego na Debianie Jessie, który można pobrać ze strony Raspbian Pi. Warto utworzyć kartę SD od zera i mieć pod ręką obraz dysku, ponieważ możesz łatwo zacząć od nowa. Być może trzeba będzie trochę poszukać w Google, aby dowiedzieć się, jak utworzyć obraz dysku na komputerze. Stworzyłem swój obraz za pomocą Ubuntu w następujący sposób: Kliknij prawym przyciskiem myszy obraz dysku i wybierz „otwórz za pomocą programu do zapisywania obrazów dysku”. Zapisz obraz na karcie SD. Obraz dysku jest dość mały, więc jeśli masz większą kartę SD (np. 30 GB), możesz użyć oprogramowania do partycjonowania, takiego jak GParted, aby wykorzystać całą dostępną przestrzeń. Gdy już dowiesz się, jak to zrobić, zajmuje to około 5 minut i jest naprawdę tego warte, jakbyś zepsuł oprogramowanie, które możesz po prostu ponownie zainstalować.

Krok 5: Zamontuj płytę kontrolera

Zamontuj płytę kontrolera
Zamontuj płytę kontrolera

Następnie potrzebujesz płyty sterownika silnika. Użyłem zestawu firmy RyanTek. Dostarczany jest z doskonałym przewodnikiem lutowania, ale myślę, że można go również wstępnie przylutować. Jeśli nie robiłeś wcześniej żadnego lutowania, nie martw się, po prostu zrób to powoli i poćwicz trochę, zanim zaczniesz na płycie silnika.

Teraz podłącz akumulator (z 4 bateriami AA) i silniki do płyty kontrolera, a następnie podłącz płytę kontrolera do pinów GPIO Pi. Ponownie płyta kontrolera poda więcej szczegółów. Nie martw się o umieszczenie odpowiednich przewodów silnika we właściwych gniazdach, o ile nie są one podłączone do gniazd zasilania DC. Nie przyklejam ani nie przykręcam Pi ani akumulatora do tablicy Lego, ponieważ daje to większą elastyczność podczas projektowania korpusu Lego. Możesz również łatwo zmienić swój projekt w miarę postępów.

Krok 6: Zacznij budować ciało Lego

Zacznij budować ciało Lego
Zacznij budować ciało Lego
Zacznij budować ciało Lego
Zacznij budować ciało Lego

Teraz nadszedł czas na zbudowanie klocków Lego. W tym momencie możesz zaangażować naprawdę małe dzieci, o ile mogą trzymać kawałek Lego! Zaczęliśmy od prostego kwadratowego mieszkania, dopóki wszystko nie działało, a potem stało się bardziej odważne z psim botem. Wspaniałą rzeczą jest to, że możesz odbudować ciało robota tak, jak chcesz. Zacznij od stworzenia domu dla Pi. Pamiętaj, aby zostawić miejsce na porty USB i kable zasilające. Wbuduj sporą ilość luzu w każdą zbudowaną obudowę. Wszystko jest w porządku, jeśli trochę się trzęsie i nie możesz być zbyt dokładny z Lego.

Wykorzystaliśmy okna Lego, aby zapewnić dostęp do portów USB, których będziesz potrzebować później.

Krok 7: Przygotuj Pi

Teraz jest dobry moment, aby uruchomić Pi i uruchomić robota.

Opracowuję kod do użycia z tym projektem w Git hub. Przeczytaj mnie na stronach git hub zawiera instrukcje instalacji całego oprogramowania na Pi, ale przeprowadzę Cię również przez kolejne kroki tutaj.

Najpierw uruchom Pi, podłączając kabel zasilający. Musisz podłączyć kabel HDMI do telewizora i użyć klawiatury i myszy USB. Pierwszą rzeczą jest połączenie się z Wi-Fi. robisz to, klikając ikonę w prawym górnym rogu pulpitu Raspian i potwierdzając szczegóły. Po podłączeniu do Wifi możesz zrobić wszystko inne z wiersza poleceń, więc jeśli wolisz, możesz połączyć się z Pi za pomocą ssh, ale na razie, gdy jesteśmy podłączeni do telewizora, możemy otworzyć terminal z pulpitu Raspian.

Krok 8: Zainstaluj oprogramowanie na Pi

Otwórz terminal na Pi i wpisz następujące polecenia.

aktualizacja sudo apt-get

To aktualizuje Raspian o najnowsze oprogramowanie.

Następnie zainstaluj oprogramowanie kamery internetowej

sudo apt-get install motion

W tym momencie musisz również skonfigurować ruch. Wymieniłem, co należy zaktualizować w jakich plikach na stronach github. Istnieje również instrukcja dotycząca uruchomienia kamery internetowej na twoim Pi. Zapoznaj się z ustawieniami i baw się nimi, gdy poczujesz się komfortowo z konfiguracją.

sudo apt-get zainstaluj python-dev python-pip

Instaluje to biblioteki Pythona, a także menedżera pakowania oprogramowania Pythona.

sudo pip zainstaluj 'pubnub>=4.1.2'

Instaluje to Pubnub, oprogramowanie zarządzające wiadomościami między panelem sterowania a robotem bezprzewodowym.

Instalacja tej części zajmuje trochę czasu, więc idź i zrób filiżankę herbaty !!

Krok 9: Zainstaluj oprogramowanie robota

Teraz zainstalowałeś wszystkie zależne bity i elementy oprogramowania, czas zainstalować kod wymagany do uruchomienia robota.

klon git

to utworzy folder lego-robot w twoim katalogu domowym.

Zanim będziesz mógł uruchomić kod robota, musisz utworzyć konto PubNub i uzyskać klucz publikowania i subskrypcji. możesz to zrobić, postępując zgodnie z instrukcjami rozpoczynania teraz w PubNub. Po skonfigurowaniu musisz otworzyć dwa pliki:

  • lego-robot/serwer/keys.py
  • lego-robot/klient/keys.js

i zastąp klucze pub i sub kluczami, które można uzyskać z pulpitu nawigacyjnego pubnub.

Zauważ, że wartość kanału może być dowolna, o ile pasuje na kliencie i serwerze.

Krok 10: Zainstaluj oprogramowanie kontrolera i sprawdź, czy wszystko działa

Zainstaluj oprogramowanie kontrolera i sprawdź, czy wszystko działa
Zainstaluj oprogramowanie kontrolera i sprawdź, czy wszystko działa
Zainstaluj oprogramowanie kontrolera i sprawdź, czy wszystko działa
Zainstaluj oprogramowanie kontrolera i sprawdź, czy wszystko działa

Na komputerze sklonuj kod git hub w taki sam sposób, jak zrobiliśmy to w robocie.

git klon

Być może nie masz zainstalowanego git na swoim komputerze. Jeśli nie, postępuj zgodnie z instrukcjami w git hub.

Masz również możliwość pobrania kodu jako pliku zip, chociaż radziłbym zainstalować GIT i skopiować pliki poprzez klonowanie repozytorium.

musisz zaktualizować plik lego-robot/client/keys.js o osobiste klucze publikowania i subskrypcji.

Kiedy skończysz, otwórz plik lego-robot/client/buttons.html w przeglądarce internetowej. Powinieneś teraz móc sterować robotem za pomocą przycisków sterowania.

Powyższy diagram pokazuje, co się dzieje:

  • Po kliknięciu przycisku wiadomość jest wysyłana do pubnub (przy użyciu Twojego klucza publikacji)
  • PubNub następnie przekazuje robotowi, który…
  • Nasłuchuje (używając klawisza subskrypcji) wiadomości
  • Robot następnie przekłada się na działanie.

Użyłem pubNub jako darmowego, szybkiego (w czasie rzeczywistym) i znacznie upraszczającego wysyłanie i odbieranie wiadomości za pomocą naprawdę ładnego API.

Możesz zagłębić się w kod klienta i serwera i zobaczyć wysyłane wiadomości za pomocą prostych klawiszy, takich jak „do przodu” i „do tyłu”.

Istnieje również kontroler w stylu joysticka pod adresem lego-robot/client/joystick.html.

Będę ulepszał te kontrolery i dodawał nowe przez cały czas, więc jeśli kiedykolwiek będziesz chciał zaktualizować oprogramowanie, możesz użyć polecenia „git pull”. Zachęcamy również do współtworzenia repozytorium git i tworzenia bardziej przyjaznych dla użytkownika kontrolek.

Teraz jesteś gotowy, aby sprawdzić, czy ruch działa poprawnie. Na terminalu Pi zmień katalog na lego-robot/server i wpisz:

sudo python robot.py

uruchamia to skrypt Pythona do nasłuchiwania wiadomości przychodzących z Pubnub.

Teraz spróbuj nacisnąć kilka przycisków na kontrolerze, powinieneś zobaczyć te odpowiedzi otrzymane na terminalu Pi (jak pokazano na powyższym obrazku), a robot.py tłumaczy te wiadomości na ruchy, mapując je na sygnały w GPIO Pi.

Powinieneś być w stanie poruszać robotem.

Krok 11: Przygotuj kamerę internetową i oświetlenie LED

Przygotuj kamerę internetową i oświetlenie LED
Przygotuj kamerę internetową i oświetlenie LED
Przygotuj kamerę internetową i oświetlenie LED
Przygotuj kamerę internetową i oświetlenie LED

Możesz użyć dowolnej kamery internetowej zgodnej z systemem Linux (większość z nich jest). Wybrałbym średni zakres (około 15 funtów), ponieważ próbowałem naprawdę taniego i nie mogłem uzyskać z niego żadnego wyraźnego obrazu. Pierwszym krokiem jest rozebranie kamerki, aby mieć tylko podstawową płytę i kamerę.

Jeśli chcesz zainstalować światła, weź światło LED i podłącz dwa przewody połączeniowe do każdego zacisku. Użyłem przewodów połączeniowych, które mają końcówkę żeńską na jednym końcu, dzięki czemu można je później łatwo podłączyć do pinów Pis GPIO. Drugi koniec przewodu trzeba odizolować, aby usunąć zacisk. Możesz tu również przylutować, aby nawiązać bezpieczne połączenie. Użyłem też folii termokurczliwej, którą możesz zakryć każdy drut, chociaż nie martwiłbym się, że wykonam zbyt dobrą robotę, dopóki nie będziesz zadowolony, że wszystko działa, wtedy możesz dokończyć i poprawić. Dobrym pomysłem jest również użycie rezystora, aby zapobiec spaleniu diody LED.

Tutaj znajduje się szczegółowa instrukcja opisująca sposób podłączenia diod LED.

Jak widać na zdjęciu, używam klocka Lego z otworem jako łatwego sposobu na zamontowanie diody LED na głowie robota.

Krok 12: Utwórz głowę z kamerą na nos i światłami

Stwórz głowę z kamerą na nos i światłami
Stwórz głowę z kamerą na nos i światłami
Stwórz głowę z kamerą na nos i światłami
Stwórz głowę z kamerą na nos i światłami
Stwórz głowę z kamerą na nos i światłami
Stwórz głowę z kamerą na nos i światłami

Stwórz obudowę głowicy dla kamery. Nie będę tutaj zbyt szczegółowy, bo czas na kreatywność. Jednak trzeba budować wokół aparatu. Pies-bot integruje kamerę z nosem i ma oczy jak diody LED. Upewnij się, że zostawiłeś otwór z tyłu głowy, aby wyprowadzić przewody.

Krok 13: Uzupełnij ciało

Uzupełnij ciało
Uzupełnij ciało
Uzupełnij ciało
Uzupełnij ciało
Uzupełnij ciało
Uzupełnij ciało

Teraz, gdy cieszysz się, że pies robot w zasadzie się porusza, możesz stworzyć obudowę dla akumulatorów. Użyłem paczki 4 baterii AA (w zestawie z kółkami i podstawą) oraz zestawu awaryjnej ładowarki do telefonu. Baterie AA są przeznaczone do silników prądu stałego do kół, a pakiet telefonu komórkowego do Pi. Dobrym pomysłem jest zapewnienie łatwego dostępu do akumulatorów, ponieważ będziesz musiał mieć do nich dostęp w celu naładowania i wymiany.

Gdy będziesz szczęśliwy, połóż dach nad Pi. Nie przejmuję się zbytnio ukrywaniem przewodów i obwodów, ponieważ to część obrazu robota. Jednak w tym momencie wszystko zależy od Ciebie. Możesz zastanowić się, jak ciężki jest twój bot, im cięższy, tym wolniej się porusza.

Krok 14: Zamontuj głowę

Zamontuj głowę
Zamontuj głowę
Zamontuj głowę
Zamontuj głowę
Zamontuj głowę
Zamontuj głowę

Czas połączyć wszystko.

Podłącz kabel USB kamery internetowej do przedniej części bota, korzystając z utworzonych otworów dostępowych. Możesz przymocować przewód do robota, tworząc obudowę Lego. Skróciłem też kabel USB, przecinając go i ponownie lutując, ale rób to tylko wtedy, gdy naprawdę masz ochotę zlutować 4 małe przewody. Łatwiej będzie kupić krótki przewód USB i ponownie podłączyć go z tyłu aparatu.

Musisz również podłączyć diody LED do pinów Pis GPIO, które nie są zajęte przez sterownik płyty silnika. Są to piny GPIO 20 i 21 oraz dwa zapasowe piny uziemiające w pobliżu. Użyj znajdujących się w pobliżu zapasowych kołków uziemiających. Jeśli światło nie działa, spróbuj przełączyć okrągłą masę za pomocą wyjścia GPIO. ABY obliczyć, które piny podłączyć do google dobry schemat GPIO.

Krok 15: Przetestuj diody LED i kamerę nosową

Przetestuj diody LED i kamerę nosową
Przetestuj diody LED i kamerę nosową

Aby uruchomić oprogramowanie kamery internetowej:

ruch sudo

Upewnij się również, że uruchomiłeś skrypt robot.py (jak opisano w poprzedniej instrukcji):

sudo python robot.py

Teraz powinno być możliwe użycie przełącznika świateł na kontrolerze do włączania i wyłączania świateł.

Kamera internetowa powinna nadawać na twoim adresie IP Pis na porcie 8080, więc na przykład wpisz następujące polecenie w przeglądarce internetowej.

192.168.1.2:8081

Znalazłem adres IP Pi, logując się do routera jako administrator i patrząc na podłączone urządzenia. Instrukcje, jak to zrobić, znajdują się zwykle z tyłu routera lub znajdują się w instrukcji routera online.

możesz eksplorować ustawienia konfiguracyjne oprogramowania Motion, jak opisano w poprzednim kroku. Uważam, że czasami przesyłanie strumieniowe się zatrzymuje, ale ogólnie działa OK.

Możesz uzyskać dostęp do tego strumienia wideo z dowolnego urządzenia z przeglądarką podłączoną do Twojej sieci Wi-Fi.

Krok 16: Wykończenie

Dostęp online

Powinieneś teraz móc sterować robotem z przeglądarki na komputerze. Jednak fajnie jest móc kontrolować bota z dowolnego urządzenia dotykowego, takiego jak iPad lub telefon.

Aby to zrobić, musisz umieścić pliki klienta (buttons.html itp.) na serwerze WWW.

Zacząłem od zainstalowania serwera WWW na Pi, który działa OK. Jednak łatwiej jest po prostu przesłać plik HTML na dowolny inny serwer WWW. Po prostu skopiowałem plik HTML na moje publiczne niebieskie konto hosta. Możesz chcieć zabezpieczyć dostęp do tych plików, ponieważ zawierają one podklucze pub do Twojego kanału pub nub. Gdy to zrobisz, możesz uzyskać dostęp do kontrolera z dowolnego urządzenia, nawet spoza domu.

Automatyczny start

Inną przydatną rzeczą do zrobienia jest zaktualizowanie skryptu \etc\rc.local na twoim Raspberry Pi; dodając te dwie linie:

  • ruch sudo
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Będą one działać przy każdym uruchomieniu Pi, więc nie musisz ręcznie uruchamiać polecenia.

Krok 17: Baw się dobrze

Baw się dobrze !
Baw się dobrze !

To wszystko.

Zachęcamy do zostawiania komentarzy, jeśli utkniesz, a jeśli chcesz ulepszyć jakiekolwiek oprogramowanie, weź udział w repozytorium github. Będę kontynuował pracę nad tym projektem i oto kilka pomysłów:

  • Kontroler w stylu „duży trak”, w którym programujesz sekwencję poleceń, takich jak „w lewo 10, do przodu 6, do tyłu 2…”, a następnie naciskasz „bieg”, a robot wykonuje polecenia.
  • Odchylana szyjka, dzięki której możesz patrzeć w górę za pomocą kamery internetowej
  • Głośnik, który tłumaczy tekst z kontrolera na mowę
  • Sterowanie głosowe

Pozdrawiam

Piotr

Zalecana: