Sommario:
- Passaggio 1: ottenere i materiali richiesti
- Passaggio 2: costruzione dell'involucro
- Passaggio 3: crea la bilancia
- Passaggio 4: configurazione del Raspberry PI (RPi)
- Passaggio 5: creare il circuito
- Passaggio 6: HX711
- Passaggio 7: motore passo-passo
- Passaggio 8: turbina di stampa 3D
- Passaggio 9: installazione di MySQL
- Passaggio 10: installazione del codice
- Passaggio 11: come utilizzare
Video: Mangiatoia automatica per polli: 11 passaggi
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-10 13:47
Forse hai già avuto questa sensazione, stai andando al lavoro e poi pensi a come ti sei dimenticato di dare un po' di colazione anche alle tue galline. Penso che tu possa probabilmente usare una mangiatoia per polli automatica allora! Con questo dispositivo IoT i tuoi polli faranno colazione sempre in orario!
Prima di iniziare a costruire questa cosa fantastica, per prima cosa mi presenterò. Sono Bertil Vandekerkhove (so che è un nome strano, ma ascolta solo Google Translate. Fa il lavoro quasi perfettamente) e sono uno studente di Howest che studia NMCT! Questo tutorial è una guida passo passo su come costruire il mio progetto finale del primo anno. Spero che vi piaccia e cominciamo!
Passaggio 1: ottenere i materiali richiesti
Nell'elenco sopra puoi vedere tutti i materiali necessari per questo progetto.
Passaggio 2: costruzione dell'involucro
Prima di poter effettivamente costruire il recinto, dobbiamo procurarci del materiale da cui costruirlo. Uso MDF da 8 mm, perché è abbastanza economico e facile da usare. Se hai intenzione di ricrearlo, puoi scegliere il tipo di legno che desideri o persino realizzarlo in metallo. Ma assicurati solo che le misure siano corrette per lo spessore del tuo legno.
I fogli di legno di cui avrai bisogno sono (in cm):
- 2 x (100, 8 x 44, 6) - pannelli laterali
- 1 x (50, 8 x 100) - pannello posteriore
- 1 x (50 x 80) - pannello frontale
- 1 x (50 x 40) - pannello frontale interno
- 1 x (51, 6 x 50) - pannello superiore
- 2 x (3,6 x 8) - pannelli laterali più piccoli
- 1 x (8 x 51, 6) - pannello frontale più piccolo
- 1 x (11, 4 x 49, 8) - tavola per la bilancia
- 1 x (50 x 20) - pannello frontale per ripiano
- 2 x (50 x 25) - imbuto
- 2 x (30 x 35) - imbuto
- 1 x (50 x 38) - pannello superiore per ripiano
- 1 x (18 x 5) - ripiano per motore
E poi per il foodlide avremo bisogno (in cm):
- 1x (30x16)
- 2x (20x16)
- 1x (30x21, 6)
Iniziamo con i pannelli laterali, attacchiamo due blocchi di aiuto per pannello. Sulla parte superiore del pannello posizionate il blocco di aiuto a 13 cm di lato e in basso a 8 cm di lato. Ripetere questa operazione per l'altro pannello laterale
Dopodiché prendi il pannello posteriore e aggiungi un blocco di aiuto nei quattro angoli.
Ora prendi i pannelli laterali e il pannello posteriore e avvitali insieme utilizzando alcune viti da 3, 5 mm, quindi avvita i pannelli del ripiano in posizione utilizzando il blocco di aiuto inferiore. Quindi prendi il pannello frontale interno e avvitalo nei blocchi di aiuto superiori. Ora, se hai fatto tutto bene, dovrebbe apparire come nell'immagine 3.
Fatto questo, faremo l'imbuto per il cibo. Prendi i pannelli giusti e segali in triangoli, i pannelli 50x25 devono essere triangoli 50x24 e i pannelli 30x35 triangoli 30x32. Fate in modo che i triangoli non finiscano a punta ma con il lato di 2 cm.
Per realizzare l'imbuto, metti i pezzi uno accanto all'altro e tienili uniti con del nastro adesivo.
Per fissare l'imbuto nella custodia, attaccare alcuni blocchi di aiuto all'interno a 22 cm dalla parte superiore come mostrato nell'immagine 7. Dopo questo, far cadere l'imbuto in posizione e avvitarlo nei blocchi di aiuto. Puoi riempire gli spazi vuoti con del nastro adesivo.
Quindi prendi il ripiano del motore, il tubo in pvc e il motore stesso. Posizionare il foro del tubo in pvc sotto l'imbuto e fissarlo al ripiano con delle fascette, fare la stessa cosa per il motore. Successivamente utilizzare alcuni blocchi di aiuto per fissare lo scaffale al pannello posteriore.
Dopodiché prendi i pannelli per fare lo scivolo e fissa il pannello posteriore al ripiano motore e la piastra inferiore al contenitore.
Ora prendi il grande pannello frontale, fissalo al contenitore con alcune cerniere e installa una serratura magnetica, fai lo stesso per il pannello superiore.
Passaggio 3: crea la bilancia
Per misurare quanto cibo è rimasto nell'alimentatore abbiamo bisogno di una bilancia composta da una cella di carico. Prendi la cella di carico e avvitala in un piccolo pezzo di legno, quindi prendi l'asse della bilancia e fissala all'altro lato della cella di carico usando alcuni bulloni e dadi. Assicurati che sia centrato e livellato. Dopodiché, monta la bilancia nella custodia e usa i pannelli laterali e frontali più piccoli intorno ad essa.
Passaggio 4: configurazione del Raspberry PI (RPi)
Per utilizzare Rpi avrai bisogno di un sistema operativo per RPi, ho scelto di usare Rapsbian. Scarica il file dal sito web e poi usa Etcher per caricarlo sulla scheda SD. Fatto ciò, vai alla scheda SC e cerca il file "cmdline.txt" e aggiungi alla fine della riga: "ip=169.254.10.1". Quindi puoi usare Putty per creare una connessione SSH con RPi digitando 169.254.10.1 in Putty in Host Name e facendo clic su Open. Quando avvii per la prima volta il tuo RPi devi accedere con le credenziali successive: username = pi e password = raspberry.
Per connetterti alla tua rete domestica devi digitare il seguente codice:
sudo -i
echo “password” | wpa_passphrase “SSID” >> /etc/wpa_supplicant/wpa_supplicant.conf
Digita sudo nano /etc/wpa_supplicant/wpa_supplicant.conf e controlla se la tua rete è presente.
sudo wpa_cli
interfaccia wlan0
scansione
riconfigurare
Chiudi wpa_cli con quit o Ctrl+D.
Controlla se hai un indirizzo IP valido con:
indirizzo IP mostra dev wlan0
Per completare il test della tua connessione con:
wget google.com
Passaggio 5: creare il circuito
Nelle immagini sopra puoi vedere il layout delle stampe, assicurati che quando le realizzi non cortocircuiti nulla. Ho scelto di mettere il T-cobbler, il DRV8825 e l'HX711 su intestazioni femminili in modo da poterli scambiare facilmente se ciò dovesse essere necessario, ma non è necessario farlo.
Passaggio 6: HX711
Per ottenere la misura della cella di carico è necessario utilizzare un sensore di peso. Io uso l'HX711.
Connessioni per l'HX711:
- E+: filo rosso.
- E-: filo nero.
- A+: filo bianco.
- A-: filo verde.
- VCC: 5V.
- SCK: GPIO22.
- DOUT: GPIO23.
- GND: GND.
Dopo aver collegato tutto, dovrai prima calibrare la bilancia. Utilizzare la classe HX711 e quindi il seguente codice:
hx = HX711(23, 24)hx.set_reading_format("LSB", "MSB") #hx.set_reference_unit(327) -> questo deve essere nel commento hx.reset() hx.tare() val = hx.get_weight (5) sleep(0.5) hx.power_down() hx.power_up() print(val)
Ora lascia che il codice venga eseguito e posiziona qualcosa sulla bilancia. Assicurati di conoscerne il peso esatto. Aspetta di avere 20 valori e poi prendine la media. Quindi dividi questo numero con il peso dell'articolo che hai utilizzato. Ora inserisci quel numero in hx.set_reference_unit(number) e decommentalo. Provalo mettendo un oggetto diverso sulla bilancia.
Passaggio 7: motore passo-passo
Ovviamente abbiamo bisogno di un po' di elettronica per far funzionare l'intero sistema. Per controllare il motore passo-passo abbiamo bisogno di un driver passo-passo, ho scelto il DRV8825.
Connessioni a DRV8825:
- VMOT: +12V (proveniente dal convertitore DC-DC).
- GND: GND (proveniente dal convertitore DC-DC).
Assicurati di posizionare un condensatore tra quei due.
- 2B: filo passo passo rosso.
- 2A: filo passo-passo blu.
- 1B: filo passo-passo nero.
- 1A: filo passo passo verde.
- GUASTO: puoi lasciarlo non cablato ma puoi anche appenderlo a 5V.
- GND: GDN (proveniente dal Raspberry PI (RPi)).
- ABILITA: nessun filo necessario.
- MS1-MS2-MS3: nessun filo necessario.
- RESET - SLEEP: attaccati tra loro e poi al 3, 3V.
- PASSO: GPIO20.
- DIR: GPIO21.
Prima di collegare tutto, basta collegare VMOT+GND, GND a Rpi, RESET-SLEEP e STEP-DIR. Per prima cosa dobbiamo impostare il Vref per il driver stepper. Il Vref deve essere la metà della corrente necessaria al motore passo-passo. Per questo motore è di circa 600mV, misurare la tensione e la piccola vite e girarla fino a portarla a circa 600mV. Dopo questo puoi collegare gli altri fili.
Passaggio 8: turbina di stampa 3D
Per spingere il cibo dal serbatoio al luogo di alimentazione avrai bisogno di questa turbina. Per le persone che non hanno accesso a una stampante 3D puoi sempre utilizzare un hub 3D, come questo -> HUB
Passaggio 9: installazione di MySQL
Per salvare i dati dal sistema c'è un database integrato in esso. Per far funzionare il database dobbiamo prima installare MySQL su RPi.
Digita i seguenti comandi nella tua connessione Putty:
sudo apt update
sudo apt install -y python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Verifica se il tuo MariaDB funziona con:
sudo systemctl status mysql
Successivamente creeremo alcuni utenti nel nostro database con i seguenti comandi:
CREA UTENTE 'project-admin'@'localhost' IDENTIFICATO DA 'adminpassword';
CREA UTENTE 'project-web'@'localhost' IDENTIFICATO DA 'webpassword';
progetto CREA DATABASE;
CONCEDERE TUTTI I PRIVILEGI SUL progetto.* a 'project-admin'@'localhost' CON L'OPZIONE DI CONCESSIONE;
GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-web'@'localhost';
UPDATE mysql.user SET Super_Priv='Y' WHERE user='project-web' AND host='%';
PRIVILEGI DI SCARICO;
Ora che il database esiste, possiamo riempire il database con le tabelle e le stored procedure necessarie.
Primo tipo:
sudo -i
poi:
mariadb
dopo questo, copia il codice in Projectdb.sql e incollalo in mariadb.
Se funziona, fai lo stesso per gli altri tre file.sql e finisci con:
PRIVILEGI DI SCARICO;
Se tutto è andato bene, il tuo database è pronto per partire!
PS: Se qualcosa non funziona, ricorda… Google è tuo amico;-) !
Passaggio 10: installazione del codice
Ora possiamo finalmente installare il codice su RPi, scaricare il codice da github e installarlo su RPi usando Pycharm. Puoi trovare un bel tutorial su come farlo qui -> tutorial.
Ottieni il codice qui: Codice
Passaggio 11: come utilizzare
- Inserite le due spine.
- Attendi un po' che il server web si avvii.
- Digita l'IP del tuo RPi nel browser.
- Nella schermata "home" puoi vedere un grafico del cibo misurato.
- Nella schermata "orari di alimentazione" è possibile impostare i tempi di alimentazione.
- Nella pagina "cronologia" puoi vedere la cronologia dei depositi.