Sommario:

Dispenser automatico per cani: 10 passaggi
Dispenser automatico per cani: 10 passaggi

Video: Dispenser automatico per cani: 10 passaggi

Video: Dispenser automatico per cani: 10 passaggi
Video: ACCESSORI SMART per CANI e GATTI. Fontanella, dosa cibo e telecamera con gioco PAWBBY 2024, Luglio
Anonim
Dispenser automatico per cani
Dispenser automatico per cani
Dispenser automatico per cani
Dispenser automatico per cani
Dispenser automatico per cani
Dispenser automatico per cani

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

Configurazione Pi
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

Led e sensore di luce
Led e sensore di luce
Led e sensore di luce
Led e sensore di luce

Collegamento del led

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> Resistenza 470 ohm e GND

Collegamento del sensore di luce

  1. USCITA -> GPIO17
  2. VCC -> 3.3V
  3. 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

Servomotore
Servomotore

Collegamento del servomotore

  1. USCITA -> GPIO18
  2. VCC -> 5V
  3. 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

Lettore RFID RC522
Lettore RFID RC522

Collegamento dell'RFID

  1. RST -> GPIO6
  2. MISO -> GPIO9 (MISO)
  3. MOSI -> GPIO10 (MOSI)
  4. SCK -> GPIO11 (SPISCLK)
  5. SDA -> GPIO8 (SPICS0)
  6. 3,3 V -> 3,3 V
  7. 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

Cella di carico HX711
Cella di carico HX711

Collegamento della cella di carico alla scheda driver HX711

  1. Rosso -> E+
  2. Nero -> E-
  3. Verde -> A+
  4. Bianco -> A-

Collegamento della cella di carico

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. ROSSO -> 3.3V
  4. 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)

LCD (16*2)
LCD (16*2)

Collegamento del display LCD

  1. RS -> GPIO21
  2. RW -> GND
  3. E-> GPIO20
  4. D0 -> GPIO16
  5. D1 -> GPIO12
  6. D2 -> GPIO6
  7. D3 ->GPIO24
  8. D4 -> GPIO23
  9. D5 -> GPIO26
  10. D6 -> GPIO19
  11. D7 -> GPIO13
  12. VSS -> GND
  13. VDD -> 5V
  14. A -> 5V
  15. K -> GND
  16. 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

Circuito completo
Circuito completo

qui puoi ricontrollare se l'intero circuito è corretto

Passaggio 8: inizio del caso

Inizio del caso
Inizio del caso
Inizio del caso
Inizio del caso
Inizio del caso
Inizio del caso
Inizio del caso
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

Metterlo insieme
Metterlo insieme
Metterlo insieme
Metterlo insieme
Metterlo insieme
Metterlo insieme

Passaggio 10: il sito web

Il sitoweb
Il sitoweb
Il sitoweb
Il sitoweb
Il sitoweb
Il sitoweb
Il sitoweb
Il sitoweb

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: