Innholdsfortegnelse:

Smart kjæledyrsmater: 9 trinn
Smart kjæledyrsmater: 9 trinn

Video: Smart kjæledyrsmater: 9 trinn

Video: Smart kjæledyrsmater: 9 trinn
Video: Автоматическая кормушка для кошек и собак. Автокормушка Automatic Pet Feeder 4PLDH5001 с таймером. 2024, Desember
Anonim
Image
Image
Smart kjæledyrsmater
Smart kjæledyrsmater

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?

Hvordan virker det?
Hvordan virker 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

Programvare
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

Kretsoppsett
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

Håndverk
Håndverk
Håndverk
Håndverk
Håndverk
Håndverk

Vanndispenser

  1. Lim servoen til toppen av den nedre delen av dispenseren (som vist på bildet).
  2. Bor et lite hull i vanndispenserens knott.
  3. Koble servohode til knotten med en ledning (sørg for at servohodet er i posisjon 0 og kontroller at ledningen er stram).
  4. Lim en ultralydsensor på innsiden av tanken, nær toppen (sensoren vendt ned).
  5. 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

  1. Skru servoen til holderen (3D -trykt del).
  2. Lim trakten (3D -trykt del) til tankholderen (3D -trykt del).
  3. Koble tankholderen til dispenserens stativ (3D -trykt del) og sett tanken på plass.
  4. Sett den roterende delen (3D -trykt) på plass og gjennom den roterende gummidelen på dispenseren.
  5. Skru servoholderdelen til dispenserens stativ.
  6. Lim en ultralydsensor på innsiden av tankens lokk (sensoren vendt ned).
  7. 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

Mygg
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

Arduino IDE
Arduino IDE
Arduino IDE
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

Ngrok
Ngrok
Ngrok
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

Node-RØD
Node-RØD
Node-RØD
Node-RØD
Node-RØD
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

Slutt opp
Slutt opp

Vi håper denne opplæringen var informativ og lett å lese, forstå og implementere.

Spør oss hva som helst.

Anbefalt: