Spisu treści:

Drukowany w 3D robot Raspberry Pi Zero: 12 kroków
Drukowany w 3D robot Raspberry Pi Zero: 12 kroków

Wideo: Drukowany w 3D robot Raspberry Pi Zero: 12 kroków

Wideo: Drukowany w 3D robot Raspberry Pi Zero: 12 kroków
Wideo: Palette 2 Pro: Wielokolorowy druk z dowolnej drukarki 3D! 2024, Lipiec
Anonim
Image
Image
Drukowany w 3D robot Raspberry Pi Zero
Drukowany w 3D robot Raspberry Pi Zero
Drukowany w 3D robot Raspberry Pi Zero
Drukowany w 3D robot Raspberry Pi Zero

Czy kiedykolwiek chciałeś zbudować robota, ale po prostu nie miałeś wszystkich materiałów, aby go zbudować bez niepotrzebnie nieporęcznego podwozia? Drukarki 3D są tutaj, aby uratować dzień! Nie tylko mogą tworzyć części, które są kompatybilne z praktycznie każdym sprzętem, ale mogą to robić w bardzo wydajny sposób. Tutaj pokażę, jak stworzyć bardzo prostego robota z częściami drukowanymi w 3D, Raspberry Pi Zero i Pi Camera. Zachęcam do przejmowania i modyfikowania tego, co zrobiłem, aby dopasować je do potrzeb praktycznych lub rozrywkowych. Aby sterować robotem i wyświetlać obraz z kamery, zbudowałem aplikację na iOS (aplikację PiBotRemote), której możesz swobodnie używać i modyfikować. Jednak prawdziwa siła projektów takich jak ten wynika z różnorodności możliwości zarówno sprzętu, jak i oprogramowania. Więc zachęcam cię do kreatywności i dodawania do tego, co zrobiłem, w zależności od tego, co wiesz, jak to zrobić. Na przykład myślę, że fajnie byłoby, gdyby ten robot wykorzystywał widzenie maszynowe do rozpoznawania otoczenia i poruszania się w sposób podobny do autonomicznego samochodu.

Krok 1: Wymagania

Wymagania
Wymagania
  • Materiały

    • Wymagane (około 75 USD)

      • Raspberry Pi Zero W (10 USD)
      • Karta Micro SD (8,25 USD)
      • 40-pinowy nagłówek (3,25 USD)
      • Przewody połączeniowe (6,86 USD)
      • Bateria USB (5,00 USD)
      • Mikromotoreduktor 900 obr./min x 2 (12,95 USD każdy)
      • Kierowca silnika (4,95 USD)
      • Koła (6,95 USD)
      • Łożysko kulkowe ze stali 14 mm (0,62 USD)
      • Śruby, nakrętki i dystanse (patrz poniżej)
    • Opcjonalnie (około 45 USD)

      • diody LED
      • Kamera Raspberry Pi (29,95 USD)
      • Adapter do aparatu Pi Zero (5,95 USD)
      • Silnik serwo (8,95 USD)
    • Narzędzia
      • Drukarka 3D i żarnik
      • Komputer (Będę używał Maca i będziesz go potrzebować, jeśli chcesz korzystać z aplikacji PiBot Remote)
      • iPhone/iPad/iPod Touch (jeśli będziesz korzystać z aplikacji)
      • Wiertarka
      • Wkrętak z wymiennymi końcówkami

Więcej informacji o częściach

  • Pi Zero: Jeśli chcesz używać Pi Zero tylko w tym projekcie, nie ma problemu z bieganiem bez głowy przez cały czas. W przeciwnym razie, jeśli kiedykolwiek będziesz chciał podłączyć wyjście HDMI lub urządzenie peryferyjne USB, będziesz musiał kupić dodatkowe adaptery. W tym przypadku jest to najprawdopodobniej najbardziej opłacalna opcja zakupu zestawu Pi Zero, takiego jak ten (24 USD), który kupiłem od amazon. Chociaż nadal musiałem kupić kartę micro SD, ten zestaw był dostarczany z Pi Zero, obydwoma niezbędnymi przejściówkami i wieloma różnymi nagłówkami. Wszystko to może się przydać.
  • Karta Micro SD: Możesz użyć dowolnej karty Micro SD, o ile ma ona co najmniej 8 GB pamięci.
  • Przewody zworek: Lubię takie zworki, ponieważ są połączone w wiązkę. To pozwala mi oddzielić, powiedzmy, sekcję 9-przewodową i zgrabnie połączyć Pi i sterownik silnika.
  • Bateria USB: Bateria, którą kupiłem od Sparkfun, została wycofana. W rezultacie będziesz musiał znaleźć go gdzie indziej. Ten, który połączyłem, wyglądał podobnie do mojego, ale go nie kupiłem i może być konieczne zmodyfikowanie plików wydruku, aby pasowały do baterii. Upewnij się, że znajdziesz baterię z dołączonym kablem micro USB, ponieważ pozwala to podłączyć bezpośrednio do pi bez nadmiernego przewodu.
  • Sterownik silnika: Polecam używanie nurka, z którym się połączyłem, ponieważ jest dość tani, a nadruk jest zaprojektowany tak, aby dokładnie pasował do tej deski. Ponadto inne tablice mogą działać inaczej i możesz mieć inne wyniki.
  • Kula stalowa 14 mm: Użyłem tej kuli po prostu dlatego, że zdarzyło mi się, że leżała wokół. Możesz użyć innych rozmiarów, ale może być konieczna zmiana rozmiaru gniazda. Kula będzie 3 kołem dla naszego robota. Jest to jeden z obszarów projektowania mojego robota, który jest obecnie najbardziej problematyczny i przydałby się najwięcej ulepszeń. Chociaż działa dobrze na gładkich, twardych powierzchniach, ma problemy z dywanami i szorstkimi powierzchniami. Zapraszam do zmiany tego obszaru swojego projektu.
  • Śruby, nakrętki, elementy dystansowe: Być może będziesz musiał trochę popracować, aby znaleźć śruby, które będą dla Ciebie odpowiednie. Po prostu znalazłem śruby mocujące Pi, a także śruby utrzymujące mocowanie kamery Pi razem w kolekcji śrub mojego taty. Do mocowania silnika i gniazd użyłem tych (2,95 USD) śrub i tych (1,50 USD) nakrętek, które są dostępne w Sparkfun. Dystanse i 8 śrub (przypadkowo dodałem tylko 4 na zdjęciu), które trzymają robota razem, wziąłem z nieużywanych zestawów VEX w mojej szkole.
  • Diody LED: Jestem pewien, że wiesz, gdzie możesz łatwo znaleźć niektóre diody LED. Wybierz kolory, które mają reprezentować funkcje: zasilanie, połączenie, ścieżka odtwarzania robota i instrukcje odbierania przez robota.
  • Kamera i serwo: W zależności od tego, co chcesz zrobić z robotem, możesz zdecydować się nie uwzględniać kamery i serwa, ponieważ nie są one konieczne do podstawowego ruchu i dodać 45 USD do kosztu robota.

Krok 2: Konfiguracja Pi Zero

Konfiguracja Pi Zero
Konfiguracja Pi Zero

Kliknij ten link, aby skonfigurować bezgłową instalację na swoim Raspberry Pi Zero W

  • Nie zapominaj, że Pi Zero nie może połączyć się z siecią Wi-Fi 5GHz
  • Pamiętaj, aby postępować zgodnie z instrukcjami dotyczącymi Raspbian Stretch lub nowszych

Po pomyślnym połączeniu przez SSH z pi, uruchom

sudo raspi-config

i zmień następujące konfiguracje:

  • Zmień swoje hasło. Bardzo niebezpieczne jest pozostawienie domyślnego hasła malinowego. Upewnij się, że pamiętasz to hasło.
  • W opcjach sieciowych zmień nazwę hosta z raspberrypi na coś krótszego, np. pizero lub pibot. Do końca tego samouczka będę używał pibota. Pamiętaj, aby zapamiętać, co tutaj umieściłeś.
  • W opcji Boot -> Desktop / CLI wybierz Console Autologin
  • Przejdź do opcji interfejsu i włącz kamerę

Wybierz Zakończ i uruchom ponownie urządzenie.

Krok 3: Skonfiguruj sieć AdHoc

Tworząc sieć AdHoc, będziemy mogli podłączyć nasze urządzenie sterujące bezpośrednio do robota bez żadnych pośredników. Pozwoli to na szybsze przesyłanie strumieniowe wideo i mniejsze opóźnienia kontroli. Jednak ten krok nie jest konieczny, ponieważ wszystko będzie nadal działać przez normalną sieć Wi-Fi.

Najpierw musisz pobrać i rozpakować wszystkie niezbędne pliki z GitHub. W terminalu przejdź do pobranego folderu i wyślij folder PiBotRemoteFiles do pi za pomocą polecenia:

scp -r PiBotRemoteFiles/ [email protected]:Desktop/

To wysyła wszystkie niezbędne pliki do robota, który będzie nim sterował i skonfiguruje sieć AdHoc. Upewnij się, że pliki znajdują się w folderze o nazwie „PiBotRemoteFiles”, który znajduje się na pulpicie; w przeciwnym razie wiele rzeczy nie zadziała. Jeśli będziesz korzystać z aplikacji PiBot Remote, możesz przełączać się między normalną siecią Wi-Fi a siecią AdHoc w ustawieniach aplikacji. W przeciwnym razie możesz to zmienić ręcznie przez SSH za pomocą jednego z następujących poleceń:

sudo bash adhoc.sh

sudo bash wifi.sh

Oczywiście upewnij się, że przeszedłeś do folderu PiBotRemoteFiles przed uruchomieniem poprzednich poleceń. Wszelkie zmiany między AdHoc a Wi-Fi zaczną obowiązywać dopiero po następnym ponownym uruchomieniu. Jeśli skonfigurowano AdHoc, powinieneś zobaczyć sieć PiBot po uruchomieniu Pi Zero.

Krok 4: Dodaj diodę LED zasilania

Dodaj diodę LED zasilania
Dodaj diodę LED zasilania

Chociaż z pewnością nie jest to konieczne, przydatne może być posiadanie światła zasilania. Aby to aktywować, SSH do Pi Zero i uruchom polecenie:

sudo nano /etc/bash.bashrc

I dodaj następujący wiersz na końcu pliku:

python /home/pi/Desktop/PiBotRemoteFiles/startup.py

Później zmienimy pin GPIO powiązany z diodą zasilania.

Krok 5: Konfiguracja interfejsu internetowego kamery RPi

Konfiguracja interfejsu internetowego kamery RPi
Konfiguracja interfejsu internetowego kamery RPi
Konfiguracja interfejsu internetowego kamery RPi
Konfiguracja interfejsu internetowego kamery RPi

Aby uzyskać dostęp do strumienia wideo kamer Raspberry Pi, użyjemy interfejsu internetowego RPi-Cam. Informacje o tym module można znaleźć tutaj, a ich kod znajduje się na GitHub. Aby zainstalować moduł, musimy najpierw zaktualizować nasze Pi. Może to potrwać do około 10 minut.

aktualizacja sudo apt-get

sudo apt-get dist-upgrade

Następnie musimy zainstalować git:

sudo apt-get zainstaluj git

I wreszcie możemy zainstalować moduł:

klon git

RPi_Cam_Web_Interface/install.sh

Po zainstalowaniu modułu pojawi się okno konfiguracyjne. Jeśli chcesz dodać nazwę użytkownika i hasło, upewnij się, że używasz tej samej nazwy użytkownika i hasła, co na swoim koncie pi. W przeciwnym razie aplikacja PiBot Remote nie będzie w stanie odebrać strumienia z kamery.

Teraz, jeśli przejdziesz do przeglądarki na urządzeniu w tej samej sieci co Pi i jeśli kamera jest podłączona do Pi, możesz odebrać strumień, przechodząc do https://pibot.local/html/#. Interfejs RPi pozwala na łatwe sterowanie kamerą, a po dotknięciu lub kliknięciu wideo może stać się pełnoekranowym. Będziemy tego później używać w zdalnej aplikacji PiBot.

Skończyliśmy konfigurowanie Pi Zero, przejdźmy do zabawnych rzeczy!

Krok 6: Wydrukuj wszystko

Wydrukuj wszystko
Wydrukuj wszystko
Wydrukuj wszystko
Wydrukuj wszystko

Chociaż używałem drukarki 3D Dremel z filamentem PLA, możesz korzystać z własnych drukarek i materiałów. Wszystkie pliki STL znajdują się w folderze pobranym z GitHub. Udało mi się wydrukować wszystko w czterech partiach: górną płytę, dolną płytę, wszystkie mocowania i gniazda oraz pierścień. Bądź kreatywny w wyborze kolorów i w pełni wykorzystaj możliwości drukarek 3D. Moja drukarka nie posiadała podwójnej ekstruzji ani żadnych takich wymyślnych funkcji, ale jeśli masz dostęp do takiej drukarki, polecam nadrukować zdobienia na wierzchu górnej płyty w kontrastowym kolorze. Prawdopodobnie będziesz musiał spiłować i wiercić, aby dopasować niektóre elementy.

Zapraszam do pomalowania górnej płyty, aby symbole i dekoracje LED były widoczne.

Być może zauważyłeś dwa mocowania na końcach dolnej płyty, które przypominają system mocowania GoPro. Możesz ich użyć, aby przymocować dowolne elementy z przodu lub z tyłu robota. W pliku blendera można znaleźć uchwyt do ścierania na sucho, którego użyłem, a także obiekt szablonu, który możesz zmodyfikować, aby trzymać swój obiekt.

Możesz także określić dowolny kierunek jako do przodu; Do tej pory wymieniałem się co najmniej trzy razy.

Krok 7: Przylutuj na nagłówkach

Przylutuj na nagłówkach
Przylutuj na nagłówkach
Przylutuj na nagłówkach
Przylutuj na nagłówkach
Przylutuj na nagłówkach
Przylutuj na nagłówkach

Chociaż wybrałem lutowanie na nagłówkach do PiZero, możesz przylutować przewody bezpośrednio do pi. Jeśli zdecydujesz się na lutowanie nagłówków tak jak ja, sugerowałbym użycie takiego pod kątem prostym, jak mój. Dzięki temu przewody są znacznie bardziej ukryte i wszystko wygląda schludniej.

Teraz czas na przylutowanie sterownika silnika. Dolna płyta została zaprojektowana specjalnie dla tego sterownika silnika Sparkfun i pozwala na miejsce na główkę pinów, aby wystawała od spodu. Pozwala to na łatwą wymianę kołków silnika, dzięki czemu można zamieniać lewy i prawy oraz przód i tył. Chociaż dołączam teraz następujący krok, zdecydowanie zalecam poczekanie na kilka kroków, aż będziesz wiedział dokładnie, jak długie muszą być twoje przewody. Odetnij 9-przewodową sekcję pinów zworki, które są kompatybilne z pinami nagłówka, które właśnie wlutowałeś do pi. Ostrożnie przylutuj każdy przewód, aby grupa mogła wspólnie leżeć płasko i owijać się wokół akumulatora. Odmierz wcześniej długość drutu, aby nie skończyć z zbyt małą lub zbyt dużą ilością.

Wreszcie czas na przylutowanie diod. Przyklej je w odpowiednich miejscach na górnej płycie i złóż wszystkie kołki uziemiające jeden na drugim. Przylutuj jeden przewód do ziemi i jeden przewód do każdej diody LED. Od lewej do prawej funkcje diod LED to: moc robota, łączność aplikacji z robotem, robot odtwarza zapisaną ścieżkę i instrukcje są odbierane przez robota.

Przylutuj również przewody do każdego silnika, aby można je było podłączyć do złączy wychodzących ze sterownika silnika.

Krok 8: Przykręć silnik i gniazdo

Przykręć silnik i gniazdo
Przykręć silnik i gniazdo
Przykręć silnik i gniazdo
Przykręć silnik i gniazdo
Przykręć silnik i gniazdo
Przykręć silnik i gniazdo
Przykręć silnik i gniazdo
Przykręć silnik i gniazdo

Najpierw włóż każdy silnik do uchwytu silnika. Następnie włóż każdą śrubę częściowo, aż końcówka dotknie powierzchni uchwytu lub gniazda. Następnie dla każdej śruby przytrzymaj nakrętkę po drugiej stronie płyty podczas dokręcania każdej śruby. Pamiętaj, aby umieścić łożysko pomiędzy dwoma gniazdami podczas przykręcania drugiego. Umieść sterownik silnika na swoim miejscu i podłącz silniki. Nie ma znaczenia, który silnik jest podłączony do każdego wyjścia, ponieważ możesz to łatwo zmienić, gdy robot jest już uruchomiony.

Krok 9: Przygotuj kamerę i serwo

Przygotuj kamerę i serwo
Przygotuj kamerę i serwo
Przygotuj kamerę i serwo
Przygotuj kamerę i serwo
Przygotuj kamerę i serwo
Przygotuj kamerę i serwo
Przygotuj kamerę i serwo
Przygotuj kamerę i serwo

Podłącz taśmę adaptera Pi Zero do aparatu i skręć obudowę aparatu. Umieść serwo na swoim miejscu. Możesz wywiercić otwory na śruby dla serwomechanizmu, ale jest wystarczająco ciasny. Przymocuj kamerę do serwomechanizmu w dowolny sposób. Obecnie mam w uchwycie dwa otwory, ze zszywką przechodzącą przez tubę serwo i obudowę aparatu. Pozostawia to jednak dużo miejsca na ruchy, więc możesz użyć super kleju. Skieruj kamerę w dowolnym kierunku i przykręć serwomechanizm na miejscu. Przełóż taśmę aparatu przez szczelinę przy malinach i podłącz ją do pi. Na koniec złóż wstążkę, aby przylegała płasko do baterii.

Krok 10: Składanie wszystkiego razem

Składanie wszystkiego razem
Składanie wszystkiego razem
Składanie wszystkiego razem
Składanie wszystkiego razem
Składanie wszystkiego razem
Składanie wszystkiego razem
Składanie wszystkiego razem
Składanie wszystkiego razem

W końcu nadszedł czas, aby wszystko stało się jednym kawałkiem. Podłącz przewody od diod LED, sterownika silnika i serwomechanizmu do Pi w taki sposób, aby używać tylko prawidłowych pinów, ale trzymaj je blisko wyjścia. Następnie umieść przewody przez ich szczeliny i przykręć pi na miejscu. Został zaprojektowany tak, aby był ciasno dopasowany, aby utrzymać porządek, więc nie poddawaj się, gdy wydaje się, że nie ma wystarczająco dużo miejsca na te duże szpilki.

Wkręć każdy wspornik w dolną płytę, aby każdy był bezpieczny. Włóż baterię i upewnij się, że kabel zasilający pasuje do gniazda i do portu zasilania Pi Zero. Owiń wokół niego przewody sterownika silnika i załóż pierścień wokół wszystkiego. Po wciśnięciu wszystkich przewodów w przestrzeń między baterią a górną płytą, mały grzbiet na dolnej płycie do pierścienia i dwa wysokie punkty na pierścieniu do górnej płyty. Teraz możesz mocno przykręcić górną płytę i zbudowałeś swojego robota!

Krok 11: Otwórz projekt Xcode

Otwórz projekt Xcode
Otwórz projekt Xcode
Otwórz projekt Xcode
Otwórz projekt Xcode
Otwórz projekt Xcode
Otwórz projekt Xcode

Kolejne kilka kroków ma zastosowanie tylko wtedy, gdy będziesz korzystać z aplikacji PiBot Remote, która wymaga komputera Mac i urządzenia IOS.

Ponieważ jestem tani i nie mam opłaconego konta Apple Developer, mogę udostępnić tylko projekt Xcode, a nie samą aplikację. Następnie możesz samodzielnie otworzyć projekt, zmienić podpis i uruchomić go na własnym urządzeniu.

Jeśli nie masz jeszcze Xcode, pobierz go ze sklepu z aplikacjami na Maca. Po załadowaniu Xcode wybierz „Otwórz inny projekt” w prawym dolnym rogu i przejdź do folderu „PiBot Remote” w pobraniu GitHub.

Po otwarciu projektu kliknij plik główny w widoku po lewej stronie o nazwie „PiBot Remote”.

Zmień „Identyfikator pakietu” na coś unikalnego. Możesz zastąpić moje imię swoim lub dodać coś na końcu.

Zmień drużynę na swoje osobiste konto. Jeśli go nie masz, wybierz „Dodaj konto”.

Naciśnij Command-B, aby zbudować i miej nadzieję, że wszystko działa poprawnie. Po pomyślnym zbudowaniu projektu podłącz urządzenie do komputera. Kliknij przycisk po prawej stronie przycisków odtwarzania i zatrzymania w lewym górnym rogu i wybierz swoje urządzenie.

Naciśnij Command-R, a aplikacja powinna uruchomić się na twoim urządzeniu. Twoje urządzenie może wymagać weryfikacji tożsamości przed uruchomieniem i będzie potrzebować dostępu do Internetu tylko w tym czasie.

Krok 12: Korekty końcowe

Korekty końcowe
Korekty końcowe

Możesz dostosować numery pinów dla wszystkiego, z wyjątkiem diody LED zasilania w aplikacji PiBot Remote. Aby zmienić pin diody zasilania, SSH do PI i uruchom polecenie:

/home/pi/Pulpit/PiBotRemoteFiles/startup.py

Zmień dwa wystąpienia 36 na dowolny pin GPIO, którego użyłeś. Następnie naciśnij Control-X, y, enter.

Zarówno aplikacja, jak i serwer są podatne na błędy. Użyj konsoli w trybie debugowania, aby dowiedzieć się, co się dzieje. W razie wątpliwości spróbuj ponownie uruchomić Pi i/lub ponownie uruchomić aplikację. Czasami po błędzie kodu aplikacja nie może ponownie nawiązać połączenia, ponieważ adres jest już używany. W takim przypadku po prostu zmień port, a aplikacja powinna się połączyć.

Ponadto, prowadząc robota z akceleratorem na swoim urządzeniu, musisz użyć niewygodnych gestów, aby skalibrować, zatrzymać/uruchomić, dostosować kamerę i pokazać/ukryć pasek kart

  • Kalibracja: dotknij i przytrzymaj dwoma palcami przez 0,5 s (jeśli Twoje urządzenie to obsługuje, po skalibrowaniu urządzenia poczujesz dotykową informację zwrotną).
  • Regulacja kamery: Najbardziej skomplikowany gest, wykonaj czynności opisane wcześniej, aby przeprowadzić kalibrację, a następnie przeciągnij palcami w górę, aby przesunąć kamerę w górę, i przeciągnij w dół, aby przesunąć kamerę w dół. Regulacja zostanie wykonana po podniesieniu palców.
  • Przełączanie Stop/Start: Po przejściu do widoku akcelerometru robot jest początkowo ustawiony na ignorowanie poleceń ruchu. Aby przełączyć to ustawienie, kliknij dwukrotnie dwoma palcami.
  • Pokaż/ukryj pasek kart: Aby włączyć wyświetlanie na pełnym ekranie podczas jazdy z akcelerometrem, pasek kart automatycznie ukryje się po kilku sekundach. Aby pokazać go ponownie, przesuń palcem w górę. Aby to ukryć, przesuń palcem w dół.

Jeśli frustrują Cię problemy i niedogodności związane z moją aplikacją, pamiętaj, że nie mam żadnego formalnego wykształcenia w programowaniu. Tak więc cieszę się z rad i sugestii. Zapraszam do rozwidlenia moich plików GitHub.

Jeśli dokonam jakichkolwiek zmian na GitHub, zastosuj je do robota, pobierając pliki i wysyłając je za pośrednictwem rekurencyjnego SCP do Pi w odpowiedniej lokalizacji. Jeśli sklonowałeś projekt Xcode, po prostu pobierz zmianę. W przeciwnym razie możesz pobrać projekt i wykonać krok 11, aby otworzyć aplikację na swoim urządzeniu.

Jeśli zrobisz coś interesującego z tym samouczkiem, daj mi znać w komentarzach, jestem ciekaw, jak można go wykorzystać jako szablon do wszelkiego rodzaju fascynujących projektów.

Zalecana: