Innehållsförteckning:

Smart husdjursmatare: 9 steg
Smart husdjursmatare: 9 steg

Video: Smart husdjursmatare: 9 steg

Video: Smart husdjursmatare: 9 steg
Video: Smart Pet Feeder - WIFIPET10CWT (EN) 2024, Juli
Anonim
Image
Image
Smart husdjursmatare
Smart husdjursmatare

Har du ett husdjur?

  • Nej: anta en! (och kom tillbaka till detta instruerbara).
  • Ja: bra jobbat!

Vore det inte bra om du kunde mata och ge vatten till din älskade utan att avbryta planer för att komma hem i tid? Vi säger oroa dig inte mer.

I detta projekt har vi gjort en fjärrstyrd (via webben) mat- och vattendispenser.

Via online -instrumentpanelen kan du se data och styra dispensrarna:

  • Visa mat- och vattennivåer i tankarna.
  • Visa mat- och vattennivåer i skålarna.
  • Äter eller dricker djuret just nu?
  • Schemalägg matningar (enheten ger inte ut mat om det finns tillräckligt med mat i skålen).
  • Dosera vatten automatiskt när skålen blir tom.
  • Mata ut vatten/vatten med en knapptryckning.
  • Få push -aviseringar till din telefon (via Telegram -appen).

Vilka är vi?

Skapad av Tom Kaufman och Katya Fichman, datavetenskapstudenter vid IDC Herzliya.

Detta projekt gjordes för en IOT -kurs.

Tillbehör

Elektronik

  • 2 X ESP8266 (Wemos d1 mini).
  • Bygelkablar.
  • 2 X brödbräda.
  • 4 X ultraljudssensor.
  • 2 X Lastcell.
  • 2 X lastcellsförstärkare (HX711).
  • Servo (180 °).
  • Servo (kontinuerlig rotation).
  • 2 x 6V strömförsörjning.

Delar

  • Cornflakes -dispenser (Amazon -länk).
  • 3D -tryckt matautomatens tratt (https://www.thingiverse.com/thing:3998805).
  • 3D -tryckt matdispensers servofäste (https://www.thingiverse.com/thing:3269637).
  • 3D -tryckt matställ för stativ (designat för detta projekt:
  • 3D -tryckt lastcellsbas och platta (designad för detta projekt:
  • Vattendispenser (Amazon -länk till något liknande).
  • Tråd (för att ansluta vattendispenserns vred till servon).
  • 3 X ultraljudssensors stativ.

Steg 1: Hur fungerar det?

Hur fungerar det?
Hur fungerar det?

ESP8266-korten skickar sensormätningar till Node-RED genom Mosquitto (MQTT-mäklare).

Node-RED behandlar data, gör åtgärder i enlighet därmed (skickar också ut kommandon till ESP8266-korten via Mosquitto) och visar information på instrumentpanelen.

Alla beräkningar utförs i Node-RED så det skulle vara enkelt att replikera detta projekt och ändra bearbetningen av data enligt dina inställningar och preferenser utan att bli smutsig av händerna med kodning.

Steg 2: Programvara

Mjukvaror
Mjukvaror

Arduino IDE

Ladda ner och installera (länk:

Mygga

Ladda ner och installera (länk:

Node.js

Ladda ner och installera (länk:

Nod-RÖD

Följ instruktionerna:

ngrok

Ladda ner:

Telegram

Installera appen på din smartphone.

Steg 3: Kretslayout

Kretslayout
Kretslayout

* Båda enheterna har identiska kretsar

Vattendispenser

  • Ultraljudssensor (för vattentanken)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • TRIGGER - D0
  • Ultraljudssensor (för husdjurets avstånd från skålen)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • TRIGGER - D7
  • Ladda cell

    • GRÖN - A+ (HX711)
    • VIT - A- (HX711)
    • SVART - E- (HX711)
    • RÖD - E+ (HX711)
  • HX711 (lastcellsförstärkare)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (180 °)

    • GND - G
    • VCC - 5V

Matautomat

  • Ultraljudssensor (för matbehållaren)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • TRIGGER - D0
  • Ultraljudssensor (för husdjurets avstånd från skålen)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • TRIGGER - D7
  • Ladda cell

    • GRÖN - A+ (HX711)
    • VIT - A- (HX711)
    • SVART - E- (HX711)
    • RÖD - E+ (HX711)
  • HX711 (lastcellsförstärkare)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (kontinuerlig rotation)

    • GND - G
    • VCC - 5V
    • KONTROLL - D8

Steg 4: Hantverk

Hantverk
Hantverk
Hantverk
Hantverk
Hantverk
Hantverk

Vattendispenser

  1. Limma servon på ovansidan av dispenserns nedre del (som visas på bilden).
  2. Borra ett litet hål i vattendispenserns vred.
  3. Anslut servohuvudet till vredet med en tråd (se till att servohuvudet är i läge 0 och se till att tråden är tät).
  4. Lim en ultraljudssensor på tankens insida, nära dess övre del (sensorn nedåt).
  5. Lim en ultraljudssensor under vattenknappen mot utsidan (se till att den är tillräckligt hög så att vattenskålen inte påverkar avläsningarna).

Matautomat

  1. Skruva fast servon på hållaren (3D -tryckt del).
  2. Lim tratten (3D -tryckt del) på tankhållaren (3D -tryckt del).
  3. Anslut tankhållaren till dispenserns stativ (3D -tryckt del) och sätt tanken på plats.
  4. För in den snurrande delen (3D -tryckt) på sin plats och genom den roterande gummidelen på dispensern.
  5. Skruva fast servohållardelen på dispenserns stativ.
  6. Lim en ultraljudssensor på insidan av tankens lock (sensorn nedåt).
  7. Lim en ultraljudssensor på sidan av tankhållaren vänd mot platsen där ditt husdjur ska äta.

Ladda celler

Limma varje lastcell till den 3D -tryckta basen och plattan (lastcellens pil nedåt)

Steg 5: Mygga

Mygga
Mygga

Öppna Mosquitto (Windows -användare: gå till Mosquitto -mappen, öppna cmd och ange: "mosquitto -v").

* För att få datorns interna IP -adress, kör cmd och skriv "ipconfig".

Steg 6: Arduino IDE

Arduino IDE
Arduino IDE
Arduino IDE
Arduino IDE

Öppna Arduino IDE och följ "Installera ESP8266-tillägget i Arduino IDE" i den här guiden:

Gå till Verktygs-> Board och välj "LOLIN (WEMOS) D1 R2 & mini".

Gå till Sketch-> Inkludera bibliotek-> Lägg till. ZIP-bibliotek … och lägg till de tre biblioteken i filen "Libraries.rar".

Öppna "HX711Calibration" -skiss, ladda upp den till båda ESP8266, kör den och följ instruktionerna (i början av koden och i seriell bildskärm) för att kalibrera lastcellerna (se till att överföringshastigheten för seriell bildskärm är inställd på 115200 baud).

* Skriv ner kalibreringsfaktorn och nollförskjutningen (för senare användning).

Öppna "FoodDispenser" och "WaterDispenser" skisser genom IDE och ändra följande variabler med dina inställningar (i filen "Settings.h"):

  • WIFI_SSID
  • WIFI_PASSWORD
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* I MQTT_SERVER anger du den interna IP -adressen från steget "Mosquitto".

Ladda upp skisserna till dina två ESP8266 (en kod till varje bräda).

* Lägg märke till att vi har använt biblioteket "AsyncMqttClient" och inte det vanligare "pubsubclient" -biblioteket sedan esp8266 kraschar i kombination med biblioteket "HX711".

* Om du väljer att göra ändringar i koden, se till att du inte använder funktionerna "fördröjning" och "avkastning" i återuppringningsfunktioner eftersom det kommer att orsaka kraschar.

Steg 7: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

Packa upp den nedladdade filen (från länken i steget "Programvara").

Öppna "ngrok.exe" och kör kommandot "ngrok http 1880".

* Du kan välja den region som ligger närmast dig (au, eu, ap, us, jp, in, sa). Standard är oss.

Kör till exempel kommandot: "ngrok http --region = eu 1880" (ställ in regionen till Europa).

Nu ser du din webbadress för extern användning (vi kallar den här adressen YOUR_NGROK_ADDRESS).

Steg 8: Nod-RÖD

Nod-RÖD
Nod-RÖD
Nod-RÖD
Nod-RÖD
Nod-RÖD
Nod-RÖD

Öppna Node-RED (Windows-användare: öppna cmd och skriv "node-red") och gå till https:// localhost: 1880 (om det inte fungerar, sök efter adressen i cmd-fönstret där det står "Server nu kör på ").

Öppna menyn (högst upp till höger) och tryck på "Hantera palett".

Gå till fliken "Installera", sök och installera dessa moduler:

  • nod-red-contrib-persist.
  • nod-röd-bidrag-cron-plus.
  • nod-röd-bidrag-ui-led.
  • nod-röd-instrumentpanel.
  • nod-röd-bidrag-telegrambot.

Gå till menyn-> Importera och ladda upp flödesfilen (extrahera den bifogade RAR-filen och ladda upp json-filen).

Se bifogade bilder för förklaringar om flödet.

Du måste ändra dessa noder med dina inställningar:

  • Uppdatera profilen "Telegram-avsändare" med din bots användarnamn och token (använd den här guiden:
  • Längst ner i flödet ändrar du nyttolasterna för "Ngrok Address" och "Telegram Chat Id" -noder (få ditt chatt -id genom att använda Telegram -guiden i länken ovan).
  • I den nedre delen av flödet finns inställningsnoder - ändra dem efter dina behov:

    • Aktivera husdjur äter/dricker varningar.
    • Definiera vad som är avståndet för att aktivera ät-/drickvarning.
    • Definiera skålar och tankar databehandling.
    • Ändra utmatningstider (hur länge tar utmatningarna - autoläge och knapptryckning).
    • Definiera matskålens överskridande tröskelprocent (avbryt automatisk matutmatning om det finns tillräckligt med mat i skålen).

Distribuera flödet (längst upp till höger).

* Först vid den första distributionen kommer du att se en varning i felsökningsfönstret om att filen 'persistance.json' saknas. Oroa dig inte för det eftersom du för närvarande kommer att ställa in matningstider eller ändra den automatiska vattenbrytaren, den kommer att initiera den här filen och du kommer inte längre att ha den här varningen.

Du kan se din instrumentpanel på https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880/ui (om du är ansluten till samma LAN som servern) eller YOUR_NGROK_ADDRESS/ui (överallt).

Steg 9: Avsluta

Sammanfatta
Sammanfatta

Vi hoppas att denna handledning var informativ och lätt att läsa, förstå och implementera.

Fråga oss gärna vad som helst.

Rekommenderad: