Sommario:

Mangiatoia intelligente per animali domestici: 9 passaggi
Mangiatoia intelligente per animali domestici: 9 passaggi

Video: Mangiatoia intelligente per animali domestici: 9 passaggi

Video: Mangiatoia intelligente per animali domestici: 9 passaggi
Video: Le 5 Migliori Distributori Automatici di Cibo per Cani 2024, Dicembre
Anonim
Image
Image
Mangiatoia intelligente per animali domestici
Mangiatoia intelligente per animali domestici

Hai un animale domestico?

  • No: adottane uno! (e torna a questo istruibile).
  • Sì: buon lavoro!

Non sarebbe fantastico se potessi nutrire e dare acqua alla persona amata senza annullare i piani per tornare a casa in tempo? Diciamo non preoccuparti più.

In questo progetto abbiamo realizzato un distributore di cibo e acqua telecomandato (tramite web).

Attraverso la dashboard online è possibile visualizzare i dati e controllare i distributori:

  • Visualizza i livelli di cibo e acqua nei serbatoi.
  • Visualizza i livelli di cibo e acqua nelle ciotole.
  • L'animale mangia o beve in questo momento?
  • Pianificare i pasti (il dispositivo non erogherà cibo se c'è abbastanza cibo nella ciotola).
  • Eroga automaticamente l'acqua quando la ciotola si svuota.
  • Erogare cibo/acqua premendo un pulsante.
  • Ricevi notifiche push sul tuo telefono (tramite l'app Telegram).

Chi siamo noi?

Creato da Tom Kaufman e Katya Fichman, studenti di Informatica presso IDC Herzliya.

Questo progetto è stato realizzato per un corso IOT.

Forniture

Elettronica

  • 2 X ESP8266 (Wemos d1 mini).
  • Fili di ponticello.
  • 2 taglieri.
  • 4 X sensore a ultrasuoni.
  • 2 X cella di carico.
  • 2 X amplificatore cella di carico (HX711).
  • Servo (180°).
  • Servo (rotazione continua).
  • Alimentazione 2X6V.

Parti

  • Distributore di cornflakes (collegamento Amazon).
  • Imbuto del distributore di cibo stampato in 3D (https://www.thingiverse.com/thing:3998805).
  • Servo attacco del distributore di cibo stampato in 3D (https://www.thingiverse.com/thing:3269637).
  • Stand del distributore di cibo stampato in 3D (progettato per questo progetto:
  • Base e piastra della cella di carico stampate in 3D (progettata per questo progetto:
  • Distributore d'acqua (collegamento Amazon a qualcosa di simile).
  • Cavo (per collegare la manopola dell'erogatore dell'acqua al servo).
  • 3 X supporto per sensore a ultrasuoni.

Passaggio 1: come funziona?

Come funziona?
Come funziona?

Le schede ESP8266 inviano le letture dei sensori a Node-RED tramite Mosquitto (broker MQTT).

Node-RED elabora i dati, compiendo azioni di conseguenza (invia anche comandi di erogazione alle schede ESP8266 tramite Mosquitto) e visualizzando le informazioni sul cruscotto.

Tutti i calcoli vengono eseguiti in Node-RED, quindi sarebbe facile replicare questo progetto e modificare l'elaborazione dei dati in base alle tue impostazioni e preferenze senza sporcarti le mani con la codifica.

Passaggio 2: software

Software
Software

Arduino IDE

Scarica e installa (link:

zanzara

Scarica e installa (link:

Nodo.js

Scarica e installa (link:

Nodo-RED

Segui le istruzioni:

ngrok

Scarica:

Telegramma

Installa l'app sul tuo smartphone.

Passaggio 3: layout del circuito

Layout del circuito
Layout del circuito

* Entrambi i dispositivi hanno circuiti identici

Erogatore d'acqua

  • Sensore a ultrasuoni (per il serbatoio dell'acqua)

    • GND - G
    • VCC - 5V
    • ECO - RE5
    • GRILLETTO - D0
  • Sensore ad ultrasuoni (per la distanza dell'animale dalla ciotola)

    • GND - G
    • VCC - 5V
    • ECO - RE6
    • GRILLETTO - RE7
  • Cella di carico

    • VERDE - LA+ (HX711)
    • BIANCO - A- (HX711)
    • NERO - E- (HX711)
    • ROSSO - MI+ (HX711)
  • HX711 (amplificatore cella di carico)

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

    • GND - G
    • VCC - 5V

Distributore di cibo

  • Sensore a ultrasuoni (per il serbatoio del cibo)

    • GND - G
    • VCC - 5V
    • ECO - RE5
    • GRILLETTO - D0
  • Sensore ad ultrasuoni (per la distanza dell'animale dalla ciotola)

    • GND - G
    • VCC - 5V
    • ECO - RE6
    • GRILLETTO - RE7
  • Cella di carico

    • VERDE - LA+ (HX711)
    • BIANCO - A- (HX711)
    • NERO - E- (HX711)
    • ROSSO - MI+ (HX711)
  • HX711 (amplificatore cella di carico)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (rotazione continua)

    • GND - G
    • VCC - 5V
    • CONTROLLO - RE8

Passaggio 4: creazione

Mestiere
Mestiere
Mestiere
Mestiere
Mestiere
Mestiere

Erogatore d'acqua

  1. Incolla il servo sulla parte superiore della parte inferiore del distributore (come mostrato nella foto).
  2. Praticare un piccolo foro nella manopola del distributore d'acqua.
  3. Collegare la testa del servo alla manopola con un filo (assicurarsi che la testa del servo sia in posizione 0 e assicurarsi che il filo sia stretto).
  4. Incolla un sensore a ultrasuoni sul lato interno del serbatoio, vicino alla sua parte superiore (sensore rivolto verso il basso).
  5. Incolla un sensore a ultrasuoni sotto la manopola dell'acqua verso l'esterno (assicurati che sia abbastanza alto in modo che la ciotola dell'acqua non influisca sulle sue letture).

Distributore di cibo

  1. Avvitare il servo al suo supporto (parte stampata in 3D).
  2. Incolla l'imbuto (parte stampata in 3D) al supporto del serbatoio (parte stampata in 3D).
  3. Collegare il supporto del serbatoio al supporto del distributore (parte stampata in 3D) e posizionare il serbatoio.
  4. Inserisci la parte rotante (stampata in 3D) al suo posto e attraverso la parte in gomma rotante del distributore.
  5. Avvitare la parte del supporto del servo al supporto del distributore.
  6. Incolla un sensore a ultrasuoni sul lato interno del coperchio del serbatoio (sensore rivolto verso il basso).
  7. Incolla un sensore a ultrasuoni sul lato del supporto del serbatoio rivolto verso il luogo in cui il tuo animale domestico mangerà.

Celle di carico

Incolla ciascuna cella di carico sulla base e sulla piastra stampate in 3D (freccia della cella di carico rivolta verso il basso)

Passaggio 5: zanzara

zanzara
zanzara

Apri Mosquitto (utenti Windows: vai nella cartella Mosquitto, apri cmd e inserisci: "mosquitto -v").

* Per ottenere l'indirizzo IP interno del computer, eseguire cmd e immettere "ipconfig".

Passaggio 6: Arduino IDE

Arduino IDE
Arduino IDE
Arduino IDE
Arduino IDE

Apri l'IDE Arduino e segui la parte "Installa il componente aggiuntivo ESP8266 nell'IDE Arduino" di questa guida:

Vai su Strumenti->Scheda e scegli "LOLIN(WEMOS) D1 R2 & mini".

Vai su Schizzo->Includi libreria->Aggiungi libreria. ZIP… e aggiungi le 3 librerie nel file "Libraries.rar".

Aprire lo sketch "HX711Calibration", caricarlo su entrambi gli ESP8266, eseguirlo e seguire le istruzioni (all'inizio del codice e nel monitor seriale) per calibrare le celle di carico (assicurarsi che il baud rate del monitor seriale sia impostato su 115200 baud).

* Annotare il fattore di calibrazione e l'offset zero (per un uso successivo).

Apri gli schizzi "FoodDispenser" e "WaterDispenser" tramite l'IDE e modifica le seguenti variabili con le tue impostazioni (nel file "Settings.h"):

  • WIFI_SSID
  • WIFI_PASSWORD
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* In MQTT_SERVER inserire l'indirizzo IP interno dal passaggio "Mosquitto".

Carica gli schizzi sui tuoi due ESP8266 (un codice per ogni scheda).

* Si noti che abbiamo utilizzato la libreria "AsyncMqttClient" e non la libreria "pubsubclient" più comune poiché esp8266 si blocca quando combinato con la libreria "HX711".

* Se scegli di apportare modifiche al codice, assicurati di non utilizzare le funzioni "delay" e "yield" all'interno delle funzioni di callback poiché causeranno arresti anomali.

Passaggio 7: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

Decomprimi il file scaricato (dal link nel passaggio "Software").

Apri "ngrok.exe" ed esegui il comando "ngrok http 1880".

* Puoi selezionare la regione più vicina a te (au, eu, ap, us, jp, in, sa). L'impostazione predefinita siamo noi.

Ad esempio eseguendo il comando: "ngrok http --region=eu 1880" (imposta la regione su Europa).

Ora vedrai il tuo indirizzo web per uso esterno (faremo riferimento a questo indirizzo come YOUR_NGROK_ADDRESS).

Passaggio 8: Nodo-RED

Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED

Apri Node-RED (utenti Windows: apri cmd e inserisci "node-red") e vai su https://localhost:1880 (se non funziona, cerca l'indirizzo nella finestra di cmd dove è scritto "Server now in esecuzione a").

Apri il menu (nell'angolo in alto a destra) e premi "Gestisci tavolozza".

Vai alla scheda "Installa", cerca e installa questi moduli:

  • nodo-rosso-contrib-persiste.
  • nodo-rosso-contrib-cron-plus.
  • nodo-rosso-contrib-ui-led.
  • nodo-rosso-dashboard.
  • nodo-rosso-contrib-telegrambot.

Vai nel menu->Importa e carica il file di flusso (estrai il file RAR allegato e carica il file json).

Vedere le immagini allegate per spiegazioni sul flusso.

Dovrai modificare questi nodi con le tue impostazioni:

  • Aggiorna il profilo del nodo "Telegram sender" con il nome utente e il token del tuo bot (usa questa guida:
  • Nella parte inferiore del flusso, modifica i payload dei nodi "Ngrok Address" e "Telegram Chat Id" (ottieni il tuo ID chat utilizzando la guida di Telegram nel link sopra).
  • Nella parte inferiore del flusso ci sono i nodi delle impostazioni: modificali in base alle tue esigenze:

    • Attiva gli avvisi per animali che mangiano/bevono.
    • Definire qual è la distanza per l'attivazione dell'avviso mangiare/bere.
    • Definire l'elaborazione dei dati di ciotole e serbatoi.
    • Modificare i tempi di erogazione (per quanto tempo si verificano le erogazioni - modalità automatica e pressione del pulsante).
    • Definire la percentuale di soglia di overflow della ciotola del cibo (interrompere l'erogazione automatica del cibo se c'è abbastanza cibo nella ciotola).

Distribuisci il flusso (in alto a destra).

* Solo alla prima distribuzione, vedrai un avviso nella finestra di debug sulla mancanza del file 'persistance.json'. Non preoccuparti perché al momento imposterai i tempi di alimentazione o cambierai il cambio automatico dell'acqua, inizializzerà questo file e non avrai più questo avviso.

Puoi visualizzare la tua dashboard su https://NODE-RED_PC'S_INTERNAL_IP_ADDRESS:1880/ui (se sei connesso alla stessa LAN del server) o YOUR_NGROK_ADDRESS/ui (da qualsiasi luogo).

Passaggio 9: concludere

Incartare
Incartare

Ci auguriamo che questo tutorial sia stato informativo e di facile lettura, comprensione e implementazione.

Sentiti libero di chiederci qualunque cosa.

Consigliato: