Imagine uma situação destas: são 6 horas da manhã de um sábado, está confortavelmente deitado na sua cama, ainda a dormir profundamente. De repente, ouve o seu gato a arranhar a porta, os seus miados altos tornam-se insuportáveis e o seu gato tem todo o tempo do mundo para lhe dizer o que precisa. Sabe do que é que ele precisa realmente?
Imagine uma situação destas: são 6 horas da manhã de um sábado, está confortavelmente deitado na sua cama, ainda a dormir profundamente. De repente, ouve o seu gato a arranhar a porta, os seus miados altos tornam-se insuportáveis e o seu gato tem todo o tempo do mundo para lhe dizer o que precisa. Sabe do que é que ele realmente precisa? Eu sei - o seu gato quer comida agora! Agora mesmo! Como é que eu sei isso? Porque, a dada altura, comecei a dar comida ao meu gato a essa hora... E, claro, tornou-se uma nova hora padrão para receber comida.
Este cenário inspirou-me a construir um alimentador automático para gatos, que eliminaria os problemas da alimentação matinal do gato e o manteria feliz.
Primeira geração
A primeira geração do comedouro para gatos era um simples MVP feito de cartão, servo simples e ESP WeMos. Utilizava o servo para rodar o recipiente superior em 180 graus para distribuir a comida.
Um microcontrolador foi ligado ao meu Wi-Fi local e comunicou com o servidor Smart Home que executa o HomeAssistant através do protocolo MQTT. Graças a isso, pude utilizar o sistema de automação HomeAssistant para programar a alimentação e a distribuição de alimentos através de comandos do Google Home. Cada alimentação foi definida como um evento especial no Google Calendar. Isto permitiu-me controlar facilmente a hora de alimentação do gato e alterá-la quando necessário.
É claro que esta geração teve alguns problemas:
o recipiente superior destacava-se por vezes da pega do servo e derramava toda a comida (chamei-lhe "o efeito Jackpot"),
não tinha o melhor design,
o cartão começou a deteriorar-se.
Tal como acontece com a maioria dos MVP, foi utilizado apenas durante 2 anos até se avariar.
Segunda geração
Decidi que o próximo comedouro para gatos deveria:
ser construído a partir de peças impressas em 3D,
utilizar o Raspberry Pi 3,
ter uma pequena câmara para observar a reação do gato e o que o animal está a fazer.
Comecei todo o processo a partir da conceção de elementos básicos para a divisão dos alimentos. Depois, quando os desenhos estavam prontos, todos os elementos foram impressos utilizando a Creality Ender-3 e PLA
Peças
Depois de me certificar de que tudo funcionava, comecei a desenhar e a imprimir o resto das peças:
Base para RaspberryPi (Nível 0)
Tem locais especiais para os parafusos para ajudar a instalar o Raspberry Pi. Além disso, na parte da frente, existe um pequeno orifício para facilitar o acesso ao cartão SD do Raspberry Pi.
Suporte da taça
Esta peça de plástico é utilizada para colocar uma tigela de comida de metal (claro que foi impressa com filamentos de ouro, para a fama e glória do meu gato). Está ligada à base através de 2 ímanes de neodímio.
Suporte do servo (Nível 1)
Este nível é utilizado para segurar o servo enquanto este roda a peça no nível seguinte. Tem também uma pequena inclinação para melhor servir a comida.
Contentor do mecanismo de racionamento (Nível 2)
Trata-se de um nível genérico simples que reparte os alimentos de um recipiente colocado por cima. É rodado pelo servo.
Suporte de recipientes para alimentos (Nível 3)
Esta peça é utilizada para segurar o recipiente de alimentos. É a única peça de plástico que não foi impressa em 3D. Queria minimizar o contacto dos alimentos com as peças impressas em 3D. Em teoria, o plástico PLA transparente não tem quaisquer contaminantes tóxicos, mas comprei o distribuidor de cereais mais barato e tirei a parte do recipiente para alimentos, só para jogar pelo seguro. Além disso, tem um aspeto muito fixe.
Caixa e tampa
As duas últimas peças foram a caixa e a tampa. Nada de especial aqui, exceto mais ouro para ficar mais bonito e ganhar a admiração do gato.
Todas as peças
Montagem final
Software
O Raspberry Pi está a executar um Raspbian provisionado utilizando o manual ansible para executar estes serviços:
MotionEye
O MotionEye é um software de código aberto para construir a sua própria monitorização privada. Detecta qualquer câmara ligada ao Raspberry Pi. Adicionalmente, a partir da caixa, obtém deteção de movimento, um ponto final para partilhar o fluxo e suporte para webhook.
Serviço servo
Este serviço controla a rotação do servo. Trata-se de um simples Python que se liga ao servidor MQTT que executa o meu software Smart House e aguarda uma mensagem para acionar a rotação.
Serviço conduzido
Tal como o serviço servo, implementa um protocolo para a fonte de luz controlada pelo MQTT em HomeAssistant.
Automatização do assistente doméstico
E, finalmente, a automação HomeAssistant que acciona a alimentação.
Acciona a distribuição de alimentos em duas situações:
quando a hora da alimentação aparece no calendário,
quando a Estação Espacial Internacional estiver por cima do meu local de residência.