Sommario:
- Forniture
- Passaggio 1: configurazione Pi
- Passaggio 2: LED e sensore di luce
- Passaggio 3: servomotore
- Passaggio 4: lettore RFID RC522
- Passaggio 5: cella di carico HX711
- Passaggio 6: LCD (16*2)
- Passaggio 7: circuito completo
- Passaggio 8: inizio del caso
- Passaggio 9: metterlo insieme
- Passaggio 10: il sito web
Video: Dispenser automatico per cani: 10 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Con il mio progetto mi assicuro che quando lasci il tuo cane da solo a casa, non rimanga mai senza cibo.
L'alimentatore automatico sarà "hackerato" da un distributore di cornflakes. Il dispenser è il serbatoio per il cibo per cani, la ruota in basso sarà collegata ad un servomotore che fa cadere automaticamente il cibo quando la culla è quasi vuota e quando il cane è abbastanza vicino. Nella parte inferiore del distributore sarà attaccato un tubo in PVC che farà cadere piacevolmente il cibo per cani nella culla. Questo progetto avrà quindi 3 sensori, di cui 2 non rientranti nella classe e 1 dei quali è un attuatore.
Il primo sensore è il lettore RFID. Questo sensore controlla quando il cane si avvicina alla culla. L'RFID sarà incorporato nel collare del cane. Se questo sensore rileva che il cane è abbastanza vicino, trasmetterà un segnale al secondo sensore. Il secondo sensore è il sensore di peso (non trattato in classe) che misura il cibo nella culla, se questo sensore rileva che il peso è troppo basso, invierà un segnale al servomotore che farà cadere il cibo nella culla (con conferma dell'RFID e del sensore di peso). In breve, il cane riceve cibo extra solo quando è abbastanza vicino alla culla e quando la culla è quasi vuota. Ovviamente c'è anche un limite che puoi impostare da solo tramite il web server; in modo che il cane non riceva troppo cibo al giorno. Il terzo sensore è un sensore di luce che illumina un proiettore a LED quando è troppo buio intorno alla culla. L'attuatore sarà quindi un servomotore collegato alla ruota del distributore.
Questo progetto è pensato per i cani, puoi usarlo anche per altri piccoli animali domestici.
Forniture
Raspberry Pi 3
Cella di carico (1KG)
Amplificatore cella di carico HX711
ciotola del cibo
Distributore di cereali
Legno (+ viti e cacciavite)
Sensore di luce
Guidato
Lettore RFID rc522
Ponticelli
LCD 16*2 (display)
Servomotore
Adattatore di alimentazione 5V
Resistenza 470 Ohm
Tubo in PVC
Breadbord
Potenziometro
Sega
Carta abrasiva
Pistola al silicone
Passaggio 1: configurazione Pi
Impostare
Per iniziare, dobbiamo prima configurare il tuo Pi.
Avrai bisogno di due cose:
- Win32 Disk Imager da
- Immagine del sistema operativo Raspbian da
Scarica il file ZIP ed estrailo dove vuoi.
L'installazione
1. Seleziona la tua immagine tramite l'icona della cartella
2. Seleziona la tua scheda SD tramite il menu a discesa
3. Clicca su scrivi
Ora dovremo fare qualche ritocco extra con alcune impostazioni in modo da poter accedere al Pi.
1. Vai alla directory di avvio della scheda SD
2. Aprire il file "cmdline.txt"
3. Aggiungi ip=169.254.10.1 Alla fine della lunga riga di testo separata da uno spazio (sulla stessa riga).
4. Salva il file.
5. Crea un file chiamato ssh senza estensione nella stessa directory
Ora puoi espellere la scheda SD e inserirla nel tuo Pi.
Collegamento
Ora dovremo configurare il software.
Innanzitutto collega un cavo LAN, un'estremità nel desktop/laptop e l'altra nel Pi.
Ora avvia il Raspberry Pi.
1. Installa Putty da
2. Immettere 169.254.10.1 nella casella IP.
3. Assicurarsi che sia selezionato SSH e che la porta 22 sia compilata.
4. Fare clic su Apri
5. Compila il nome utente: pi
6. Inserisci la password: lampone
Raspi-config
Apri l'utility Raspi-config usando:
sudo raspi-config
Abilita le seguenti opzioni nella categoria interfacce
- 1-filo
- SPI
Disabilita le seguenti opzioni nella categoria delle opzioni di avvio
- Schermata iniziale
Infine, imposta l'impostazione Desktop/CLI nella categoria delle opzioni di avvio su Desktop Autologin.
Wifi
Per la mangiatoia per cani abbiamo bisogno di una connessione wifi quindi assicurati di avere le tue credenziali wifi vicine.
1. Vai in modalità root
sudo -i
2. Incolla questa riga ma assicurati che SSID e Password siano entrambi compilati
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
3. Immettere il client WPA.
Wpa_cli
4. Seleziona l'interfaccia
Interfaccia wlan0
5. Ricarica la configurazione
Riconfigurare
Assicurati di essere connesso correttamente digitando ip a e verificando se hai un IP sulle interfacce WLAN0.
Pacchetti
Ora che siamo connessi a Internet dovremo installare alcuni pacchetti.
Per prima cosa dovremo aggiornare gli elenchi dei pacchetti per l'ultimo.
sudo apt update
Pitone
Obbligheremo Raspbian a usare Python 3
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3 2
Maria DB
Incolla la seguente riga per installare il database.
sudo apt install mariadb-server
Quindi dovremo rendere sicura la nostra installazione.
mysql_secure_installation
Ci chiederà la password di root corrente poiché non ne abbiamo una, basta premere invio.
Successivamente viene chiesto se vogliamo un tipo di password di root in y poiché ne vogliamo uno.
Per le prossime domande basta inserire Y.
Successivamente creeremo un utente che potremo utilizzare per il mirror.
Entra nella shell mysql facendo:
- Elevarci a radicare
sudo-i
- Entra nella shell di mysql
MySQL
- Sostituisci con il tuo nome utente e lo stesso con
concedere tutti i privilegi su *.* a ''@'%' identificato da '';
- concedere tutti i privilegi su *.* a ''@'%' identificato da '';
Successivamente aggiungeremo il nostro database.
Server Web Apache
Per installare il Webserver eseguire la riga sottostante.
sudo apt install apache2 -y
Pacchetti Python
Stiamo per installare questi pacchetti
- Borraccia
- Flask-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Gevent
- Gevent-websocket
-
- Python-socketio
- Richieste
- Wsaccel
- Ujson
Facendo
pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httplib2 python-socketio richieste wsaccel ujson mfrc522 hx711 Adafruit-CharLCD
Passaggio 2: LED e sensore di luce
Collegamento del led
- S -> GPIO15 (rxd0)
- + -> 5V
- G -> Resistenza 470 ohm e GND
Collegamento del sensore di luce
- USCITA -> GPIO17
- VCC -> 3.3V
- GND -> GND
Ora possiamo testare se il nostro led e il sensore di luce funzionano con questo piccolo script
importa RPi. GPIO come GPIO GPIO.setmode(GPIO. BCM)
GPIO.setup(15, GPIO. OUT)
GPIO.setup(17, GPIO. IN)
prova: mentre Vero:
se GPIO.input(17) == 0:
GPIO.output(15, GPIO. HIGH)
se GPIO.input(17) == 1:
GPIO.output(15, GPIO. LOW)
tranne KeyboardInterrupt: GPIO.cleanup()
Passaggio 3: servomotore
Collegamento del servomotore
- USCITA -> GPIO18
- VCC -> 5V
- GND -> GND
Ora possiamo testare se il nostro led e il sensore di luce funzionano con questo piccolo script
importa RPi. GPIO come tempo di importazione GPIO
GPIO.setmode(GPIO. BCM)
GPIO.setup(18, GPIO. OUT)
p = GPIO. PWM(18, 50)
p.inizio(12.5)
Tentativo:
mentre vero:
p. ChangeDutyCycle(12.5)
tempo.sonno(1)
p. ChangeDutyCycle(2.5)
tempo.sonno(1)
tranne KeyboardInterrupt:
p.stop()
GPIO.cleanup()
Passaggio 4: lettore RFID RC522
Collegamento dell'RFID
- RST -> GPIO6
- MISO -> GPIO9 (MISO)
- MOSI -> GPIO10 (MOSI)
- SCK -> GPIO11 (SPISCLK)
- SDA -> GPIO8 (SPICS0)
- 3,3 V -> 3,3 V
- GND -> GND
Ora possiamo testare se il nostro lettore RFID funziona con questo piccolo script
importa RPi. GPIO come GPIO
da mfrc522 import SimpleMFRC522
lettore = SimpleMFRC522()
text = input('Nuovi dati:')
print("Ora posiziona il tag da scrivere")
reader.write(testo)
print("Scritto")
Passaggio 5: cella di carico HX711
Collegamento della cella di carico alla scheda driver HX711
- Rosso -> E+
- Nero -> E-
- Verde -> A+
- Bianco -> A-
Collegamento della cella di carico
- DT-> GPIO27
- SCK -> GPIO22
- ROSSO -> 3.3V
- GND -> GND
Ora possiamo testare se la nostra cella di carico funziona con questo piccolo script
import RPi. GPIO as GPIOimport time import sys from klasses. HX711 import HX711
def cleanAndExit(): print("Pulizia…") GPIO.cleanup() print("Ciao!") sys.exit()
hx = HX711 (22, 27)
hx.set_reading_format ("LSB", "MSB")
hx.set_reference_unit (2167)
hx.reset()
hx.tare()
mentre vero:
Tentativo:
val = max(0, int(hx.get_weight(5)))
stampa (valore)
hx.power_down()
hx.power_up()
tempo.sonno(0.5)
tranne (KeyboardInterrupt, SystemExit): cleanAndExit()
Passaggio 6: LCD (16*2)
Collegamento del display LCD
- RS -> GPIO21
- RW -> GND
- E-> GPIO20
- D0 -> GPIO16
- D1 -> GPIO12
- D2 -> GPIO6
- D3 ->GPIO24
- D4 -> GPIO23
- D5 -> GPIO26
- D6 -> GPIO19
- D7 -> GPIO13
- VSS -> GND
- VDD -> 5V
- A -> 5V
- K -> GND
- V0 -> pin del potenziometro centrale
Ora possiamo testare se il nostro schermo LCD funziona con questo piccolo script
import Adafruit_CharLCD come LCDlcd_rs = 21
lcd_en = 20
lcd_d4 = 23
lcd_d5 = 26
lcd_d6 = 19
lcd_d7 = 13
lcd_columns = 16
righe_lcd = 2
lcd = LCD. Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows)
lcd.message('169.254.10.1')
Passaggio 7: circuito completo
qui puoi ricontrollare se l'intero circuito è corretto
Passaggio 8: inizio del caso
Ho usato un distributore di cornflake come serbatoio per il cibo per cani
Ho collegato la ruota dell'erogatore al mio servomotore
Ora posso controllare la ruota con il mio servomotore e far cadere il cibo dal serbatoio
All'estremità del serbatoio è collegato un tubo in PVC che fa cadere il cibo nella culla
Uso il legno come involucro
Passaggio 9: metterlo insieme
Passaggio 10: il sito web
Ora la nostra macchina funziona, dobbiamo portare il sito Web sul pi. Ora tutto è attivo e funzionante alcune istruzioni su come funziona il sito.
Puoi connettere il tuo pi al wifi collegando un cavo hdmi e attivandolo in questo modo
La prima pagina è la home page, qui puoi vedere:
- Informazioni in tempo reale sulla luce
- Informazioni in tempo reale sul cibo rimasto nella ciotola
- Puoi far cadere il cibo
- Informazioni sul cane
La seconda pagina è la pagina di modifica, qui puoi modificare:
- il nome del tuo animale domestico
- l'età del tuo animale domestico
- il peso del tuo animale domestico
- la foto del tuo animale domestico
La terza pagina è la pagina della cronologia, qui puoi vedere:
- quando la luce si è accesa
- quando il cane ha mangiato
- quando il cibo è caduto
La quarta pagina è la pagina delle impostazioni, qui puoi modificare:
- quando il cibo ha bisogno di cadere
- la quantità di cibo da far cadere
- massimo cibo/giorno
- la luce
Consigliato:
Mangiatoia automatica per cani: 6 passaggi
Alimentatore automatico per cani: questo è il mio progetto di un alimentatore automatico per animali domestici. Mi chiamo Parker, frequento il Grade 11 e ho realizzato questo progetto l'11 novembre 2020 come CCA (Course Culminating Activity) in questo progetto ti mostrerò come realizzare una mangiatoia per animali domestici automatica con Arduino UNO
Lanciapalle automatico per cani: 6 passaggi
Lanciapalle automatico per cani: entrambi abbiamo cani e, come tutti sanno, i cani potrebbero passare tutto il giorno a giocare a palla. Ecco perché abbiamo pensato a un modo per costruire un lanciatore di palline automatico
Alimentatore automatico per cani Raspberry Pi e streamer video in diretta: 3 passaggi
Alimentatore automatico per cani Raspberry Pi e streamer video in diretta: questo è il mio alimentatore automatico per cani alimentato da Raspberry PI. Lavoravo dalla mattina alle 11 fino alle 21. Il mio cane impazzisce se non gli do da mangiare in tempo. Navigato su Google per acquistare alimentatori automatici di cibo, non sono disponibili in India e costose operazioni di importazione
Dispenser di cibo per cani alimentato da Arduino: 10 passaggi (con immagini)
Dispenser di cibo per cani alimentato da Arduino: se la tua casa è simile alla mia, alcune attività potrebbero essere dimenticate quando si è di fretta. Non lasciare che sia il tuo animale domestico a essere dimenticato! Questo distributore automatico di cibo per cani utilizza un Arduino per fornire la giusta quantità di crocchette al momento giusto. Tutto pa
Cinghia per treppiede al guinzaglio per cani: 3 passaggi
Cinghia per treppiede al guinzaglio per cani: ho cercato di trovare o realizzare una cinghia per il mio treppiede in modo che sia facile da trasportare senza borsa o tenerla in mano. Stavo cercando nel mio armadio per qualsiasi corda, ma ho trovato un guinzaglio per cani che non usavamo più. Questo guinzaglio per cani è di circa 5 piedi