Spisu treści:

System monitorowania zwierząt zasilany Arduino i Raspberry Pi: 19 kroków (ze zdjęciami)
System monitorowania zwierząt zasilany Arduino i Raspberry Pi: 19 kroków (ze zdjęciami)

Wideo: System monitorowania zwierząt zasilany Arduino i Raspberry Pi: 19 kroków (ze zdjęciami)

Wideo: System monitorowania zwierząt zasilany Arduino i Raspberry Pi: 19 kroków (ze zdjęciami)
Wideo: Monitoring zwierząt na pastwiskach 2024, Listopad
Anonim
Image
Image
System monitorowania zwierząt zasilany Arduino i Raspberry Pi
System monitorowania zwierząt zasilany Arduino i Raspberry Pi
System monitorowania zwierząt zasilany Arduino i Raspberry Pi
System monitorowania zwierząt zasilany Arduino i Raspberry Pi

Niedawno na wakacjach zdaliśmy sobie sprawę z braku kontaktu z naszym pupilem Beaglem. Po kilku badaniach znaleźliśmy produkty wyposażone w statyczną kamerę, która pozwalała monitorować i komunikować się ze swoim zwierzakiem. Systemy te miały pewne zalety, ale brakowało im wszechstronności. Na przykład, każdy pokój wymagał jednostki do śledzenia twojego zwierzaka w całym domu.

Dlatego opracowaliśmy solidnego robota, który może manewrować po domu i monitorować swojego zwierzaka, korzystając z mocy internetu rzeczy. Aplikacja na smartfona została zaprojektowana do interakcji z Twoim zwierzakiem za pośrednictwem transmisji wideo na żywo. Podwozie robota jest produkowane cyfrowo, ponieważ kilka części zostało stworzonych za pomocą druku 3D i cięcia laserowego. Na koniec postanowiliśmy dodać funkcję bonusową, która rozda smakołyki, aby nagrodzić Twojego zwierzaka.

Kontynuuj, aby stworzyć własny system monitorowania zwierząt, a może nawet dostosować go do swoich wymagań. Obejrzyj film, do którego link znajduje się powyżej, aby zobaczyć, jak zareagował nasz zwierzak i lepiej zrozumieć robota. Oddaj głos w „Konkursie robotyki”, jeśli podobał Ci się projekt.

Krok 1: Przegląd projektu

Przegląd projektu
Przegląd projektu
Przegląd projektu
Przegląd projektu

Aby przedstawić koncepcję robota monitorującego zwierzęta, najpierw zaprojektowaliśmy go na fusion 360. Oto niektóre z jego funkcji:

Robotem można sterować za pomocą aplikacji przez Internet. Dzięki temu użytkownik może połączyć się z robotem z dowolnego miejsca

Wbudowana kamera, która przesyła na żywo obraz wideo do smartfona, może pomóc użytkownikowi w manewrowaniu w domu i interakcji ze zwierzęciem

Dodatkowa miska na smakołyki, która może zdalnie nagrodzić Twojego zwierzaka

Cyfrowo wyprodukowane części, które pozwalają dostosować robota

Do połączenia z Internetem użyto Raspberry Pi, ponieważ ma wbudowany tryb Wi-Fi

Użyto Arduino wraz z tarczą CNC do wydawania poleceń dla silników krokowych

Krok 2: Potrzebne materiały

Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały

Oto lista wszystkich komponentów potrzebnych do stworzenia własnego robota monitorującego zwierzęta opartego na Arduino i Raspberry Pi. Wszystkie części powinny być powszechnie dostępne i łatwe do znalezienia.

ELEKTRONIKA:

  • Arduino Uno x 1
  • Raspberry Pi (flashowane najnowszym raspbianem) x 1
  • Tarcza CNC x 1
  • A4988 Sterownik silnika krokowego x 2
  • Picamera x 1
  • Ultradźwiękowy czujnik odległości x 1
  • 11.1 v Bateria Lipo x 1
  • Silnik krokowy NEMA 17 x 2
  • 5v UBEC x 1

SPRZĘT KOMPUTEROWY:

  • Kółka x 2 (koła, których używaliśmy miały średnicę 7cm)
  • Kółka samonastawne x 2
  • Nakrętki i śruby M4 i M3

Całkowity koszt tego projektu, z wyłączeniem Arduino i Raspberry Pi, wynosi około 50 $.

Krok 3: Części wyprodukowane cyfrowo

Części produkowane cyfrowo
Części produkowane cyfrowo
Części produkowane cyfrowo
Części produkowane cyfrowo

Niektóre części, których użyliśmy w tym projekcie, musiały być wykonane na zamówienie. Zostały one najpierw wymodelowane w Fusion 360, a następnie wykonane za pomocą drukarki 3D i wycinarki laserowej. Części drukowane w 3D nie wytrzymują dużego obciążenia, więc standardowy PLA z wypełnieniem 20% działa świetnie. Poniżej znajduje się lista wszystkich części drukowanych w 3D i wycinanych laserowo:

Części drukowane 3D:

  • Uchwyt krokowy x 2
  • Mocowanie systemu wizyjnego x 1
  • Elektronika dystansowa x 4
  • Przekładka pionowa x 4
  • Wzmocnienie podwozia x 2
  • Pokrywka miski na przysmaki x 1
  • Miska na przysmaki x 1
  • Tylne mocowanie krokowe x 1
  • Krążek uzwojenia x 1

Części wycinane laserowo:

  • Panel dolny x 1
  • Panel górny x 1

Spakowany folder zawierający wszystkie pliki STL i pliki do cięcia laserowego można znaleźć poniżej.

Krok 4: Podłączanie silnika krokowego

Mocowanie silnika krokowego
Mocowanie silnika krokowego
Mocowanie silnika krokowego
Mocowanie silnika krokowego
Mocowanie silnika krokowego
Mocowanie silnika krokowego

Gdy wszystkie części zostaną wydrukowane w 3D, rozpocznij montaż, montując silnik krokowy w uchwycie krokowym. Zaprojektowany przez nas uchwyt silnika krokowego jest przeznaczony do modelu NEMA 17 (jeśli używa się różnych silników krokowych, będzie wymagał innego mocowania). Przełóż wał silnika przez otwór i zabezpiecz go na miejscu za pomocą śrub montażowych. Po wykonaniu tych czynności oba silniki powinny być bezpiecznie przymocowane do uchwytów.

Krok 5: Montaż stepperów do dolnego panelu

Montaż stepperów do panelu dolnego
Montaż stepperów do panelu dolnego
Montaż stepperów do panelu dolnego
Montaż stepperów do panelu dolnego
Montaż stepperów do panelu dolnego
Montaż stepperów do panelu dolnego

Do mocowania uchwytów do wyciętego laserowo panelu dolnego użyliśmy śrub M4. Przed zabezpieczeniem nakrętkami dodaj wydrukowane w 3D paski wzmacniające podwozie, a następnie dokręć nakrętki. Paski służą do równomiernego rozłożenia obciążenia na panelu akrylowym.

Na koniec przeprowadź przewody przez odpowiednie szczeliny na panelu. Pamiętaj, aby przeciągnąć je do końca, aby uniknąć zaplątania się w koła.

Krok 6: Montaż kół

Montaż kół
Montaż kół
Montaż kół
Montaż kół
Montaż kół
Montaż kół

Akrylowy panel ma dwie sekcje wycięte w celu dopasowania do kół. Koła, których użyliśmy, miały średnicę 7 cm i były dostarczane ze śrubami dociskowymi, które przymocowano do wałków krokowych 5 mm. Upewnij się, że koło jest odpowiednio zabezpieczone i nie ślizga się na wale.

Krok 7: Przednie i tylne kółka samonastawne

Przednie i tylne kółka samonastawne
Przednie i tylne kółka samonastawne
Przednie i tylne kółka samonastawne
Przednie i tylne kółka samonastawne
Przednie i tylne kółka samonastawne
Przednie i tylne kółka samonastawne
Przednie i tylne kółka samonastawne
Przednie i tylne kółka samonastawne

Aby umożliwić płynne poruszanie się podwozia, zdecydowaliśmy się na umieszczenie kółek samonastawnych z przodu i z tyłu robota. Zapobiega to nie tylko przewróceniu się robota, ale także umożliwia swobodne obracanie się podwozia w dowolnym kierunku. Kółka samonastawne są dostępne we wszystkich rozmiarach, w szczególności nasze są wyposażone w pojedynczą obrotową śrubę, którą zamontowaliśmy do podstawy i użyliśmy przekładek drukowanych w 3D, aby dostosować wysokość, aby robot był idealnie poziomy. Dzięki temu podstawa podwozia jest kompletna i ma dobrą stabilność.

Krok 8: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Gdy podstawa obudowy jest już w pełni zmontowana, czas zamontować elektronikę na akrylowym panelu. W panelu akrylowym wykonaliśmy otwory, które pokrywają się z otworami montażowymi Arduino i Raspberry Pi. Używając wsporników wydrukowanych w 3D, unieśliśmy elektronikę nieco ponad panele akrylowe, dzięki czemu całe nadmiarowe okablowanie można schować pod spodem. Zamontuj Arduino i Raspberry Pi w odpowiednich miejscach montażowych za pomocą nakrętek i śrub M3. Po zamocowaniu Arduino podłącz nakładkę CNC do Arduino i podłącz przewody krokowe w poniższej konfiguracji.

  • Lewy krokowy do portu osi X tarczy CNC
  • Prawy krokowy do portu osi Y tarczy CNC

Po podłączeniu silników krokowych podłącz Arduino do Raspberry Pi za pomocą kabla USB Arduino. W końcu Raspberry Pi i Arduino będą się komunikować za pomocą tego kabla.

Uwaga: przód robota to bok z Raspberry Pi

Krok 9: System wizyjny

System wizyjny
System wizyjny
System wizyjny
System wizyjny
System wizyjny
System wizyjny

Podstawowym wejściem środowiska dla naszego robota monitorującego zwierzęta jest wizja. Zdecydowaliśmy się użyć Picamery, która jest kompatybilna z Raspberry Pi, aby przesyłać użytkownikowi strumień na żywo przez Internet. Zastosowaliśmy również ultradźwiękowy czujnik odległości, aby uniknąć przeszkód, gdy robot działa autonomicznie. Oba czujniki mocuje się do uchwytu za pomocą śrub.

Picamera podłącza się do wyznaczonego portu na Raspberry Pi i podłącza czujnik ultradźwiękowy w następujący sposób:

  • Czujnik ultradźwiękowy VCC na szynę 5v na tarczy CNC
  • Czujnik ultradźwiękowy GND do szyny GND na tarczy CNC
  • Czujnik ultradźwiękowy TRIG do sworznia końcowego X+ na tarczy CNC
  • Czujnik ultradźwiękowy ECHO do trzpienia końcowego Y+ na tarczy CNC

Krok 10: Montaż panelu górnego

Montaż panelu górnego
Montaż panelu górnego
Montaż panelu górnego
Montaż panelu górnego
Montaż panelu górnego
Montaż panelu górnego

Z tyłu robota zamontowany jest system otwierania pokrywy miski na smakołyki. Przymocuj minisilnik krokowy do tylnego elementu uchwytu i zamontuj zarówno system wizyjny, jak i system nawijania za pomocą śrub M3 do górnego panelu. Jak wspomniano, upewnij się, że system wizyjny jest zamontowany z przodu, a system naciągowy z tyłu za pomocą dwóch dostarczonych otworów.

Krok 11: Montaż panelu górnego

Montaż panelu górnego
Montaż panelu górnego
Montaż panelu górnego
Montaż panelu górnego
Montaż panelu górnego
Montaż panelu górnego

Drukowaliśmy w 3D pionowe przekładki, aby podeprzeć górny panel na odpowiedniej wysokości. Zacznij od przymocowania czterech elementów dystansowych do dolnego panelu, aby utworzyć „X”. Następnie umieść górny panel z miską na smakołyki, upewniając się, że ich otwory są wyrównane i na koniec przymocuj go również do przekładek.

Krok 12: Mechanizm otwierania pokrywy

Mechanizm otwierania pokrywy
Mechanizm otwierania pokrywy
Mechanizm otwierania pokrywy
Mechanizm otwierania pokrywy
Mechanizm otwierania pokrywy
Mechanizm otwierania pokrywy

Aby sterować pokrywką miski na smakołyki, użyliśmy mniejszego silnika krokowego, aby nawinąć nylonowy sznurek przymocowany do pokrywki, otwierając ją. Przed założeniem wieczka przełóż sznurek przez 2mm otwór w wieczku i zawiąż supeł po wewnętrznej stronie. Następnie odetnij drugi koniec sznurka i przełóż go przez otwory znajdujące się na tarczy nawojowej. Wciśnij dysk na stepper, a następnie pociągnij sznurek, aż będzie napięty. Po zakończeniu odetnij nadmiar i zawiąż węzeł. Na koniec za pomocą śruby i nakrętki przymocuj pokrywkę do miski i upewnij się, że się obraca. Teraz, gdy stepper się obraca, struna powinna nawijać się na dysk, a wieczko powinno się stopniowo otwierać.

Krok 13: Konfiguracja bazy danych w chmurze

Konfigurowanie bazy danych w chmurze
Konfigurowanie bazy danych w chmurze
Konfigurowanie bazy danych w chmurze
Konfigurowanie bazy danych w chmurze
Konfigurowanie bazy danych w chmurze
Konfigurowanie bazy danych w chmurze
Konfigurowanie bazy danych w chmurze
Konfigurowanie bazy danych w chmurze

Pierwszym krokiem jest stworzenie bazy danych dla systemu, dzięki której będziesz mógł komunikować się z robotem z aplikacji mobilnej z dowolnego miejsca na świecie. Kliknij w poniższy link (Google firebase), który zaprowadzi Cię na stronę Firebase (musisz zalogować się na swoje konto Google). Kliknij przycisk „Rozpocznij”, który przeniesie Cię do konsoli Firebase. Następnie utwórz nowy projekt, klikając przycisk „Dodaj projekt”, wypełnij wymagania (nazwa, szczegóły itp.) i uzupełnij, klikając przycisk „Utwórz projekt”.

Potrzebujemy tylko narzędzi bazodanowych Firebase, więc wybierz „baza danych” z menu po lewej stronie. Następnie kliknij przycisk „Utwórz bazę danych”, wybierz opcję „Tryb testowy”. Następnie ustaw bazę danych na „bazę czasu rzeczywistego” zamiast „firestore w chmurze”, klikając menu rozwijane u góry. Wybierz zakładkę "reguły" i zmień dwa "fałsz" na "prawda", na koniec kliknij zakładkę "dane" i skopiuj adres URL bazy danych, będzie to wymagane później.

Ostatnią rzeczą, którą musisz zrobić, to kliknąć ikonę koła zębatego obok przeglądu projektu, następnie „ustawienia projektu”, następnie wybrać zakładkę „konta usług”, na końcu kliknąć „Sekrety bazy danych” i zanotować zabezpieczenia kod Twojej bazy danych. Po wykonaniu tego kroku pomyślnie utworzyłeś bazę danych w chmurze, do której można uzyskać dostęp ze smartfona i Raspberry Pi. (W razie wątpliwości użyj załączonych zdjęć lub po prostu zadaj pytanie w sekcji komentarzy)

Krok 14: Tworzenie aplikacji mobilnej

Tworzenie aplikacji mobilnej
Tworzenie aplikacji mobilnej
Tworzenie aplikacji mobilnej
Tworzenie aplikacji mobilnej
Tworzenie aplikacji mobilnej
Tworzenie aplikacji mobilnej
Tworzenie aplikacji mobilnej
Tworzenie aplikacji mobilnej

Kolejną częścią systemu IoT jest aplikacja na smartfony. Zdecydowaliśmy się użyć MIT App Inventor, aby stworzyć własną, dostosowaną aplikację. Aby skorzystać z aplikacji, którą stworzyliśmy, najpierw otwórz poniższy link (MIT App Inventor), który zaprowadzi Cię na ich stronę internetową. Następnie kliknij „Utwórz aplikacje” u góry ekranu, a następnie zaloguj się na swoje konto Google.

Pobierz plik.aia, do którego link znajduje się poniżej. Otwórz zakładkę "projekty" i kliknij "Importuj projekt (.aia) z mojego komputera", następnie wybierz plik, który właśnie pobrałeś i kliknij "ok". W oknie komponentów przewiń w dół, aż zobaczysz "FirebaseDB1", kliknij na niego i zmień "FirebaseToken", "FirebaseURL" na wartości, które zachowałeś w poprzednim kroku. Po wykonaniu tych kroków możesz pobrać i zainstalować aplikację. Możesz pobrać aplikację bezpośrednio na telefon, klikając zakładkę „Buduj” i klikając „Aplikacja (podaj kod QR dla.apk)”, a następnie skanując kod QR smartfonem lub klikając „Aplikacja (zapisz.apk na moim komputerze)” pobierzesz plik APK na swój komputer, który możesz następnie przenieść na smartfona.

Krok 15: Programowanie Raspberry Pi

Programowanie Raspberry Pi
Programowanie Raspberry Pi

Raspberry Pi jest używane z dwóch głównych powodów.

  1. Przesyła strumień wideo na żywo z robota na serwer sieciowy. Ten strumień może być oglądany przez użytkownika za pomocą aplikacji mobilnej.
  2. Odczytuje zaktualizowane polecenia w bazie danych Firebase i instruuje Arduino, aby wykonał wymagane zadania.

Aby skonfigurować Raspberry Pi do transmisji na żywo, szczegółowy samouczek już istnieje i można go znaleźć tutaj. Instrukcje sprowadzają się do trzech prostych poleceń. Włącz Raspberry Pi, otwórz terminal i wprowadź następujące polecenia.

  • klon git
  • cd RPi_Cam_Web_Interface
  • ./install.sh

Po zakończeniu instalacji uruchom ponownie Pi i powinieneś mieć dostęp do strumienia, przeszukując https://adres IP twojego Pi w dowolnej przeglądarce internetowej.

Po skonfigurowaniu transmisji na żywo będziesz musiał pobrać i zainstalować określone biblioteki, aby móc korzystać z bazy danych w chmurze. Otwórz terminal na swoim Pi i wprowadź następujące polecenia:

  • żądania instalacji sudo pip ==1.1.0
  • sudo pip zainstaluj python-firebase

Na koniec pobierz plik Pythona załączony poniżej i zapisz go na swoim Raspberry Pi. W czwartej linii kodu zmień port COM na port, do którego podłączone jest Arduino. Następnie zmień adres URL w wierszu 8 na adres URL Firebase, o którym wcześniej zapisałeś. Na koniec uruchom program przez terminal. Ten program pobiera polecenia z bazy danych w chmurze i przekazuje je do Arduino przez połączenie szeregowe.

Krok 16: Programowanie Arduino

Programowanie Arduino
Programowanie Arduino
Programowanie Arduino
Programowanie Arduino

Arduino służy do interpretowania poleceń z Pi i instruuje siłowniki robota, aby wykonywały potrzebne zadania. Pobierz załączony poniżej kod Arduino i prześlij go na Arduino. Po zaprogramowaniu Arduino podłącz go do jednego z portów USB Pi za pomocą dedykowanego kabla USB.

Krok 17: Zasilanie systemu

Zasilanie systemu
Zasilanie systemu

Robot będzie zasilany z 3-ogniwowej baterii lipo. Zaciski akumulatora muszą zostać podzielone na dwa, z których jeden idzie bezpośrednio do osłony CNC w celu zasilania silników, a drugi łączy się z 5 V UBEC, co utworzyło stabilną linię zasilania 5 V, która będzie używana do zasilania Raspberry Pi przez piny GPIO. 5V z UBEC jest podłączone do pinu 5V Raspberry Pi, a GND z UBEC jest podłączone do pinu GND na Pi.

Krok 18: Korzystanie z aplikacji

Korzystanie z aplikacji
Korzystanie z aplikacji
Korzystanie z aplikacji
Korzystanie z aplikacji
Korzystanie z aplikacji
Korzystanie z aplikacji

Interfejs aplikacji umożliwia sterowanie robotem monitorującym, a także strumieniowanie na żywo z kamery pokładowej. Aby połączyć się z robotem, upewnij się, że masz stabilne połączenie internetowe, a następnie wpisz adres IP Raspberry Pi w odpowiednim polu tekstowym i kliknij przycisk aktualizacji. Po zakończeniu na ekranie pojawi się kanał na żywo i powinieneś być w stanie kontrolować różne funkcje robota.

Krok 19: Gotowy do testu

Gotowy do testu
Gotowy do testu
Gotowy do testu
Gotowy do testu

Teraz, gdy Twój robot monitorujący zwierzęta jest w pełni zmontowany, możesz napełnić miskę psimi smakołykami. Otwórz aplikację, podłącz aparat i baw się dobrze! Obecnie bawimy się łazikiem i naszym Beaglem i uwieczniliśmy całkiem zabawne momenty.

Gdy pies przezwyciężył początkowy strach przed poruszającym się obiektem, zaczął gonić bota po domu w poszukiwaniu smakołyków. Wbudowana kamera zapewnia dobry, szeroki kąt widzenia otoczenia, co sprawia, że manewrowanie jest dość łatwe.

Jest miejsce na ulepszenia, aby lepiej funkcjonowało w świecie rzeczywistym. To powiedziawszy, stworzyliśmy solidny system, który można dalej rozbudowywać i rozbudowywać. Jeśli podobał Ci się ten projekt, oddaj na nas głos w „Konkursie robotyki”

Miłego tworzenia!

Konkurs robotyki
Konkurs robotyki
Konkurs robotyki
Konkurs robotyki

II nagroda w Konkursie Robotyki

Zalecana: