Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Hvordan fungerer det?
- Trinn 2: Programvare
- Trinn 3: Kretsoppsett
- Trinn 4: Håndverk
- Trinn 5: Mygg
- Trinn 6: Arduino IDE
- Trinn 7: Ngrok
- Trinn 8: Node-RØD
- Trinn 9: Avslutt
Video: Smart kjæledyrsmater: 9 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Har du et kjæledyr?
- Nei: adopter en! (og kom tilbake til dette instruerbare).
- Ja: bra jobba!
Ville det ikke vært flott hvis du kunne mate og gi vann til din kjære uten å kansellere planer for å komme hjem i tide? Vi sier ikke bekymre deg mer.
I dette prosjektet har vi laget en fjernstyrt (via web) mat- og vanndispensere.
Gjennom det elektroniske dashbordet kan du se data og kontrollere dispenserne:
- Se mat- og vannivået i tankene.
- Se mat- og vannivået i bollene.
- Spiser eller drikker dyret for øyeblikket?
- Planlegg mating (enheten gir ikke mat hvis det er nok mat i bollen).
- Tapp ut vann automatisk når bollen blir tom.
- Tapp ut mat/vann med et tastetrykk.
- Motta push -varsler til telefonen din (via Telegram -appen).
Hvem er vi?
Opprettet av Tom Kaufman og Katya Fichman, informatikkstudenter ved IDC Herzliya.
Dette prosjektet ble laget for et IOT -kurs.
Rekvisita
Elektronikk
- 2 X ESP8266 (Wemos d1 mini).
- Jumper ledninger.
- 2 X brødbrett.
- 4 X ultralydsensor.
- 2 X lastcelle.
- 2 X lastcelleforsterker (HX711).
- Servo (180 °).
- Servo (kontinuerlig rotasjon).
- 2 x 6V strømforsyning.
Deler
- Cornflakes -dispenser (Amazon -lenke).
- 3D -trykt matdispenserens trakt (https://www.thingiverse.com/thing:3998805).
- 3D -trykt matdispenserens servofeste (https://www.thingiverse.com/thing:3269637).
- 3D -trykt stativ for matdispenser (designet for dette prosjektet:
- 3D -trykt lastcellebase og plate (designet for dette prosjektet:
- Vanndispenser (Amazon -lenke til noe lignende).
- Ledning (for å koble vanndispenserens knott til servoen).
- 3 X stativ for ultralydsensor.
Trinn 1: Hvordan fungerer det?
ESP8266-kortene sender sensorenes avlesning til Node-RED gjennom Mosquitto (MQTT-megler).
Node-RED behandler dataene, utfører handlinger tilsvarende (send også dispenseringskommandoer til ESP8266-kortene gjennom Mosquitto) og viser informasjon på dashbordet.
Alle beregningene utføres i Node-RED, så det ville være enkelt å replikere dette prosjektet og endre behandlingen av dataene i henhold til dine innstillinger og preferanser uten å bli skitten på hendene med koding.
Trinn 2: Programvare
Arduino IDE
Last ned og installer (lenke:
Mygg
Last ned og installer (lenke:
Node.js
Last ned og installer (lenke:
Node-RØD
Følg instruksjonene:
ngrok
Last ned:
Telegram
Installer appen på smarttelefonen din.
Trinn 3: Kretsoppsett
* Begge enhetene har identiske kretser
Vanndispenser
-
Ultralydsensor (for vanntanken)
- GND - G
- VCC - 5V
- ECHO - D5
- TRIGGER - D0
-
Ultralydsensor (for kjæledyrets avstand fra bollen)
- GND - G
- VCC - 5V
- ECHO - D6
- TRIGGER - D7
-
Lastcelle
- GRØNN - A+ (HX711)
- HVIT - A- (HX711)
- SVART - E- (HX711)
- RØD - E+ (HX711)
-
HX711 (lastcelleforsterker)
- GND - G
- VCC - 5V
- DT - D4
- SCK - D3
-
Servo (180 °)
- GND - G
- VCC - 5V
Matautomat
-
Ultralydsensor (for matbeholderen)
- GND - G
- VCC - 5V
- ECHO - D5
- TRIGGER - D0
-
Ultralydsensor (for kjæledyrets avstand fra bollen)
- GND - G
- VCC - 5V
- ECHO - D6
- TRIGGER - D7
-
Lastcelle
- GRØNN - A+ (HX711)
- HVIT - A- (HX711)
- SVART - E- (HX711)
- RØD - E+ (HX711)
-
HX711 (lastcelleforsterker)
- GND - G
- VCC - 5V
- DT - D4
- SCK - D3
-
Servo (kontinuerlig rotasjon)
- GND - G
- VCC - 5V
- KONTROLL - D8
Trinn 4: Håndverk
Vanndispenser
- Lim servoen til toppen av den nedre delen av dispenseren (som vist på bildet).
- Bor et lite hull i vanndispenserens knott.
- Koble servohode til knotten med en ledning (sørg for at servohodet er i posisjon 0 og kontroller at ledningen er stram).
- Lim en ultralydsensor på innsiden av tanken, nær toppen (sensoren vendt ned).
- Lim en ultralydsensor under vannknappen mot utsiden (pass på at den er høy nok til at vannskålen ikke påvirker målingene).
Matautomat
- Skru servoen til holderen (3D -trykt del).
- Lim trakten (3D -trykt del) til tankholderen (3D -trykt del).
- Koble tankholderen til dispenserens stativ (3D -trykt del) og sett tanken på plass.
- Sett den roterende delen (3D -trykt) på plass og gjennom den roterende gummidelen på dispenseren.
- Skru servoholderdelen til dispenserens stativ.
- Lim en ultralydsensor på innsiden av tankens lokk (sensoren vendt ned).
- Lim en ultralydsensor på siden av tankholderen vendt mot stedet der kjæledyret ditt skal spise.
Last inn celler
Lim hver lastcelle til den 3D -trykte basen og tallerkenen (pilen til pilene til nedlastede celler)
Trinn 5: Mygg
Åpne Mosquitto (Windows -brukere: gå til Mosquitto -mappen, åpne cmd og skriv inn "mosquitto -v").
* For å få den interne IP -adressen til datamaskinen, kjør cmd og skriv inn "ipconfig".
Trinn 6: Arduino IDE
Åpne Arduino IDE og følg delen "Install ESP8266 Add-on in Arduino IDE" i denne veiledningen:
Gå til Verktøy-> Tavle og velg "LOLIN (WEMOS) D1 R2 & mini".
Gå til Skisse-> Inkluder bibliotek-> Legg til. ZIP-bibliotek … og legg til de tre bibliotekene i "Libraries.rar" -filen.
Åpne "HX711Calibration" -skisse, last den opp til begge ESP8266, kjør den og følg instruksjonene (i begynnelsen av koden og i den serielle skjermen) for å kalibrere lastcellene (sørg for at baudhastigheten til den serielle skjermen er satt til 115200 baud).
* Skriv ned kalibreringsfaktoren og nullforskyvningen (for senere bruk).
Åpne "FoodDispenser" og "WaterDispenser" skisser gjennom IDE og endre følgende variabler med innstillingene dine (i filen "Settings.h"):
- WIFI_SSID
- WIFI_PASSWORD
- MQTT_SERVER
- LOAD_CELL_CALIBRATION_FACTOR
- LOAD_CELL_ZERO_OFFSET
* I MQTT_SERVER angir du den interne IP -adressen fra trinnet "Mygg".
Last opp skissene til dine to ESP8266 (én kode til hvert brett).
* Legg merke til at vi har brukt "AsyncMqttClient" -biblioteket og ikke det mer vanlige "pubsubclient" -biblioteket siden esp8266 krasjer når det kombineres med "HX711" -biblioteket.
* Hvis du velger å gjøre endringer i koden, må du ikke bruke funksjonene "forsinkelse" og "gi" inne i tilbakeringingsfunksjoner, da det vil forårsake krasj.
Trinn 7: Ngrok
Pakk ut den nedlastede filen (fra lenken i trinnet "Programvare").
Åpne "ngrok.exe" og kjør kommandoen "ngrok http 1880".
* Du kan velge regionen nærmest deg (au, eu, ap, oss, jp, in, sa). Standard er oss.
For eksempel kjører du kommandoen: "ngrok http --region = eu 1880" (sett regionen til Europa).
Nå ser du nettadressen din for ekstern bruk (vi omtaler denne adressen som YOUR_NGROK_ADDRESS).
Trinn 8: Node-RØD
Åpne Node-RED (Windows-brukere: åpne cmd og skriv inn "node-red") og gå til https:// localhost: 1880 (hvis det ikke fungerer, søk etter adressen i cmd-vinduet der det står "Server nå kjører på ").
Åpne menyen (øverst til høyre) og trykk "Administrer palett".
Gå til "Installer" -fanen, søk og installer disse modulene:
- node-red-contrib-persist.
- node-red-contrib-cron-plus.
- node-red-contrib-ui-led.
- node-red-dashboard.
- node-red-contrib-telegrambot.
Gå til menyen-> Importer og last opp flytefilen (trekk ut den vedlagte RAR-filen og last opp json-filen).
Se vedlagte bilder for forklaringer om flyten.
Du må endre disse nodene med innstillingene dine:
- Oppdater "Telegram sender" -profilen med botens brukernavn og token (bruk denne veiledningen:
- I bunnen av strømmen kan du endre nyttelastene til "Ngrok Address" og "Telegram Chat Id" -noder (få chat -ID -en din ved å bruke Telegram -guiden i lenken ovenfor).
-
I den nedre delen av flyten er det innstillingsnoder - endre dem i henhold til dine behov:
- Aktiver kjæledyr er spise/drikke varsler.
- Definer hva som er avstanden for å aktivere spise/drikke varsel.
- Definere databehandling av skåler og tanker.
- Endre utleveringstider (hvor lenge varer utleveringene - automatisk modus og knappetrykk).
- Definer matskålens overløpsterskelprosent (avbryt automatisk matdispensering hvis det er nok mat i bollen).
Distribuer flyten (øverst til høyre).
* Bare ved den første distribusjonen vil du se en advarsel i feilsøkingsvinduet om manglende 'persistance.json' -fil. Ikke bekymre deg for det, for øyeblikket vil du angi fôringstider eller endre automatisk vannbryter, den vil initialisere denne filen, og du vil ikke lenger ha denne advarselen.
Du kan se dashbordet ditt på https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880/ui (hvis du er koblet til samme LAN som serveren) eller YOUR_NGROK_ADDRESS/ui (overalt).
Trinn 9: Avslutt
Vi håper denne opplæringen var informativ og lett å lese, forstå og implementere.
Spør oss hva som helst.
Anbefalt:
Smart skrivebord LED -lys - Smart Lighting W/ Arduino - Neopixels arbeidsområde: 10 trinn (med bilder)
Smart skrivebord LED -lys | Smart Lighting W/ Arduino | Neopixels Workspace: Nå tilbringer vi mye tid hjemme, studerer og jobber virtuelt, så hvorfor ikke gjøre arbeidsområdet vårt større med et tilpasset og smart belysningssystem Arduino og Ws2812b LED -er. Her viser jeg deg hvordan du bygger din Smart LED -skrivebordslampe som
Automatisk kjæledyrsmater som bruker AtTiny85: 6 trinn
Automatisk kjæledyrsmater som bruker AtTiny85: Automatisk kjæledyrsmater som bruker AtTiny85 de PET Engenharia de Computação está licenciado com uma Licença Creative Commons - Atribuição 4.0 Internacional
SmartPET - Smart kjæledyrsmater: 7 trinn (med bilder)
SmartPET - Smart Pet Feeder: Hei! Jeg er Maxime Vermeeren, en 18 år gammel MCT-student (Multimedia og kommunikasjonsteknologi) på Howest. Jeg har valgt å lage en smart kjæledyrsmater som prosjektet mitt. Hvorfor gjorde jeg dette? Katten min har noen vektproblemer, så jeg bestemte meg for å lage en maskin
Smart kjæledyrsmater: 11 trinn
Smart Pet Feeder: Jeg er student ved Howest Kortrijk Academy i Belgia. Jeg lagde en mater spesielt for katter og hunder. Jeg laget dette prosjektet for hunden min. Mange ganger er jeg ikke hjemme for å mate hunden min om kvelden. På grunn av det må hunden min vente på å få maten sin. Med det
Kjæledyrsmater med RasPi og Telegram Bot: 4 trinn (med bilder)
Pet Feedermaskin med RasPi og Telegram Bot: Først og fremst må jeg presisere at dette ikke er en original idégruve, bare oppdatere og tilpasse programmeringsskriptene for å jobbe med telegram, jeg fant det i en tidligere Instructable så kredittene er virkelig forfatter av den. Du kunne se den spanske