Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Wie funktioniert es?
- Schritt 2: Software
- Schritt 3: Schaltungslayout
- Schritt 4: Handwerk
- Schritt 5: Mücke
- Schritt 6: Arduino-IDE
- Schritt 7: Ngrok
- Schritt 8: Knoten-RED
- Schritt 9: Einpacken
Video: Intelligenter Futterautomat für Haustiere - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Hast Du ein Haustier?
- Nein: adoptiere einen! (und kommen Sie zurück zu diesem instructable).
- Ja: gute Arbeit!
Wäre es nicht toll, wenn Sie Ihren Liebsten ohne Absagen füttern und Wasser geben könnten, um pünktlich nach Hause zu kommen? Wir sagen, keine Sorge mehr.
In diesem Projekt haben wir einen ferngesteuerten (über das Internet) Lebensmittel- und Wasserspender hergestellt.
Über das Online-Dashboard können Sie Daten anzeigen und die Zapfsäulen steuern:
- Sehen Sie sich die Futter- und Wasserstände in den Tanks an.
- Sehen Sie sich die Futter- und Wasserstände in den Schüsseln an.
- Frisst oder trinkt das Tier in diesem Moment?
- Planen Sie Fütterungen (das Gerät gibt kein Futter aus, wenn genügend Futter in der Schüssel ist).
- Geben Sie automatisch Wasser ab, wenn die Schüssel leer ist.
- Essen/Wasser mit einem Knopfdruck ausgeben.
- Erhalten Sie Push-Benachrichtigungen auf Ihr Telefon (per Telegram-App).
Wer sind wir?
Erstellt von Tom Kaufman und Katya Fichman, Informatikstudenten am IDC Herzliya.
Dieses Projekt wurde für einen IOT-Kurs entwickelt.
Lieferungen
Elektronik
- 2 X ESP8266 (Wemos d1 mini).
- Überbrückungsdrähte.
- 2 X Steckbrett.
- 4 X Ultraschallsensor.
- 2 X Wägezelle.
- 2 X Wägezellenverstärker (HX711).
- Servo (180°).
- Servo (kontinuierliche Drehung).
- 2 x 6V-Netzteil.
Teile
- Cornflakes-Spender (Amazon-Link).
- Trichter des 3D-gedruckten Lebensmittelspenders (https://www.thingiverse.com/thing:3998805).
- Servoaufsatz des 3D-gedruckten Lebensmittelspenders (https://www.thingiverse.com/thing:3269637).
- Stand des 3D-gedruckten Lebensmittelspenders (für dieses Projekt entwickelt:
- 3D-gedruckte Wägezellenbasis und -platte (für dieses Projekt entwickelt:
- Wasserspender (Amazon-Link zu etwas Ähnlichem).
- Draht (um den Knopf des Wasserspenders mit dem Servo zu verbinden).
- 3 X Ultraschallsensor-Ständer.
Schritt 1: Wie funktioniert es?
Die ESP8266-Boards senden die Messwerte der Sensoren über Mosquitto (MQTT-Broker) an Node-RED.
Node-RED verarbeitet die Daten, führt entsprechende Aktionen aus (sendet auch Dosierbefehle über Mosquitto an die ESP8266-Boards) und zeigt Informationen auf dem Dashboard an.
Alle Berechnungen werden in Node-RED durchgeführt, so dass es einfach ist, dieses Projekt zu replizieren und die Verarbeitung der Daten gemäß Ihren Einstellungen und Vorlieben zu ändern, ohne sich mit der Codierung die Hände schmutzig zu machen.
Schritt 2: Software
Arduino-IDE
Herunterladen und installieren (Link:
Mücke
Herunterladen und installieren (Link:
Node.js
Herunterladen und installieren (Link:
Knoten-RED
Folgen Sie den Anweisungen:
ngrok
Download:
Telegramm
Installieren Sie die App auf Ihrem Smartphone.
Schritt 3: Schaltungslayout
* Beide Geräte haben identische Schaltungen
Wasserspender
-
Ultraschallsensor (für den Wassertank)
- Masse - G
- VCC - 5V
- ECHO - D5
- AUSLÖSER - D0
-
Ultraschallsensor (für den Abstand des Haustieres vom Napf)
- Masse - G
- VCC - 5V
- ECHO - D6
- AUSLÖSER - D7
-
Wägezelle
- GRÜN - A+ (HX711)
- WEISS - A- (HX711)
- SCHWARZ - E- (HX711)
- ROT - E+ (HX711)
-
HX711 (Wägezellenverstärker)
- Masse - G
- VCC - 5V
- DT - D4
- SCK - D3
-
Servo (180°)
- Masse - G
- VCC - 5V
Lebensmittelspender
-
Ultraschallsensor (für den Lebensmitteltank)
- Masse - G
- VCC - 5V
- ECHO - D5
- AUSLÖSER - D0
-
Ultraschallsensor (für den Abstand des Haustieres vom Napf)
- Masse - G
- VCC - 5V
- ECHO - D6
- AUSLÖSER - D7
-
Wägezelle
- GRÜN - A+ (HX711)
- WEISS - A- (HX711)
- SCHWARZ - E- (HX711)
- ROT - E+ (HX711)
-
HX711 (Wägezellenverstärker)
- Masse - G
- VCC - 5V
- DT - D4
- SCK - D3
-
Servo (kontinuierliche Drehung)
- Masse - G
- VCC - 5V
- STEUERUNG - D8
Schritt 4: Handwerk
Wasserspender
- Kleben Sie das Servo oben auf das Unterteil des Spenders (wie auf dem Foto gezeigt).
- Bohren Sie ein kleines Loch in den Knopf des Wasserspenders.
- Verbinden Sie den Servokopf mit einem Draht mit dem Knopf (achten Sie darauf, dass der Servokopf auf Position 0 steht und stellen Sie sicher, dass der Draht fest sitzt).
- Kleben Sie einen Ultraschallsensor auf die Innenseite des Tanks, nahe der Oberseite (Sensor zeigt nach unten).
- Kleben Sie einen Ultraschallsensor unter den Wasserknopf nach außen (stellen Sie sicher, dass er hoch genug ist, damit die Wasserschale seine Messwerte nicht beeinflusst).
Futterspender
- Schrauben Sie das Servo an seinen Halter (3D-gedrucktes Teil).
- Kleben Sie den Trichter (3D-Druckteil) auf den Tankhalter (3D-Druckteil).
- Verbinden Sie den Tankhalter mit dem Ständer des Spenders (3D-gedrucktes Teil) und setzen Sie den Tank ein.
- Stecken Sie das sich drehende Teil (3D-gedruckt) an seinen Platz und durch das sich drehende Gummiteil des Spenders.
- Schrauben Sie das Servohalterteil an den Ständer des Spenders.
- Kleben Sie einen Ultraschallsensor auf die Innenseite des Tankdeckels (Sensor zeigt nach unten).
- Kleben Sie einen Ultraschallsensor an die Seite des Tankhalters, die zu der Stelle zeigt, an der Ihr Haustier frisst.
Wägezellen
Kleben Sie jede Wägezelle auf die 3D-gedruckte Basis und Platte (Pfeil der Wägezelle nach unten)
Schritt 5: Mücke
Öffnen Sie Mosquitto (Windows-Benutzer: gehen Sie zum Mosquitto-Ordner, öffnen Sie cmd und geben Sie ein: "mosquitto -v").
* Um die interne IP-Adresse des Computers zu erhalten, führen Sie cmd aus und geben Sie "ipconfig" ein.
Schritt 6: Arduino-IDE
Öffnen Sie die Arduino IDE und befolgen Sie den Teil "Install ESP8266 Add-on in Arduino IDE" in dieser Anleitung:
Gehen Sie zu Tools->Board und wählen Sie "LOLIN(WEMOS) D1 R2 & mini".
Gehen Sie zu Sketch->Include Library->Add. ZIP Library… und fügen Sie die 3 Bibliotheken in der Datei "Libraries.rar" hinzu.
Öffnen Sie die Skizze "HX711Calibration", laden Sie sie auf beide ESP8266 hoch, führen Sie sie aus und befolgen Sie die Anweisungen (am Anfang des Codes und im seriellen Monitor), um die Wägezellen zu kalibrieren (stellen Sie sicher, dass die Baudrate des seriellen Monitors auf eingestellt ist) 115200Baud).
* Notieren Sie sich den Kalibrierfaktor und die Nullpunktverschiebung (zur späteren Verwendung).
Öffnen Sie die Skizzen "FoodDispenser" und "WaterDispenser" durch die IDE und ändern Sie die folgenden Variablen mit Ihren Einstellungen (in der Datei "Settings.h"):
- WIFI_SSID
- WLAN PASSWORT
- MQTT_SERVER
- LOAD_CELL_CALIBRATION_FACTOR
- LOAD_CELL_ZERO_OFFSET
* Tragen Sie in MQTT_SERVER die interne IP-Adresse aus dem Schritt "Mosquitto" ein.
Laden Sie die Skizzen auf Ihre beiden ESP8266 hoch (ein Code für jedes Board).
* Beachten Sie, dass wir die Bibliothek "AsyncMqttClient" und nicht die üblichere Bibliothek "pubsubclient" verwendet haben, da der esp8266 abstürzt, wenn er mit der Bibliothek "HX711" kombiniert wird.
* Wenn Sie Änderungen am Code vornehmen, stellen Sie sicher, dass Sie nicht die Funktionen "delay" und "yield" innerhalb der Callback-Funktionen verwenden, da dies zu Abstürzen führt.
Schritt 7: Ngrok
Entpacken Sie die heruntergeladene Datei (über den Link im Schritt "Software").
Öffnen Sie "ngrok.exe" und führen Sie den Befehl "ngrok http 1880" aus.
* Sie können die nächstgelegene Region auswählen (au, eu, ap, us, jp, in, sa). Die Vorgabe ist wir.
Führen Sie zum Beispiel den Befehl aus: "ngrok http --region=eu 1880" (stellen Sie die Region auf Europa ein).
Jetzt sehen Sie Ihre Webadresse für die externe Verwendung (wir nennen diese Adresse YOUR_NGROK_ADDRESS).
Schritt 8: Knoten-RED
Öffnen Sie Node-RED (Windows-Benutzer: Öffnen Sie cmd und geben Sie "node-red" ein) und gehen Sie zu https://localhost:1880 (wenn es nicht funktioniert, suchen Sie nach der Adresse im cmd-Fenster, in der "Server now." steht läuft bei").
Öffnen Sie das Menü (in der oberen rechten Ecke) und klicken Sie auf "Palette verwalten".
Gehen Sie zur Registerkarte "Installieren", suchen und installieren Sie diese Module:
- Knoten-Rot-Beitrag-Persist.
- node-red-contrib-cron-plus.
- node-red-contrib-ui-led.
- Knoten-rot-Dashboard.
- node-red-contrib-telegrambot.
Gehen Sie zum Menü->Importieren und laden Sie die Flow-Datei hoch (extrahieren Sie die angehängte RAR-Datei und laden Sie die JSON-Datei hoch).
Erläuterungen zum Ablauf finden Sie in den beigefügten Bildern.
Sie müssen diese Knoten mit Ihren Einstellungen ändern:
- Aktualisieren Sie das Profil des Knotens "Telegram sender" mit dem Benutzernamen und Token Ihres Bots (verwenden Sie diese Anleitung:
- Ändern Sie unten im Flow die Nutzlasten der Knoten "Ngrok Address" und "Telegram Chat Id" (erhalten Sie Ihre Chat-ID, indem Sie die Telegrammanleitung im obigen Link verwenden).
-
Im unteren Teil des Flows befinden sich Einstellungsknoten - ändern Sie sie nach Ihren Bedürfnissen:
- Aktivieren Sie die Warnungen, dass das Haustier frisst/trinkt.
- Definieren Sie die Entfernung zum Aktivieren des Essens-/Trinkalarms.
- Definieren Sie die Datenverarbeitung von Schüsseln und Tanks.
- Abgabezeiten ändern (für wie lange erfolgt die Abgabe – Automatikmodus und Tastendruck).
- Überlaufschwellen-Prozentsatz des Futternapfs definieren (automatische Futterausgabe abbrechen, wenn genügend Futter im Napf vorhanden ist).
Stellen Sie den Flow bereit (oben rechts).
* Nur bei der ersten Bereitstellung sehen Sie im Debug-Fenster eine Warnung wegen fehlender Datei 'persistance.json'. Machen Sie sich keine Sorgen, da Sie im Moment Fütterungszeiten einstellen oder den automatischen Wasserschalter ändern, diese Datei initialisiert wird und Sie diese Warnung nicht mehr erhalten.
Sie können Ihr Dashboard unter https://NODE-RED_PC'S_INTERNAL_IP_ADDRESS:1880/ui (wenn Sie mit demselben LAN wie der Server verbunden sind) oder YOUR_NGROK_ADDRESS/ui (von überall) anzeigen.
Schritt 9: Einpacken
Wir hoffen, dass dieses Tutorial informativ und leicht zu lesen, zu verstehen und umzusetzen war.
Fühlen Sie sich frei, uns alles zu fragen.
Empfohlen:
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
Intelligenter Rucksack: 8 Schritte
Smart Backpack: Wenn Sie ein Student wie ich sind, werden sich einige von Ihnen definitiv auf das Problem beziehen, das ich vergesse. Ich habe nicht viel Zeit, um meinen Rucksack zu machen, und bevor du dich versiehst, hast du etwas vergessen. Ich habe versucht, mir das Leben zu erleichtern, indem ich ein Raspberry-Pi-Projekt gemacht habe
Intelligenter Behälter: 5 Schritte
Smart Bin: Mit unserem Smart Bin können Benutzer mit einem speziellen Pass, der mit einem persönlichen Konto verknüpft ist, „einchecken“. Nach dem Einchecken erhält der Benutzer für jeden in den Mülleimer geworfenen Müll einen Punkt. Mit diesen Punkten können Sie dann verschiedene Geschenke in der Stadt t
Intelligenter Einkaufswagen: 4 Schritte
Smart Shopping Cart: Smart Shopping Cart (Trolley) Projekt wird durchgeführt, um die Automatisierung vorzuherrschen und das Leben der Menschen zu erleichtern. Dieser Trolley verfügt über verschiedene Fähigkeiten, einschließlich Personenverfolgung, Gestenerkennung, Aufnehmen und Platzieren von Objekten mit einem 3DOF-Roboterarm und
Intelligenter: 13 Schritte
Smarter: Hi @ll!Da es immer noch mit einigem Aufwand für Anfänger verbunden ist, einen ESP8266-01(s) zu flashen und ich persönlich eine IP unabhängige und "sichere" Lösung für mein Garagentor brauchte, habe ich mich en