Indholdsfortegnelse:

Smart Pet Feeder: 9 trin
Smart Pet Feeder: 9 trin

Video: Smart Pet Feeder: 9 trin

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

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?

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

Software
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

Circuit Layout
Circuit Layout

* 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

Håndværk
Håndværk
Håndværk
Håndværk
Håndværk
Håndværk

Vandbeholder

  1. Lim servoen til toppen af den nederste del af dispenseren (som vist på billedet).
  2. Bor et lille hul i vanddispenserens knop.
  3. Tilslut servohovedet til knappen med en ledning (sørg for at servohovedet er i position 0, og sørg for at ledningen er stram).
  4. Lim en ultralydssensor til indersiden af tanken, nær dens top (sensor nedad).
  5. 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

  1. Skru servoen fast på holderen (3D -printet del).
  2. Lim tragten (3D -trykt del) til tankholderen (3D -trykt del).
  3. Tilslut tankholderen til dispenserstativet (3D -printet del) og sæt tanken på plads.
  4. Indsæt den roterende del (3D -trykt) på sin plads og gennem den roterende gummidel af dispenseren.
  5. Skru servoholderdelen fast på dispenserens stativ.
  6. Lim en ultralydssensor til indersiden af tankens låg (sensoren nedad).
  7. 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

Myg
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

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

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

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

Wrap Up
Wrap Up

Vi håber, at denne vejledning var informativ og let at læse, forstå og implementere.

Spørg os gerne noget.

Anbefalede: