Inhoudsopgave:
- Benodigdheden
- Stap 1: Hoe werkt het?
- Stap 2: Software
- Stap 3: Circuitindeling
- Stap 4: Knutselen
- Stap 5: Mosquito
- Stap 6: Arduino IDE
- Stap 7: Ngroko
- Stap 8: Knooppunt-RED
- Stap 9: Afsluiten
Video: Slimme voerbak voor huisdieren: 9 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Heb je een huisdier?
- Nee: adopteer er een! (en kom terug naar dit instructable).
- Ja: goed bezig!
Zou het niet geweldig zijn als je je geliefde zou kunnen voeden en water geven zonder plannen te annuleren om op tijd thuis te zijn? We zeggen: maak je geen zorgen meer.
In dit project hebben we een op afstand bestuurbare (via web) voedsel- en waterdispenser gemaakt.
Via het online dashboard kunt u gegevens inzien en de dispensers bedienen:
- Bekijk de voedsel- en waterstanden in de tanks.
- Bekijk de voer- en waterstanden in de schalen.
- Eet of drinkt het dier op dit moment?
- Plan voedingen (apparaat geeft geen voedsel af als er genoeg voedsel in de kom zit).
- Geeft automatisch water af wanneer de kom leeg raakt.
- Doseer voedsel/water met een druk op de knop.
- Ontvang pushmeldingen op je telefoon (via de Telegram-app).
Wie zijn we?
Gemaakt door Tom Kaufman en Katya Fichman, studenten Computerwetenschappen aan IDC Herzliya.
Dit project is gemaakt voor een IOT-cursus.
Benodigdheden
Elektronica
- 2 X ESP8266 (Wemos d1 mini).
- Jumper draden.
- 2 X Broodplank.
- 4 X Ultrasone sensor.
- 2 X Laadcel.
- 2 X Loadcell-versterker (HX711).
- Servo (180°).
- Servo (continue rotatie).
- 2X 6V voeding.
Onderdelen
- Cornflakes dispenser (Amazon link).
- 3D-geprinte trechter voor voedseldispensers (https://www.thingiverse.com/thing:3998805).
- 3D-geprinte servo-bevestiging van de voedseldispenser (https://www.thingiverse.com/thing:3269637).
- 3D-geprinte stand voor voedseldispensers (ontworpen voor dit project:
- 3D-geprinte laadcelbasis en plaat (ontworpen voor dit project:
- Waterdispenser (Amazon link naar iets soortgelijks).
- Draad (om de knop van de waterdispenser op de servo aan te sluiten).
- 3 X Ultrasone sensorstandaard.
Stap 1: Hoe werkt het?
De ESP8266-kaarten sturen de meetwaarden van de sensoren naar Node-RED via Mosquitto (MQTT-makelaar).
Node-RED verwerkt de gegevens, voert overeenkomstige acties uit (stuur ook afgifte-opdrachten naar de ESP8266-borden via Mosquitto) en geeft informatie weer op het dashboard.
Alle berekeningen worden uitgevoerd in Node-RED, dus het zou gemakkelijk zijn om dit project te repliceren en de verwerking van de gegevens te wijzigen volgens uw instellingen en voorkeuren zonder uw handen vuil te maken aan codering.
Stap 2: Software
Arduino IDE
Download en installeer (link:
mug
Download en installeer (link:
Node.js
Download en installeer (link:
Knooppunt-RED
Volg de instructies:
ngrok
Downloaden:
Telegram
Installeer de app op je smartphone.
Stap 3: Circuitindeling
* Beide apparaten hebben identieke circuits
Waterdispenser
-
Ultrasone sensor (voor de watertank)
- GND - G
- VCC - 5V
- ECHO-D5
- TRIGGER - D0
-
Ultrasone sensor (voor de afstand van het huisdier tot de kom)
- GND - G
- VCC - 5V
- ECHO-D6
- TRIGGER - D7
-
Laadcel
- GROEN - A+ (HX711)
- WIT - A- (HX711)
- ZWART - E- (HX711)
- ROOD - E+ (HX711)
-
HX711 (laadcelversterker)
- GND - G
- VCC - 5V
- DT - D4
- SCK - D3
-
Servo (180°)
- GND - G
- VCC - 5V
Voedseldispenser
-
Ultrasone sensor (voor de voedseltank)
- GND - G
- VCC - 5V
- ECHO-D5
- TRIGGER - D0
-
Ultrasone sensor (voor de afstand van het huisdier tot de kom)
- GND - G
- VCC - 5V
- ECHO-D6
- TRIGGER - D7
-
Laadcel
- GROEN - A+ (HX711)
- WIT - A- (HX711)
- ZWART - E- (HX711)
- ROOD - E+ (HX711)
-
HX711 (laadcelversterker)
- GND - G
- VCC - 5V
- DT - D4
- SCK - D3
-
Servo (continue rotatie)
- GND - G
- VCC - 5V
- BEDIENING - D8
Stap 4: Knutselen
Waterdispenser
- Lijm de servo aan de bovenkant van het onderste deel van de dispenser (zoals op de foto).
- Boor een klein gaatje in de knop van de waterdispenser.
- Sluit de servokop met een draad aan op de knop (zorg ervoor dat de servokop op positie 0 staat en zorg ervoor dat de draad strak zit).
- Lijm een ultrasone sensor aan de binnenkant van de tank, in de buurt van de bovenkant (sensor naar beneden).
- Lijm een ultrasone sensor onder de waterknop naar buiten toe (zorg ervoor dat deze hoog genoeg is zodat de waterbak zijn metingen niet beïnvloedt).
Voedselautomaat
- Schroef de servo op zijn houder (3D-geprint deel).
- Lijm de trechter (3D-geprint deel) op de tankhouder (3D-geprint deel).
- Sluit de tankhouder aan op de stand van de dispenser (3D geprint deel) en zet de tank op zijn plaats.
- Steek het draaiende deel (3D geprint) op zijn plaats en door het draaiende rubberen deel van de dispenser.
- Schroef het servohouderdeel op de houder van de dispenser.
- Lijm een ultrasone sensor aan de binnenkant van het deksel van de tank (sensor naar beneden gericht).
- Lijm een ultrasone sensor aan de zijkant van de houder van de tank gericht naar de plaats waar uw huisdier zal eten.
Laadcellen
Lijm elke laadcel op de 3D-geprinte basis en plaat (pijl van de laadcel naar beneden gericht)
Stap 5: Mosquito
Open Mosquitto (Windows-gebruikers: ga naar de map Mosquitto, open cmd en voer in: "mosquitto -v").
* Om het interne IP-adres van de computer te krijgen, voert u cmd uit en voert u "ipconfig" in.
Stap 6: Arduino IDE
Open de Arduino IDE en volg het gedeelte "Install ESP8266 Add-on in Arduino IDE" van deze handleiding:
Ga naar Tools->Board en kies "LOLIN(WEMOS) D1 R2 & mini".
Ga naar Sketch->Bibliotheek opnemen->ZIP-bibliotheek toevoegen… en voeg de 3 bibliotheken toe aan het bestand "Libraries.rar".
Open de schets "HX711Calibration", upload deze naar beide ESP8266's, voer deze uit en volg de instructies (in het begin van de code en in de seriële monitor) om de loadcellen te kalibreren (zorg ervoor dat de baudrate van de seriële monitor is ingesteld op 115200 baud).
* Noteer de kalibratiefactor en de nulpuntverschuiving (voor later gebruik).
Open "FoodDispenser" en "WaterDispenser" sketches via de IDE en verander de volgende variabelen met je instellingen (in bestand "Settings.h"):
- WIFI_SSID
- WIFI WACHTWOORD
- MQTT_SERVER
- LOAD_CELL_CALIBRATION_FACTOR
- LOAD_CELL_ZERO_OFFSET
* Voer in MQTT_SERVER het interne IP-adres van de stap "Mosquitto" in.
Upload de schetsen naar uw twee ESP8266 (één code voor elk bord).
* Merk op dat we de "AsyncMqttClient"-bibliotheek hebben gebruikt en niet de meer gebruikelijke "pubsubclient" -bibliotheek omdat de esp8266 crasht in combinatie met de "HX711" -bibliotheek.
* Als u ervoor kiest om wijzigingen in de code aan te brengen, zorg er dan voor dat u de functies "delay" en "yield" niet gebruikt in callback-functies, omdat dit crashes zal veroorzaken.
Stap 7: Ngroko
Pak het gedownloade bestand uit (via de link in de stap "Software").
Open "ngrok.exe" en voer het commando "ngrok http 1880" uit.
* U kunt de dichtstbijzijnde regio selecteren (au, eu, ap, us, jp, in, sa). De standaard zijn wij.
Voer bijvoorbeeld het commando uit: "ngrok http --region=eu 1880" (stel de regio in op Europa).
Nu zie je je webadres voor extern gebruik (we noemen dit adres YOUR_NGROK_ADDRESS).
Stap 8: Knooppunt-RED
Open Node-RED (windows-gebruikers: open cmd en typ "node-red") en ga naar https://localhost:1880 (als het niet werkt, zoek dan naar het adres in het cmd-venster waar staat "Server now loopt op").
Open het menu (in de rechterbovenhoek) en druk op "Palet beheren".
Ga naar het tabblad "Installeren", zoek en installeer deze modules:
- node-red-contrib-persistent.
- node-red-contrib-cron-plus.
- node-red-contrib-ui-led.
- node-rood-dashboard.
- node-red-contrib-telegrambot.
Ga naar het menu->Importeren en upload het stroombestand (pak het bijgevoegde RAR-bestand uit en upload het json-bestand).
Zie de bijgevoegde afbeeldingen voor uitleg over de stroming.
U moet deze knooppunten aanpassen met uw instellingen:
- Werk het profiel van het "Telegram-afzender"-knooppunt bij met de gebruikersnaam en het token van uw bot (gebruik deze handleiding:
- Wijzig onderaan de stroom de payloads van de nodes "Ngrok Address" en "Telegram Chat Id" (verkrijg uw chat-ID met behulp van de Telegram-gids in de bovenstaande link).
-
In het onderste deel van de stroom zijn er instellingenknooppunten - wijzig ze volgens uw behoeften:
- Activeer waarschuwingen voor huisdier is eten/drinken.
- Definieer wat de afstand is voor het activeren van eet-/drinkwaarschuwing.
- Definieer gegevensverwerking van kommen en tanks.
- Wijzig de uitgiftetijden (hoe lang duurt de uitgifte - automatische modus en druk op de knop).
- Definieer het overloopdrempelpercentage van de voerbak (stop de automatische voedseluitgifte af als er voldoende voedsel in de kom zit).
Implementeer de stroom (rechtsboven).
* Alleen bij de eerste implementatie ziet u een waarschuwing in het foutopsporingsvenster over het ontbreken van het 'persistance.json'-bestand. Maak je geen zorgen, want op het moment dat je voertijden instelt of de automatische waterwissel wijzigt, wordt dit bestand geïnitialiseerd en heb je deze waarschuwing niet meer.
Je kunt je dashboard bekijken op https://NODE-RED_PC'S_INTERNAL_IP_ADDRESS:1880/ui (als je verbonden bent met hetzelfde LAN als de server) of YOUR_NGROK_ADDRESS/ui (van overal).
Stap 9: Afsluiten
We hopen dat deze tutorial informatief en gemakkelijk te lezen, begrijpen en implementeren was.
Vraag ons gerust alles.
Aanbevolen:
Automatische voerbak voor huisdieren met AtTiny85 - Ajarnpa
Automatische voerbak voor huisdieren met behulp van AtTiny85: Automatische voerbak voor huisdieren met behulp van AtTiny85 door PET Gebruikte licentie voor licentie Creative Commons - Atribuição 4.0 Internacional
SmartPET - Slimme voerbak voor huisdieren - Ajarnpa
SmartPET - Slimme voerbak voor huisdieren: Hé! Ik ben Maxime Vermeeren, een 18-jarige MCT-student (Multimedia- en communicatietechnologie) aan Howest. Ik heb ervoor gekozen om een slimme voerbak voor huisdieren te maken als mijn project. Waarom heb ik dit gemaakt? Mijn kat heeft wat gewichtsproblemen, dus besloot ik een machine te maken t
Slimme voerbak voor huisdieren: 11 stappen
Smart Pet Feeder: Ik ben een student aan de Howest Kortrijk Academy in België. Speciaal voor katten en honden heb ik een voerbak gemaakt. Ik heb dit project gemaakt voor mijn hond. Vaak ben ik 's avonds niet thuis om mijn hond eten te geven. Daardoor moet mijn hond wachten op zijn eten. Met Th
DIY eenvoudigste automatische voerbak voor huisdieren met Arduino - Ajarnpa
DIY eenvoudigste automatische voerbak voor huisdieren met Arduino Hallo dierenliefhebbers! Diep van binnen willen we allemaal een schattige kleine puppy of een kitten of waarschijnlijk zelfs een familie vissen bij ons thuis. Maar door ons drukke leven twijfelen we vaak aan onszelf: 'Kan ik wel voor mijn huisdier zorgen?' De primaire verantwoordelijk
Automatische voerbak voor huisdieren met een oud digitaal horloge - Ajarnpa
Automatische voerbak voor huisdieren met een oud digitaal horloge: Hallo, in deze instructable laat ik je zien hoe ik een automatische voerbak voor huisdieren heb gemaakt met een oud digitaal horloge. Ik heb ook een video ingesloten over hoe ik deze feeder heb gemaakt. Dit instructable zal worden ingevoerd in de PCB-wedstrijd en als een gunst zou ik ap