Índice:
- Etapa 1: Materiais Usados
- Etapa 2: Colocando a Estrutura
- Etapa 3: configuração do Raspberry Pi
- Etapa 4: pronto para testar
Vídeo: Máquina de alimentação de animais de estimação com RasPi e Telegram Bot: 4 etapas (com fotos)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Primeiramente preciso esclarecer que esta não é uma Ideia Mina original, basta atualizar e adaptar os roteiros de programação para funcionar com telegrama, encontrei em um Instructable anterior então os créditos realmente são do autor.
Você pode ver a versão em espanhol disso em meu blog pessoal:
Você precisa construir um pequeno circuito que ative um motor de alto torque e, como meu conhecimento de eletrônica é muito, muito escasso, tive que passar alguns dias aprendendo o básico assistindo a vídeos no YouTube.
O script de automação original é escrito em Python e usa uma conexão do GMail para consultar os comandos, nunca tinha usado essa linguagem de programação mas a verdade não é tão diferente das outras, modifiquei um pouco para que se adapte melhor à nova As bibliotecas Python e o processo de automação, juntamente com as configurações do sistema operacional, permitem parametrizar o seguinte:
- Interação por meio de comandos enviados ao Chat controlados por ChatBots.
- Permite acompanhar o estado dos alimentos dispensados.
- Controla a quantidade de comida que será distribuída.
- Possui botões que permitem a alimentação manual.
- Não permite a sobrealimentação, desativando a alimentação em intervalos de 8 horas.
- Possui um LCD de status que mostra os dados como a data e hora da próxima vez para a próxima fonte de alimentação, o SSID ao qual está conectado ao WiFi e o endereço IP do dispositivo.
- Opcional: Mostra algumas piadas aleatórias de Chuck Norris e / ou curiosidades de números usando um par de APIS públicos (engenhosos do autor original).
- O sistema é imune a reinicializações devido a cortes de energia, uma vez que salva um arquivo de status.
- O sistema detecta quando há uma perda de conexão e tenta se reconectar até que seja bem-sucedido.
Etapa 1: Materiais Usados
- 1 Raperry Pi, de preferência a versão 3 que já vem integrada com a placa Wireless, você também pode usar a versão Pi 3 Zero, dá um pouco mais de trabalho porque você tem que soldar os pinos, mas descobri muito tarde que poderia ser usar um destes que são mais econômicos.
- 1 motor elétrico de alto torque, 37mm, 3,5 rpm e 12V.
- 1 Braket para motor 37mm.
- Tela LCD de 1 caractere de 20x4 linhas com controle HD44780.
- 1 Distribuidor de Cereais Zevro Modelo WM1001 eixo-D de 5 polegadas de comprimento, 0,63 cm de diâmetro (corte D é necessário para fixá-lo ao distribuidor)
- 1 Acoplador de eixo de 1/4 "a 6 mm para unir ao motor.
Todos os materiais anteriores, exceto os dois últimos, não consegui obtê-los em meu país (ou pelo menos não sabia onde encontrá-los), porém a haste e o acoplador provavelmente estão em uma oficina de soldagem, mas é a primeira vez que faço algo assim, não tinha ideia de como deveria ser para encaixar o motor então perguntei a página dos links descritos acima; Abaixo os materiais que eu poderia comprar nas lojas locais:
- 1 caixa de madeira, uso uma de 20,3 cm de largura x 26,7 cm de altura x 13 cm de profundidade. a caixa tem uma porta que abre para a direita com um orifício de 10cm x 4cm para colocar o ecrã LCD (marcenaria local)
- 3 botões de pressão
- 1 pequeno protoboard
- 1 LED de 3,3 Volts (não importa a cor, mas para a tensão geralmente são vermelhos)
- 1 transistor NPN PN2222
- 1 Resistência de 270 Ω
- 1 Resistência de 10 KΩ
- 1 potenciômetro de 10 KΩ
- 1 diodo IN4003 (pode operar IN4001 ou IN4004)
- 1 adaptador 12V 3A
- 1 adaptador 5V 2A
- 4 parafusos com porca de orelhas de 1,5 polegadas a 2 polegadas (depende da espessura da madeira utilizada, servem para fixar o suporte do motor na caixa de madeira)
- Cabos Jumper fios de várias cores
- 1 tubo dobrável ou um conjunto de PVC de 4 polegadas de diâmetro, dependendo da altura em que a caixa de madeira será colocada.
- 1 cotovelo de PVC que se fixa ao gesso anterior.
- 3 braçadeiras para tubos de automóveis (The World)
- 4 pés de cabo UTP (precisamos dos pares trançados para fazer as conexões)
- 1 USB WebCam, não é necessário ser de alta resolução.
Alguns materiais diversos que podem ser obtidos em lojas de ferragens ou possivelmente já temos: Fita Industrial
- Soldador de lata
- Lata
- Furar
- Drill 16/05
- Parafusos S8 com expansores
Etapa 2: Colocando a Estrutura
A ideia principal é substituir a manivela dispensadora que vem no ZEVRO pela haste D que será então conectada ao Motor por meio do Acoplador. O dispensador será preso à caixa de madeira e a caixa de madeira à parede. Como não conheço muita eletrônica não usei nenhuma placa de baquelite para montar o circuito então usei a protoboard para colocar todos os componentes assim no fundo da caixa é fixada com parafusos o Rapberry Pi e o protoboard que já tinha adesivo na parte de trás, então fui colá-lo. A caixa deverá ter três botões que terão a função de reiniciar o temporizador, acionar o alimentador e o último será um passo direto para acionar o motor sem passar pelo circuito. O motor ficará preso dentro da caixa por meio do suporte, de forma que apenas a haste D que se conecta ao dispensador se projete da caixa, no fundo da caixa fixe e ajuste a webcam para que a cada consulta e confirmação do correio eu enviaram uma foto de como está o prato, isso para não exagerar caso não tenham terminado a última rodada de comida.
Do fundo do dispensador, colocava-se o tubo que desce até a placa e colocava-se o cotovelo de PVC na base, coloquei um pouco de Fita Industrial na saída para minimizar a velocidade do fluxo de alimentos e fiz uma base dispensadora para evite que os alimentos espirrem em todos os lugares. Para fixar o tubo à parede, use suportes de metal que você fixa na parede com os parafusos prisioneiros S8.
Na porta da caixa segure a placa da tela de LCD e use os pares trançados do cabo UTP para levá-los diretamente ao Framboesa, na outra ponta dos cabos emende as pontas fêmeas dos jumpers para facilitar a conexão no as portas GPIO do Raspberry. Este seria o diagrama do circuito. Vou tentar explicar com o pouco que posso obter da Eletrônica.
O motor é conectado diretamente ao pólo positivo do transformador de 12 volts, mas para que a corrente flua ela deve passar pelo circuito no pólo neutro do motor, para que este transistor N2222 seja utilizado. Os transistores normalmente possuem 3 pernas que correspondem a um coletor, uma base e um emissor, dependendo do modelo do transistor a localização dessas pernas pode variar; Este transistor faz com que a chave funcione. É aqui que ligamos o pólo neutro do motor ao coletor do transistor, o pino nº 19 do rapberry é conectado à base por meio de uma resistência de 270Ω e o emissor é conectado ao terminal neutro do transistor. Transformador 12V junto com um dos pólos de terra da framboesa; o transistor permitirá que a corrente flua entre o coletor e o emissor, desde que a base seja estimulada com tensão suficiente; depois programaremos o rapberry para que de acordo com certas ordens a porta 19 emita 3,3 volts, o suficiente para que o circuito continue e acione o motor.
Para a tela LCD, outra parte do protobard é usada em um circuito diferente onde você conecta o potenciômetro de 10KΩ que rejeita o contraste do texto que aparece no LCD, então se nada aparecer na tela é provavelmente porque o potenciômetro está totalmente fechado; no meu caso deixo totalmente aberto para que o texto seja melhor visualizado. No final, as conexões na placa de ensaio seriam as seguintes.
Etapa 3: configuração do Raspberry Pi
Em primeiro lugar, é importante criar o Bot do Telegram que o sistema será gerenciado. Você precisará de uma chave para modificar o script python anexado. Leia as etapas da Documentação do telegrama:
core.telegram.org/bots#3-how-do-i-create-a-bot
Para configurar o rapberry, use a versão Lite do Rapbian (não precisamos da interface gráfica) e aplique a configuração básica que mostra o raspbian depois de instalado ou usando o comando raspi-config: expanda o espaço para 100% e habilite o SSH mas principalmente o mais importante é mudar a senha e nome de usuário para o usuário pi que vem por padrão (caso contrário, como aconteceu comigo, eles podem sofrer um ataque pela porta 22 se tiverem um IP público endereçado ao raspberry). Além disso, a configuração para se conectar automaticamente à minha rede WiFi (assumindo que minha rede se chama "BlogSoriano" e minha senha é "$ ecure123!") Geramos e salvamos a chave no arquivo de conexões sem fio com o seguinte comando:
sudo wpa_passphrase "BlogSoriano" "$ ecure123!" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf> / dev / null
a próxima coisa é atualizar e instalar o sistema de instalação do python "pip" para que possamos fazer o login como root, atualizar e instalar os pacotes necessários:
sudo -i apt-get update apt-get install build-essential python-dev python-smbus python-pip
Com isso já temos acesso à biblioteca de classes Python, para o script que vamos usar, precisamos instalar o seguinte:
pip instalar RPi. GPIO Adafruit-CharLCD httplib2 html2text netifaces wireless telepot cv2
Uma vez finalizada a instalação das dependências, usaremos o script anexado a este passo, eu salvo no caminho /opt/petfeeder.py e o arquivo pode ser criado usando o comando nano /opt/petfeeder.py e dentro deste arquivo colamos o código ou, se você tiver mais experiência em Linux, pode fazer o download diretamente com o wget. No script é importante modificar as variáveis BOTKEY (na linha 36) e SYSPASSWORD (na linha 23).
Esclareço que este código não foi escrito por mim pois nunca tinha programado em Python, apenas o modifiquei para funcionar com as novas bibliotecas e com a tela LCD 20x4 e para usar o telegrama Bot.
Assim que tivermos o Script, devemos alterar os valores das variáveis com a chave do bot; para isso é necessário criar um novo Telegram Bot, com isso seria apenas salvar o arquivo e sair (com Ctrl + ou save e ctrl + x sai do editor nano), só precisamos ser a prova de reinicialização; o próprio script salva na última vez que o sistema de energia é ativado, então só temos que fazer o script rodar toda vez que o sistema operacional inicia, para isso eu encontrei uma solução muito particular com um programa chamado supervisor, que é instalado a partir dos repositórios Debian:
apt-get install supervisor
e uma vez instalado, só precisamos criar um arquivo de configuração em /etc/supervisor/conf.d/petfeeder.conf, como no caso anterior podemos criar e salvá-lo com o nano, este arquivo terá o seguinte:
[programa: petfeederd] directory = / opt command = python petfeeder.py autostart = true autorestart = true
Assim que o arquivo for salvo, podemos usar o comando supervisorctl [start | pare | restart] petfeederd, como neste caso o serviço não foi iniciado, executamos com start:
supervisorctl start petfeederd
Etapa 4: pronto para testar
E com isso o sistema deve funcionar, a tela de LCD deve mostrar informações sobre quando deve ser a próxima alimentação ou se está pronto para alimentar devo dizer. Você também deve mostrar o nome da rede wireless a qual está conectado e o endereço IP que está sendo usado caso precisemos conectar através de SSH, compartilho um pequeno vídeo que fiz, peço desculpas pela qualidade, I não sou muito bom esse assunto dos vlogs.
Você deve ser capaz de pesquisar seu bot no Telegram e enviar um dos próximos comandos depois de autorizar seu bate-papo:
/ feed: Inicia o processo de alimentação contanto que o período de tempo parametrizado tenha decorrido.
/ quando: retorna informações sobre quando foi a última alimentação e uma foto do prato de comida.
/ foto: Mostra uma imagem do prato de comida.
/ restart: Reinicia o sistema, define a variável da última alimentação para 0 para poder alimentar imediatamente.
/ status Informa sobre o status da conexão com a Internet: SSID do Wireless conectado e o endereço IP que o sistema possui na rede.
Recomendado:
Sem xixi agora, dispositivo de ajuste de comportamento de animais de estimação que impede os gatos de urinarem em sua casa: 4 etapas
Sem xixi agora, dispositivo de ajuste de comportamento do animal de estimação que impede os gatos de fazer xixi em sua casa: Fiquei tão incomodado com minha gatinha que ela gosta de fazer xixi na minha cama, verifiquei tudo que ela precisa e também a levei ao veterinário. Depois de descobrir tudo o que posso pensar e ouvir a palavra do médico, percebo que ela apenas tem um comportamento ruim. Então, o
Sistema de monitoramento de animais de estimação com Arduino e Raspberry Pi: 19 etapas (com fotos)
Sistema de monitoramento de animais de estimação com Arduino e Raspberry Pi: Recentemente, durante as férias, percebemos a falta de conexão com nosso Beagle de estimação. Após algumas pesquisas, encontramos produtos que apresentavam uma câmera estática que permitia monitorar e se comunicar com seu animal de estimação. Esses sistemas tinham certos benefícios b
Alimentador automático para animais de estimação usando um relógio digital antigo: 10 etapas (com fotos)
Alimentador automático para animais de estimação usando um relógio digital antigo: Olá, neste instrutível irei mostrar como fiz um comedouro automático para animais usando um relógio digital antigo. Também incluí um vídeo sobre como fiz este alimentador. Este instrutível será inscrito no concurso PCB e, como um favor, ap
Catapulta automática para arremessar alimentos para animais de estimação (cachorro, gato, frango, etc.), arremessar bolas e muito mais !: 4 etapas (com fotos)
Catapulta automática para arremessar alimentos para animais de estimação (cachorro, gato, frango, etc.), jogar bolas e muito mais !: Olá e bem-vindo ao meu primeiro Instructable! Nosso cachorro ADORA sua comida, literalmente comerá tudo em segundos. Tenho pensado em maneiras de diminuir isso, desde bolas com a comida dentro até jogá-la no quintal. Surpreendentemente, ela é
Dispensador de deleites para IoT para animais de estimação: 7 etapas (com fotos)
Dispensador de guloseimas para animais de estimação: Eu tenho dois gatos e ter que dar guloseimas a eles cerca de 3 vezes ao dia se tornou um incômodo. Eles olhavam para mim com seus rostos bonitos e olhares intensos, em seguida, corriam para uma caixa cheia de greenies de gatos, miando e implorando por eles. Eu tinha decidido