Índice:
- Suprimentos
- Etapa 1: Configuração de Pi
- Etapa 2: LED e sensor de luz
- Etapa 3: Servo motor
- Etapa 4: Leitor RFID RC522
- Etapa 5: Célula de carga HX711
- Etapa 6: LCD (16 * 2)
- Etapa 7: Circuito Completo
- Etapa 8: início do caso
- Etapa 9: Juntando tudo
- Etapa 10: O site
Vídeo: Dispensador automático para cães: 10 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Com o meu projeto, certifico-me de que, quando você deixa seu cão sozinho em casa, ele nunca fica sem comida.
O alimentador automático será "hackeado" de um dispensador de cereais. O dispensador é o reservatório para comida de cachorro, a roda na parte inferior será conectada a um servo motor que automaticamente deixa cair comida quando o berço está quase vazio e quando o cachorro está perto o suficiente. Na parte inferior do dispensador, haverá um tubo de PVC conectado que deixará a comida de cachorro cair no berço. Este projeto terá, portanto, 3 sensores, 2 dos quais não são abrangidos na aula e 1 dos quais é um atuador.
O primeiro sensor é o leitor RFID. Este sensor verifica quando o cão se aproxima do berço. O RFID será incorporado na coleira do cachorro. Se este sensor perceber que o cão está perto o suficiente, ele transmitirá um sinal para o segundo sensor. O segundo sensor é o sensor de peso (não coberto na aula) que mede a comida no berço, se este sensor detectar que o peso está muito baixo, ele enviará um sinal para o servo motor que irá jogar a comida no berço (com confirmação do RFID e do sensor de peso). Em suma, o cão só ganha comida extra quando está perto o suficiente do berço e quando o berço está quase vazio. É claro que também há um limite definido que você mesmo pode definir por meio do servidor da web; para que o cão não receba muita comida por dia. O terceiro sensor é um sensor de luz que ilumina um holofote de LED quando está muito escuro ao redor do berço. O atuador será, portanto, um servo motor conectado à roda no dispensador.
Este projeto é voltado para cães, você também pode usá-lo para outros pequenos animais de estimação.
Suprimentos
Raspberry Pi 3
Célula de carga (1KG)
Amplificador de célula de carga HX711
Tigela de comida
Distribuidor de cereais
Madeira (+ parafusos e chave de fenda)
Sensor de luz
Conduziu
Leitor RFID rc522
Fios de ligação
16 * 2 LCD (display)
Servo motor
Adaptador de energia 5V
Resistor 470 Ohm
Tubo de PVC
Breadbord
Potenciômetro
Serra
Papel de lixa
Arma de silicone
Etapa 1: Configuração de Pi
Configurar
Para começar, primeiro precisamos configurar seu Pi.
Você precisará de duas coisas:
- Win32 Disk Imager em
- Imagem do sistema operacional Raspbian em
Baixe o arquivo ZIP e extraia-o para onde quiser.
A instalação
1. Selecione sua imagem através do ícone de pasta
2. Selecione seu cartão SD no menu suspenso
3. Clique em escrever
Agora precisaremos fazer alguns ajustes extras em algumas configurações para que possamos acessar o Pi.
1. Vá para o diretório de inicialização do cartão SD
2. Abra o arquivo "cmdline.txt"
3. Adicione ip = 169.254.10.1 No final da linha longa do texto separado por um espaço (na mesma linha).
4. Salve o arquivo.
5. Crie um arquivo chamado ssh sem extensão no mesmo diretório
Agora você pode ejetar o cartão SD e colocá-lo no seu Pi.
Conectando
Agora precisaremos configurar o software.
Primeiro conecte um cabo LAN, uma extremidade em seu desktop / laptop e a outra em seu Pi.
Agora inicialize o Raspberry Pi.
1. Instale o Putty de
2. Digite 169.254.10.1 na caixa IP.
3. Certifique-se de que SSH esteja selecionado e a porta 22 preenchida.
4. Clique em abrir
5. Preencha o nome de usuário: pi
6. Preencha a senha: framboesa
Raspi-config
Abra o utilitário Raspi-config usando:
sudo raspi-config
Habilite as seguintes opções na categoria de interfaces
- 1 fio
- SPI
Desative as seguintes opções na categoria de opções de inicialização
- Tela de abertura
Por último, defina a configuração Desktop / CLI na categoria de opções de inicialização como Desktop Autologin.
Wi-fi
Para o alimentador de cães, precisamos ter uma conexão wi-fi, então certifique-se de ter suas credenciais wi-fi fechadas.
1. Vá para o modo raiz
sudo -i
2. Cole esta linha, mas certifique-se de que o SSID e a senha estão preenchidos
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
3. Entre no cliente WPA.
Wpa_cli
4. Selecione a interface
Interface wlan0
5. Recarregue a configuração
Reconfigurar
Certifique-se de estar conectado corretamente digitando ip a e vendo se você possui um IP nas interfaces WLAN0.
Pacotes
Agora que estamos conectados à internet, teremos que instalar alguns pacotes.
Primeiro, precisamos atualizar as listas de pacotes para a mais recente.
atualização do apt sudo
Pitão
Forçaremos o Raspbian a usar Python 3
atualizar-alternativas --install / usr / bin / python python /usr/bin/python2.7 1
atualizar-alternativas --install / usr / bin / python python / usr / bin / python3 2
MariaDB
Cole a seguinte linha para instalar o banco de dados.
sudo apt instalar servidor mariadb
Então, precisaremos proteger nossa instalação.
mysql_secure_installation
Ele nos pedirá a senha de root atual, já que não temos uma, basta pressionar enter.
Em seguida, ele pergunta se queremos um tipo de senha de root em y, já que queremos uma.
Para as próximas perguntas, basta inserir Y.
Em seguida, criaremos um usuário que poderemos usar para o espelho.
Entre no shell mysql fazendo:
- Elevar-nos para enraizar
Sudo -i
- Entre no shell do mysql
Mysql
- Substitua por seu próprio nome de usuário e o mesmo por
concede todos os privilégios em *. * para '' @ '%' identificado por '';
- concede todos os privilégios em *. * para '' @ '%' identificado por '';
Em seguida, adicionaremos nosso banco de dados.
Apache Webserver
Para instalar o Webserver execute a linha abaixo.
sudo apt install apache2 -y
Pacotes Python
Vamos instalar esses pacotes
- Frasco
- Flask-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Gevent
- Gevent-websocket
-
- Python-socketio
- Solicitações de
- Wsaccel
- Ujson
Fazendo
pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httplib2 python-socketio solicitações wsaccel ujson mfrc522 hx711 Adafruit-CharLCD
Etapa 2: LED e sensor de luz
Conectando o led
- S -> GPIO15 (rxd0)
- + -> 5V
- G -> Resistor 470 ohm e GND
Conectando o sensor de luz
- OUT -> GPIO17
- VCC -> 3,3V
- GND -> GND
Agora podemos testar se nosso sensor de led e luz funciona com este pequeno script
importar RPi. GPIO como GPIO GPIO.setmode (GPIO. BCM)
GPIO.setup (15, GPIO. OUT)
GPIO.setup (17, GPIO. IN)
tente: enquanto verdadeiro:
se GPIO.input (17) == 0:
GPIO.output (15, GPIO. HIGH)
se GPIO.input (17) == 1:
GPIO.output (15, GPIO. LOW)
exceto KeyboardInterrupt: GPIO.cleanup ()
Etapa 3: Servo motor
Conectando o servo motor
- OUT -> GPIO18
- VCC -> 5V
- GND -> GND
Agora podemos testar se nosso sensor de led e luz funciona com este pequeno script
importar RPi. GPIO como GPIOimport time
GPIO.setmode (GPIO. BCM)
GPIO.setup (18, GPIO. OUT)
p = GPIO. PWM (18, 50)
p.start (12.5)
Experimente:
enquanto verdadeiro:
p. ChangeDutyCycle (12.5)
tempo.sono (1)
p. ChangeDutyCycle (2.5)
tempo.sono (1)
exceto KeyboardInterrupt:
p.stop ()
GPIO.cleanup ()
Etapa 4: Leitor RFID RC522
Conectando o RFID
- RST -> GPIO6
- MISO -> GPIO9 (MISO)
- MOSI -> GPIO10 (MOSI)
- SCK -> GPIO11 (SPISCLK)
- SDA -> GPIO8 (SPICS0)
- 3,3 V -> 3,3 V
- GND -> GND
Agora podemos testar se nosso leitor RFID funciona com este pequeno script
importar RPi. GPIO como GPIO
de mfrc522 import SimpleMFRC522
leitor = SimpleMFRC522 ()
text = input ('Novos dados:')
imprimir ("Agora coloque sua tag para escrever")
reader.write (texto)
imprimir ("Escrito")
Etapa 5: Célula de carga HX711
Conectando a célula de carga à placa do driver HX711
- Vermelho -> E +
- Preto -> E-
- Verde -> A +
- Branco -> A-
Conectando a célula de carga
- DT-> GPIO27
- SCK -> GPIO22
- VERMELHO -> 3,3 V
- GND -> GND
Agora podemos testar se nossa célula de carga funciona com este pequeno script
import RPi. GPIO as GPIOimport time import sys from klasses. HX711 import HX711
def cleanAndExit (): print ("Limpando…") GPIO.cleanup () print ("Tchau!") sys.exit ()
hx = HX711 (22, 27)
hx.set_reading_format ("LSB", "MSB")
hx.set_reference_unit (2167)
hx.reset ()
hx.tare ()
enquanto verdadeiro:
Experimente:
val = max (0, int (hx.get_weight (5)))
imprimir (val)
hx.power_down ()
hx.power_up ()
tempo.sono (0,5)
exceto (KeyboardInterrupt, SystemExit): cleanAndExit ()
Etapa 6: LCD (16 * 2)
Conectando o 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 -> pino de potência média
Agora podemos testar se nossa tela LCD funciona com este pequeno script
importar Adafruit_CharLCD como LCDlcd_rs = 21
lcd_en = 20
lcd_d4 = 23
lcd_d5 = 26
lcd_d6 = 19
lcd_d7 = 13
lcd_columns = 16
lcd_rows = 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')
Etapa 7: Circuito Completo
aqui você pode verificar novamente se todo o circuito está correto
Etapa 8: início do caso
Usei um dispensador de floco de milho como reservatório para a comida de cachorro
Eu conectei a roda do dispensador ao meu servo motor
Agora posso controlar a roda com meu servo motor e jogar comida para fora do reservatório
No final do reservatório, há um tubo de PVC conectado que deixa a comida cair bem no berço
Eu uso madeira como revestimento
Etapa 9: Juntando tudo
Etapa 10: O site
Agora nossa máquina funciona, precisamos colocar o site no pi. Agora tudo está funcionando e executando algumas instruções sobre como o site funciona.
Você pode conectar seu pi ao wi-fi conectando um cabo HDMI e ativar desta forma
A primeira página é a página inicial, aqui você pode ver:
- Informações em tempo real sobre a luz
- Informações em tempo real sobre a comida que resta na tigela
- Você pode largar comida
- Informações sobre o cachorro
A segunda página é a página de edição, aqui você pode editar:
- o nome do seu animal de estimação
- a idade do seu animal de estimação
- o peso do seu animal de estimação
- a foto do seu animal de estimação
A terceira página é a página de histórico, aqui você pode ver:
- quando a luz acendeu
- quando o cachorro comeu
- quando a comida cair
A quarta página é a página de configurações, aqui você pode editar:
- quando a comida precisa cair
- a quantidade de comida a cair
- max food / day
- a luz
Recomendado:
Alimentador automático de cães !!: 4 etapas
Feederrr automático para cães !!: Fácil, útil e saudável
Comedouro automático para cães: 6 etapas
Comedouro automático para cães: Este é o meu projeto de comedouro automático para animais de estimação. Meu nome é Parker, estou na 11ª série e fiz esse projeto em 11 de novembro de 2020 como CCA (atividade culminante do curso). Nesse projeto irei mostrar a vocês como fazer um comedouro automático para animais de estimação com o Arduino UNO
Arreio para cães com indicador de distância LED: 5 etapas (com fotos)
Arreios para cães com LEDs indicadores de distância: Normalmente levo meu cachorro Rusio para passear quando o sol se põe para que ele possa brincar sem ficar muito quente. O problema é que quando ele está fora da coleira às vezes ele fica muito animado e corre mais longe do que deveria e com a luz baixa e os outros cães
Lançador automático de bolas para cães: 6 etapas
Lançador automático de bolas para cães: Ambos temos cães e, como todos sabem, os cães podem passar o dia todo jogando bola. É por isso que pensamos em uma maneira de construir um lançador automático de bolas
Comedouro automático para cães: 5 etapas
Comedouro automático para cães: Este é um tutorial passo a passo sobre como fazer um comedouro automático para cães usando o Arduino. É perfeito se você fica fora de casa a maior parte do dia. Em vez de seu cachorro ter que esperar o dia todo pela comida, ou fazer você se enfiar em casa para alimentá-lo, este dispositivo