Sommario:
- Forniture
- Passaggio 1: come funziona?
- Passaggio 2: software
- Passaggio 3: layout del circuito
- Passaggio 4: creazione
- Passaggio 5: zanzara
- Passaggio 6: Arduino IDE
- Passaggio 7: Ngrok
- Passaggio 8: Nodo-RED
- Passaggio 9: concludere
Video: Mangiatoia intelligente per animali domestici: 9 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
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?
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
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
* 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
Erogatore d'acqua
- Incolla il servo sulla parte superiore della parte inferiore del distributore (come mostrato nella foto).
- Praticare un piccolo foro nella manopola del distributore d'acqua.
- 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).
- Incolla un sensore a ultrasuoni sul lato interno del serbatoio, vicino alla sua parte superiore (sensore rivolto verso il basso).
- 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
- Avvitare il servo al suo supporto (parte stampata in 3D).
- Incolla l'imbuto (parte stampata in 3D) al supporto del serbatoio (parte stampata in 3D).
- Collegare il supporto del serbatoio al supporto del distributore (parte stampata in 3D) e posizionare il serbatoio.
- Inserisci la parte rotante (stampata in 3D) al suo posto e attraverso la parte in gomma rotante del distributore.
- Avvitare la parte del supporto del servo al supporto del distributore.
- Incolla un sensore a ultrasuoni sul lato interno del coperchio del serbatoio (sensore rivolto verso il basso).
- 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
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
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
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
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
Ci auguriamo che questo tutorial sia stato informativo e di facile lettura, comprensione e implementazione.
Sentiti libero di chiederci qualunque cosa.
Consigliato:
Mangiatoia automatica per animali domestici utilizzando AtTiny85: 6 passaggi
Mangiatoia automatica per animali domestici utilizzando AtTiny85: O trabalho Mangiatoia automatica per animali domestici utilizzando AtTiny85 di PET Engenharia de Computação ha la licenza con una licenza Creative Commons - Atribuição 4.0 Internazionale
SmartPET - Mangiatoia intelligente per animali domestici: 7 passaggi (con immagini)
SmartPET - Mangiatoia intelligente per animali domestici: Ehi! Sono Maxime Vermeeren, uno studente MCT (tecnologia multimediale e della comunicazione) di 18 anni presso Howest. Ho scelto di creare una mangiatoia intelligente come mio progetto. Perché l'ho fatto? Il mio gatto ha dei problemi di peso, così ho deciso di fare una macchina t
Mangiatoia intelligente per animali domestici: 11 passaggi
Smart Pet Feeder: sono uno studente della Howest Kortrijk Academy in Belgio. Ho realizzato una mangiatoia appositamente per cani e gatti. Ho realizzato questo progetto per il mio cane. Molte volte non sono a casa per dare da mangiare al mio cane la sera. Per questo motivo il mio cane deve aspettare per ricevere il suo cibo. Con t
Mangiatoia automatica per animali domestici utilizzando un vecchio orologio digitale: 10 passaggi (con immagini)
Mangiatoia automatica per animali domestici utilizzando un vecchio orologio digitale: Ciao, in questo tutorial ti mostrerò come ho realizzato una mangiatoia automatica per animali usando un vecchio orologio digitale. Ho anche incorporato un video su come ho realizzato questo alimentatore. Questo istruibile sarà inserito nel concorso PCB e come favore vorrei ap
Mangiatoia per animali domestici con RasPi e Telegram Bot: 4 passaggi (con immagini)
Pet Feeder Machine With RasPi e Telegram Bot: Prima di tutto devo chiarire che questa non è una Idea Mine originale, basta aggiornare e adattare gli script di programmazione per funzionare con telegram, l'ho trovata in un precedente Instructable quindi i crediti sono davvero i autore di esso. Potresti vedere lo spagnolo