Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Jak to działa?
- Krok 2: Oprogramowanie
- Krok 3: Układ obwodu
- Krok 4: rzemiosło
- Krok 5: Komar
- Krok 6: Arduino IDE
- Krok 7: Ngrok
- Krok 8: Węzeł-CZERWONY
- Krok 9: Podsumowanie
Wideo: Inteligentny karmnik dla zwierząt: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Czy masz zwierzę?
- Nie: zaadoptuj jeden! (i wróć do tej instrukcji).
- Tak: dobra robota!
Czy nie byłoby wspaniale, gdybyś mógł karmić i podawać wodę ukochanej osobie bez anulowania planów, aby wrócić do domu na czas? Mówimy, że już się nie martw.
W tym projekcie wykonaliśmy zdalnie sterowane (przez sieć) dystrybutory żywności i wody.
Poprzez pulpit nawigacyjny online możesz przeglądać dane i sterować dystrybutorami:
- Zobacz poziom żywności i wody w zbiornikach.
- Zobacz poziom żywności i wody w miskach.
- Czy w tej chwili zwierzę je lub pije?
- Zaplanuj karmienie (urządzenie nie wyda jedzenia, jeśli w misce jest wystarczająco dużo jedzenia).
- Automatycznie dozuj wodę, gdy miska się opróżni.
- Dozuj jedzenie/wodę jednym naciśnięciem przycisku.
- Otrzymuj powiadomienia push na swój telefon (przez aplikację Telegram).
Kim jesteśmy?
Stworzony przez Toma Kaufmana i Katyę Fichman, studentów informatyki w IDC Herzliya.
Ten projekt powstał na potrzeby kursu IOT.
Kieszonkowe dzieci
Elektronika
- 2 X ESP8266 (Wemos d1 mini).
- Przewody połączeniowe.
- 2 X deska do krojenia chleba.
- 4 X czujnik ultradźwiękowy.
- 2 X ogniwo obciążnikowe.
- 2 X Wzmacniacz tensometryczny (HX711).
- Serwo (180°).
- Serwo (ciągły obrót).
- Zasilanie 2X6 V.
Części
- Dozownik płatków kukurydzianych (link Amazon).
- Lejek do dozownika żywności wydrukowany w 3D (https://www.thingiverse.com/thing:3998805).
- Przystawka serwo do dozownika żywności wydrukowana w 3D (https://www.thingiverse.com/thing:3269637).
- Stojak na dystrybutor żywności wydrukowany w 3D (zaprojektowany na potrzeby tego projektu:
- Wydrukowana w 3D podstawa i płytka czujnika tensometrycznego (zaprojektowane dla tego projektu:
- Dystrybutor wody (link Amazon do czegoś podobnego).
- Przewód (do połączenia pokrętła dystrybutora wody z serwomechanizmem).
- 3 X Stojak na czujnik ultradźwiękowy.
Krok 1: Jak to działa?
Płyty ESP8266 wysyłają odczyty czujników do Node-RED przez Mosquitto (broker MQTT).
Node-RED przetwarza dane, wykonując odpowiednie działania (również wysyłając polecenia dozowania do płyt ESP8266 przez Mosquitto) i wyświetlając informacje na desce rozdzielczej.
Wszystkie obliczenia są wykonywane w Node-RED, więc łatwo byłoby zreplikować ten projekt i zmienić przetwarzanie danych zgodnie z własnymi ustawieniami i preferencjami bez brudzenia sobie rąk kodowaniem.
Krok 2: Oprogramowanie
IDE Arduino
Pobierz i zainstaluj (link:
Komar
Pobierz i zainstaluj (link:
Node.js
Pobierz i zainstaluj (link:
Węzeł-CZERWONY
Postępuj zgodnie z instrukcjami:
nrok
Pobierz:
Telegram
Zainstaluj aplikację na swoim smartfonie.
Krok 3: Układ obwodu
* Oba urządzenia mają identyczne obwody
Dystrybutor wody
-
Czujnik ultradźwiękowy (do zbiornika na wodę)
- GND - G
- VCC - 5V
- ECHO - D5
- SPUST - D0
-
Czujnik ultradźwiękowy (do pomiaru odległości zwierzęcia od miski)
- GND - G
- VCC - 5V
- ECHO - D6
- SPUST - D7
-
Ogniwo obciążnikowe
- ZIELONY - A+ (HX711)
- BIAŁY - A- (HX711)
- CZARNY - E- (HX711)
- CZERWONY - E+ (HX711)
-
HX711 (wzmacniacz tensometryczny)
- GND - G
- VCC - 5V
- DT - D4
- SCK - D3
-
Serwo (180°)
- GND - G
- VCC - 5V
Dozownik żywności
-
Czujnik ultradźwiękowy (do zbiornika na żywność)
- GND - G
- VCC - 5V
- ECHO - D5
- SPUST - D0
-
Czujnik ultradźwiękowy (do pomiaru odległości zwierzęcia od miski)
- GND - G
- VCC - 5V
- ECHO - D6
- SPUST - D7
-
Ogniwo obciążnikowe
- ZIELONY - A+ (HX711)
- BIAŁY - A- (HX711)
- CZARNY - E- (HX711)
- CZERWONY - E+ (HX711)
-
HX711 (wzmacniacz tensometryczny)
- GND - G
- VCC - 5V
- DT - D4
- SCK - D3
-
Serwo (ciągły obrót)
- GND - G
- VCC - 5V
- STEROWANIE - D8
Krok 4: rzemiosło
Dystrybutor wody
- Przyklej serwo do górnej części dolnej części dozownika (jak pokazano na zdjęciu).
- Wywierć mały otwór w pokrętle dozownika wody.
- Połącz głowicę serwomechanizmu z pokrętłem za pomocą przewodu (upewnij się, że głowica serwomechanizmu jest w pozycji 0 i upewnij się, że przewód jest napięty).
- Przyklej jeden czujnik ultradźwiękowy do wewnętrznej strony zbiornika, w jego górnej części (czujnik skierowany w dół).
- Przyklej jeden czujnik ultradźwiękowy pod pokrętłem wody na zewnątrz (upewnij się, że jest wystarczająco wysoki, aby miska na wodę nie miała wpływu na odczyty).
Dozownik żywności
- Przykręć serwo do jego uchwytu (część drukowana 3D).
- Przyklej lejek (część drukowana 3D) do uchwytu zbiornika (część drukowana 3D).
- Podłącz uchwyt zbiornika do stojaka dystrybutora (część drukowana 3D) i umieść zbiornik na miejscu.
- Włóż wirującą część (nadruk 3D) na swoje miejsce i przez wirującą gumową część dozownika.
- Przykręcić część uchwytu serwomechanizmu do stojaka dozownika.
- Przyklej jeden czujnik ultradźwiękowy do wewnętrznej strony pokrywy zbiornika (czujnik skierowany w dół).
- Przyklej jeden czujnik ultradźwiękowy do boku uchwytu zbiornika skierowanego w stronę miejsca, w którym będzie jadł Twój zwierzak.
Ogniwa obciążnikowe
Przyklej każde ogniwo obciążnikowe do wydrukowanej w 3D podstawy i płyty (strzałka ogniwa obciążnikowego skierowana w dół)
Krok 5: Komar
Otwórz Mosquitto (użytkownicy Windows: przejdź do folderu Mosquitto, otwórz cmd i wpisz: "mosquitto -v").
* Aby uzyskać wewnętrzny adres IP komputera, uruchom cmd i wpisz „ipconfig”.
Krok 6: Arduino IDE
Otwórz Arduino IDE i postępuj zgodnie z częścią tego przewodnika „Zainstaluj dodatek ESP8266 w Arduino IDE”:
Przejdź do Narzędzia->Płyta i wybierz "LOLIN(WEMOS) D1 R2 & mini".
Przejdź do Sketch->Include Library->Add. ZIP Library… i dodaj 3 biblioteki w pliku „Libraries.rar”.
Otwórz szkic "HX711Calibration", prześlij go do obu ESP8266, uruchom go i postępuj zgodnie z instrukcjami (na początku kodu i w monitorze szeregowym), aby skalibrować ogniwa obciążnikowe (upewnij się, że prędkość transmisji monitora szeregowego jest ustawiona na 115200 bodów).
* Zapisz współczynnik kalibracji i przesunięcie zera (do późniejszego wykorzystania).
Otwórz szkice „FoodDispenser” i „WaterDispenser” za pomocą IDE i zmień następujące zmienne za pomocą swoich ustawień (w pliku „Settings.h”):
- WIFI_SSID
- HASŁO DO WIFI
- MQTT_SERVER
- LOAD_CELL_CALIBRATION_FACTOR
- LOAD_CELL_ZERO_OFFSET
* W MQTT_SERVER wprowadź wewnętrzny adres IP z kroku „Mosquitto”.
Prześlij szkice do swoich dwóch ESP8266 (jeden kod na każdą płytkę).
* Zauważ, że użyliśmy biblioteki "AsyncMqttClient", a nie bardziej popularnej biblioteki "pubsubclient", ponieważ esp8266 ulega awarii w połączeniu z biblioteką "HX711".
* Jeśli zdecydujesz się wprowadzić zmiany w kodzie, upewnij się, że nie używasz funkcji "delay" i "yield" w funkcjach wywołania zwrotnego, ponieważ spowoduje to awarię.
Krok 7: Ngrok
Rozpakuj pobrany plik (z linku w kroku „Oprogramowanie”).
Otwórz "ngrok.exe" i uruchom polecenie "ngrok http 1880".
* Możesz wybrać najbliższy region (au, eu, ap, us, jp, in, sa). Domyślnie jesteśmy my.
Na przykład uruchomienie polecenia: "ngrok http --region=eu 1880" (ustaw region na Europę).
Teraz zobaczysz swój adres internetowy do użytku zewnętrznego (nazywamy go YOUR_NGROK_ADDRESS).
Krok 8: Węzeł-CZERWONY
Otwórz Node-RED (użytkownicy Windows: otwórz cmd i wpisz „node-red”) i przejdź do https://localhost:1880 (jeśli to nie działa, wyszukaj adres w oknie cmd, gdzie jest napisane „Serweruj teraz działa w ).
Otwórz menu (w prawym górnym rogu) i naciśnij "Zarządzaj paletą".
Przejdź do zakładki "Instaluj", wyszukaj i zainstaluj te moduły:
- node-red-contrib-persist.
- node-red-contrib-cron-plus.
- node-red-contrib-ui-led.
- węzeł-czerwony-dashboard.
- node-red-contrib-telegrambot.
Przejdź do menu->Importuj i prześlij plik flow (wypakuj załączony plik RAR i prześlij plik json).
Zobacz załączone obrazy, aby uzyskać wyjaśnienia dotyczące przepływu.
Musisz zmodyfikować te węzły za pomocą swoich ustawień:
- Zaktualizuj profil węzła „Telegram sender” o nazwę użytkownika i token swojego bota (skorzystaj z tego przewodnika:
- Na dole przepływu zmień ładunki węzłów „Ngrok Address” i „Telegram Chat Id” (uzyskaj identyfikator czatu, korzystając z przewodnika po telegramie w powyższym linku).
-
W dolnej części przepływu znajdują się węzły ustawień - modyfikuj je według własnych potrzeb:
- Aktywuj alerty o jedzeniu/piciu zwierzaków.
- Określ, jaka odległość ma być aktywowana w przypadku ostrzeżenia o jedzeniu/piciu.
- Zdefiniuj przetwarzanie danych misek i zbiorników.
- Modyfikuj czasy dozowania (jak długo trwa dozowanie - tryb automatyczny i naciśnięcie przycisku).
- Zdefiniuj procentowy próg przepełnienia miski na żywność (przerwij automatyczne dozowanie żywności, jeśli w misce jest wystarczająca ilość żywności).
Wdróż przepływ (w prawym górnym rogu).
* Tylko przy pierwszym wdrożeniu zobaczysz ostrzeżenie w oknie debugowania o braku pliku „persistance.json”. Nie martw się o to, ponieważ w tej chwili ustawisz czas karmienia lub zmienisz automatyczny przełącznik wody, zainicjuje ten plik i nie będziesz już mieć tego ostrzeżenia.
Możesz wyświetlić swój pulpit nawigacyjny na https://NODE-RED_PC'S_INTERNAL_IP_ADDRESS:1880/ui (jeśli jesteś podłączony do tej samej sieci LAN co serwer) lub YOUR_NGROK_ADDRESS/ui (z dowolnego miejsca).
Krok 9: Podsumowanie
Mamy nadzieję, że ten samouczek był pouczający i łatwy do przeczytania, zrozumienia i wdrożenia.
Zapytaj nas o wszystko.
Zalecana:
Automatyczny karmnik dla zwierząt przy użyciu AtTiny85: 6 kroków
Automatyczny podajnik karmy dla zwierząt korzystający z AtTiny85: O trabalho Automatyczny karmnik dla zwierząt korzystający z AtTiny85 de PET Engenharia obliczeń i licencji Creative Commons - Atribuição 4.0 Internacional
Inteligentny karmnik dla zwierząt: 11 kroków
Smart Pet Feeder: Jestem studentem Akademii Howest Kortrijk w Belgii. Zrobiłem karmnik specjalnie dla kotów i psów. Zrobiłem ten projekt dla mojego psa. Wiele razy wieczorem nie ma mnie w domu, żeby nakarmić psa. Z tego powodu mój pies musi czekać na jedzenie. Z TH
Karmnik dla kotów (dla zwierząt domowych): 10 kroków
Karmnik dla kotów Industrial Strength (dla zwierząt domowych): Podróżuję przez wiele tygodni i mam te dzikie koty na zewnątrz, które muszą być karmione podczas mojej nieobecności. Od kilku lat korzystam ze zmodyfikowanych podajników zakupionych od Amazona sterowanych za pomocą komputera raspberry pi. Mimo że moje
Automatyczny karmnik dla zwierząt przy użyciu starego cyfrowego zegarka: 10 kroków (ze zdjęciami)
Automatyczny karmnik dla zwierząt przy użyciu starego cyfrowego zegarka: Cześć, w tej instrukcji pokażę, jak zrobiłem automatyczny karmnik dla zwierząt przy użyciu starego cyfrowego zegarka. Zamieściłem również filmik o tym, jak zrobiłem ten podajnik. Ta instrukcja zostanie zgłoszona do konkursu na PCB i jako przysługę oddam
Zdalnie sterowany karmnik dla zwierząt: 5 kroków
Zdalnie sterowany karmnik dla zwierząt: W tej instrukcji pokażę, jak zbudować prosty, zdalnie sterowany karmnik dla zwierząt. Dzięki temu prostemu projektowi arduino możesz karmić swojego zwierzaka za pomocą pilota. Wszystko, czego potrzebujesz, to tablica Arduino Uno (lub podobna) , plastikowa butelka, serwo