Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Hvordan fungerer det?
- Trin 2: Software
- Trin 3: Kredslayout
- Trin 4: Håndværk
- Trin 5: Myg
- Trin 6: Arduino IDE
- Trin 7: Ngrok
- Trin 8: Node-RØD
- Trin 9: Afslut
Video: Smart Pet Feeder: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Har du et kæledyr?
- Nej: adopter en! (og kom tilbage til dette instruerbare).
- Ja: godt arbejde!
Ville det ikke være fantastisk, hvis du kunne fodre og give vand til din elskede uden at aflyse planer for at komme hjem til tiden? Vi siger ikke bekymre dig mere.
I dette projekt har vi lavet en fjernstyret (via web) mad- og vanddispensere.
Gennem online dashboard kan du se data og styre dispenserne:
- Se mad og vandstand i tankene.
- Se mad og vandstand i skålene.
- Spiser eller drikker dyret i øjeblikket?
- Planlæg fodring (enheden uddeler ikke mad, hvis der er nok mad i skålen).
- Dispenser automatisk vand, når skålen bliver tom.
- Dispenser mad/vand med et tryk på en knap.
- Modtag push -meddelelser til din telefon (via Telegram -appen).
Hvem er vi?
Oprettet af Tom Kaufman og Katya Fichman, datalogistuderende ved IDC Herzliya.
Dette projekt blev lavet til et IOT -kursus.
Forbrugsvarer
Elektronik
- 2 X ESP8266 (Wemos d1 mini).
- Jumper ledninger.
- 2 X brødbræt.
- 4 x ultralydssensor.
- 2 X Load celle.
- 2 X belastningscelleforstærker (HX711).
- Servo (180 °).
- Servo (kontinuerlig rotation).
- 2 x 6V strømforsyning.
Dele
- Cornflakes dispenser (Amazon link).
- 3D -trykt maddispenserens tragt (https://www.thingiverse.com/thing:3998805).
- 3D -trykt maddispenser servostik (https://www.thingiverse.com/thing:3269637).
- 3D -trykt maddispenserholder (designet til dette projekt:
- 3D -trykt vejecellebase og plade (designet til dette projekt:
- Vanddispenser (Amazon -link til noget lignende).
- Ledning (til tilslutning af vanddispenserens drejeknap til servoen).
- 3 X ultralydssensors stativ.
Trin 1: Hvordan fungerer det?
ESP8266-kortene sender sensorernes aflæsninger til Node-RED gennem Mosquitto (MQTT-mægler).
Node-RED behandler dataene, foretager handlinger i overensstemmelse hermed (send også dispenseringskommandoer til ESP8266-kortene gennem Mosquitto) og viser information på instrumentbrættet.
Alle beregninger udføres i Node-RED, så det ville være let at gentage dette projekt og ændre behandlingen af data i henhold til dine indstillinger og præferencer uden at blive beskidt med kodning.
Trin 2: Software
Arduino IDE
Download og installer (link:
Myg
Download og installer (link:
Node.js
Download og installer (link:
Node-RØD
Følg instruktionerne:
ngrok
Download:
Telegram
Installer appen på din smartphone.
Trin 3: Kredslayout
* Begge enheder har identiske kredsløb
Vandbeholder
-
Ultralydssensor (til vandtanken)
- GND - G
- VCC - 5V
- ECHO - D5
- TRIGGER - D0
-
Ultralydssensor (til kæledyrets afstand til skålen)
- GND - G
- VCC - 5V
- ECHO - D6
- TRIGGER - D7
-
Indlæse celle
- GRØN - A+ (HX711)
- HVID - A- (HX711)
- SORT - E- (HX711)
- RØD - E+ (HX711)
-
HX711 (vejecelleforstærker)
- GND - G
- VCC - 5V
- DT - D4
- SCK - D3
-
Servo (180 °)
- GND - G
- VCC - 5V
Maddispenser
-
Ultralydssensor (til madtanken)
- GND - G
- VCC - 5V
- ECHO - D5
- TRIGGER - D0
-
Ultralydssensor (til kæledyrets afstand til skålen)
- GND - G
- VCC - 5V
- ECHO - D6
- TRIGGER - D7
-
Indlæse celle
- GRØN - A+ (HX711)
- HVID - A- (HX711)
- SORT - E- (HX711)
- RØD - E+ (HX711)
-
HX711 (vejecelleforstærker)
- GND - G
- VCC - 5V
- DT - D4
- SCK - D3
-
Servo (kontinuerlig rotation)
- GND - G
- VCC - 5V
- KONTROL - D8
Trin 4: Håndværk
Vandbeholder
- Lim servoen til toppen af den nederste del af dispenseren (som vist på billedet).
- Bor et lille hul i vanddispenserens knop.
- Tilslut servohovedet til knappen med en ledning (sørg for at servohovedet er i position 0, og sørg for at ledningen er stram).
- Lim en ultralydssensor til indersiden af tanken, nær dens top (sensor nedad).
- Lim en ultralydssensor under vandknappen mod ydersiden (sørg for at den er høj nok, så vandskålen ikke påvirker dens aflæsninger).
Maddispenser
- Skru servoen fast på holderen (3D -printet del).
- Lim tragten (3D -trykt del) til tankholderen (3D -trykt del).
- Tilslut tankholderen til dispenserstativet (3D -printet del) og sæt tanken på plads.
- Indsæt den roterende del (3D -trykt) på sin plads og gennem den roterende gummidel af dispenseren.
- Skru servoholderdelen fast på dispenserens stativ.
- Lim en ultralydssensor til indersiden af tankens låg (sensoren nedad).
- Lim en ultralydssensor til siden af tankens holder mod det sted, hvor dit kæledyr vil spise.
Indlæse celler
Lim hver vejecelle til den 3D -trykte base og plade (vejecellens pil nedad)
Trin 5: Myg
Åbn Mosquitto (Windows -brugere: gå til Mosquitto -mappen, åbn cmd og indtast: "mosquitto -v").
* For at få computerens interne IP -adresse skal du køre cmd og indtaste "ipconfig".
Trin 6: Arduino IDE
Åbn Arduino IDE og følg "Install ESP8266 Add-on in Arduino IDE" del af denne vejledning:
Gå til Værktøjs-> Board og vælg "LOLIN (WEMOS) D1 R2 & mini".
Gå til Skitse-> Inkluder bibliotek-> Tilføj. ZIP-bibliotek … og tilføj de 3 biblioteker i filen "Libraries.rar".
Åbn "HX711Calibration" -skitse, upload den til begge ESP8266'er, kør den og følg instruktionerne (i begyndelsen af koden og i den serielle skærm) for at kalibrere vejecellerne (sørg for, at baudhastigheden på den serielle skærm er indstillet til 115200 baud).
* Skriv kalibreringsfaktoren og nul -forskydningen ned (til senere brug).
Åbn "FoodDispenser" og "WaterDispenser" -skitser gennem IDE'en, og rediger følgende variabler med dine indstillinger (i filen "Settings.h"):
- WIFI_SSID
- WIFI_PASSWORD
- MQTT_SERVER
- LOAD_CELL_CALIBRATION_FACTOR
- LOAD_CELL_ZERO_OFFSET
* I MQTT_SERVER indtast den interne IP -adresse fra "Mosquitto" -trinet.
Upload skitserne til dine to ESP8266 (en kode til hvert bræt).
* Bemærk, at vi har brugt biblioteket "AsyncMqttClient" og ikke det mere almindelige "pubsubclient" -bibliotek, siden esp8266 går ned, når det kombineres med "HX711" -biblioteket.
* Hvis du vælger at foretage ændringer af koden, skal du sørge for ikke at bruge funktionerne "forsinkelse" og "udbytte" inde i tilbagekaldsfunktioner, da det vil forårsage nedbrud.
Trin 7: Ngrok
Pak den downloadede fil ud (fra linket i "Software" -trinet).
Åbn "ngrok.exe" og kør kommandoen "ngrok http 1880".
* Du kan vælge den region, der er tættest på dig (au, eu, ap, us, jp, in, sa). Standard er os.
Eksempelvis kører kommandoen: "ngrok http --region = eu 1880" (indstil regionen til Europa).
Nu ser du din webadresse til ekstern brug (vi henviser til denne adresse som YOUR_NGROK_ADDRESS).
Trin 8: Node-RØD
Åbn Node-RED (Windows-brugere: Åbn cmd og indtast "node-red") og gå til https:// localhost: 1880 (hvis det ikke virker, skal du søge efter adressen i cmd-vinduet, hvor det er skrevet "Server nu kører på ").
Åbn menuen (øverst til højre) og tryk på "Administrer paletten".
Gå til fanen "Installer", søg og installer disse moduler:
- node-red-contrib-persist.
- node-red-contrib-cron-plus.
- node-red-contrib-ui-led.
- node-red-dashboard.
- node-red-contrib-telegrambot.
Gå til menuen-> Import og upload flow-filen (udpak den vedhæftede RAR-fil, og upload json-filen).
Se de vedhæftede billeder for forklaringer om flowet.
Du skal ændre disse noder med dine indstillinger:
- Opdater "Telegram afsender" -nodens profil med din bots brugernavn og token (brug denne vejledning:
- I bunden af flowet ændres nyttelasterne for "Ngrok Address" og "Telegram Chat Id" -knudepunkter (få dit chat -id ved hjælp af Telegram -guiden i ovenstående link).
-
I den nederste del af flowet er der indstillingsnoder - rediger dem efter dine behov:
- Aktiver kæledyr er spisning/drikke advarsler.
- Definer, hvad der er afstanden for aktivering af spise-/drikkevarsel.
- Definer databehandling af skåle og tanke.
- Rediger udleveringstider (i hvor lang tid forekommer udleveringerne - automatisk tilstand og tryk på knappen).
- Definer madskålens overløbstærskelprocent (afbryd automatisk madudlevering, hvis der er nok mad i skålen).
Distribuer flowet (øverst til højre).
* Først ved den første implementering vil du se en advarsel i fejlfindingsvinduet om manglende 'persistance.json' -fil. Du skal ikke bekymre dig om det, da du i øjeblikket vil indstille fodringstider eller ændre den automatiske vandkontakt, det vil initialisere denne fil, og du får ikke længere denne advarsel.
Du kan se dit dashboard på https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880/ui (hvis du har forbindelse til det samme LAN som serveren) eller YOUR_NGROK_ADDRESS/ui (overalt).
Trin 9: Afslut
Vi håber, at denne vejledning var informativ og let at læse, forstå og implementere.
Spørg os gerne noget.
Anbefalede:
SmartPET - Smart Pet Feeder: 7 trin (med billeder)
SmartPET - Smart Pet Feeder: Hej! Jeg er Maxime Vermeeren, en 18 år gammel MCT (Multimedia og kommunikationsteknologi) studerende på Howest. Jeg har valgt at oprette en smart dyrefoder som mit projekt. Hvorfor lavede jeg dette? Min kat har nogle vægtproblemer, så jeg besluttede mig for at lave en maskine til
Smart Pet Feeder: 11 trin
Smart Pet Feeder: Jeg er studerende på Howest Kortrijk Academy i Belgien. Jeg lavede en feeder specielt til katte og hunde. Jeg lavede dette projekt til min hund. Mange gange er jeg ikke hjemme for at fodre min hund om aftenen. Derfor må min hund vente på at få sin mad. Med den
Smart Feeder: 4 trin
Smart Feeder: At have et kæledyr er meget sjovt. Men når du vil på en sjov ferie, og du ikke kan tage din bedste ven med, skal du finde en person, der kan komme og fodre dit kæledyr. Jeg har haft dette problem meget og fik ideen om at bygge mit eget automatiske kæledyr til
Industrial Strength Cat (pet) Feeder: 10 trin
Industrial Strength Cat (pet) Feeder: Jeg rejser i mange uger ad gangen, og jeg har disse udendørs vildkatte, der skal fodres, mens jeg er væk. I flere år har jeg brugt modificerede feedere købt fra Amazon, der styres ved hjælp af en hindbær pi -computer. Selvom min
SMART FISH FEEDER "DOMOVOY": 5 trin (med billeder)
SMART FISH FEEDER "DOMOVOY": Feeder " DOMOVOY " er designet til automatisk fodring af akvariefisk på skema.Funktioner: Designet til automatisk fodring af akvariefiskFodring udføres på det indstillede tidspunkt En særlig algoritme forhindrer foderstopParametre kan ændres