O Comedouro automático é um projeto de automação residencial que vai agradar a todos que tem um cuidado todo especial com os seus Pets, seus cachorros e gatos em específico jamais ficarão desamparados.
Este modelo de tratador foi desenvolvido para possibilitar que as rações armazenadas em um recipiente próprio fossem liberadas em horários específicos, o que garantiria aos seus animais receber seu alimento mesmo quando você estiver ausente.
Podendo ser alterado para qualquer horário através de seu código, o comedouro automático possui um módulo para armazenagem de data e hora que possibilita dispensar ração duas vezes por dia, ou se necessário e desejado, mais vezes em menor quantidade.
O controle de alimenta desprezado pelo tratador para pets é feito através de um controle de tempo de acionamento de um motor, o qual atribuímos movimentos horários e anti-horários com a finalidade de evitar possíveis problemas de funcionamento.
Comedouro Automático com Arduino
O projeto do comedouro automático foi desenvolvido para quem gosta dos seus animais, mas as vezes não pode se fazer presente por algum momento, sabemos que a alimentação dos nossos animaizinhos assim como a nossa é de suma importância para o seu desenvolvimento.
Contando com um reservatório exclusivo para ração com um sistema de pás para extração do alimento, o tratador automático possibilita que os alimentos saiam do reservatório e caiam diretamente no pote de ração posicionado abaixo do case MDF.
Para facilitar a utilização do case, o mesmo possui exclusivas furações para a fixação em paredes através de parafusos, a altura de instalação deve ser feita de acordo com cada caso, porém recomendamos que não seja feito muito acima do pote de ração para que a mesma não saia do pote durante a queda.
Para evitar que o cão tenha acesso à ração, na parte superior o tratador possui uma tampa que abre para frente e evita que o seu animal possa abrir com facilidade o reservatório e coma antes do horário programado.
Além disto, o Comedouro possui locais específicos e protegidos para a instalação do Arduino, motor e demais módulos assim como um acesso facilitado ao local de alimentação do módulo e de comunicação de dados do Arduino.
Sistema para Controle de Fluxo do Comedouro
O sistema para controle de fluxo do alimento é composto através de um motor controlado pelo Arduino e um sistema de engrenagem articulado que movimenta as pás de borracha do Comedouro.
O sistema de engrenagem tem a função de aumentar o torque do motor e as pás confeccionadas em borracha tem o intuito de proporcionar maior flexibilidade para o processo de deslocamento e transporte de ração.
Uma das dificuldades encontradas ao produzir este material foi encontrar uma solução que teria força, flexibilidade e resistência para os casos em que a ração ficava entre a parede do tratador e as pás, o que inviabilizava também o uso dos motores que tínhamos disponível.
A elevação no torque pelo sistema de engrenagem e a aplicação de um material maleável ainda apresentaram certas resistências periódicas, por isto durante o seu funcionamento, em alguns momentos o motor muda sua direção de rotação para limpar o caminho para as rações.
Sistema para Controle de Acionamento do Comedouro
O controle de acionamento do Comedouro automático é feito através de um RTC, um elemento que acompanha a hora e a data e possibilita o acionamento de dispositivos, por exemplo, em horários específicos.
Maiores informações sobre o Módulo RTC, suas funções ecaracterísticas você encontra através do seguinte artigo:
Módulo RTC DS1307 com Display 16×2 I2C – Relógio Arduino com Despertador
Os dados do módulo relógio tempo real são interpretados pelo Arduino, o qual controla o driver de acionamento do motor DC e consequentemente a sua direção de rotação. É um projeto bastante simples, porém deve-se ter cuidado com a instalação dos jumpers para que não enroscarem do sistema de engrenagem.
Maiores informações quanto ao sistema de conexão e a ligação dos dispositivos estarão disponíveis logo abaixo.
Produtos Utilizados no Comedouro Automático
Abaixo segue a lista de todos os produtos utilizados no desenvolvimento do projeto e que podem ser adquiridos de forma avulsa conforma listagem. Caso prefira, é possível adquirir a versão completa do Alimentador Automático para Pets com Arduino DIY Canem que possui todas as peças necessárias para sua construção.
– Estrutura MDF para Alimentador Automático Pets Canem;
– Placa Uno R3 + Cabo USB para Arduino;
– Módulo Relógio Tempo Real RTC – DS1307;
– Bateria CR2032 3V de Lithium / Pilha CR2032;
– Driver Duplo Ponte H de motor DC ou Passo L9110s;
– Motor DC 3-6V 80RPM com Caixa de Redução 120:1;
– Extensor de Portas 0 a 6V 10 Saídas com Jack P4 – EPX10;
– Fonte de Alimentação Chaveada 5VDC 2A;
– 11 Parafuso Philips M3 x 6mm Metálico;
– 2 Espaçador Metálico Sextavado de Bronze M3 x 15mm PCB – Fêmea x Fêmea;
– 2 Parafuso Philips M3 x 25mm Metálico;
– 25 cm Cabo Flexível TiaFlex 5m – 0,50mm² – Preto;
– 6 Jumper Premium para Protoboard Macho-Fêmea 20 cm;
– 4 Jumper Premium para Protoboard Fêmea-Fêmea 20 cm.
Esquema de Ligação Comedouro Automático
O esquema de ligação do Comedouro Automático com Arduino é extremamente simples, o único detalhe mais complicado é a soldagem dos fios no motor que precisa ser feita para garantir a alimentação deste.
Veja o esquema de ligação abaixo:
Como vemos no esquema de ligação, as conexões são poucas, porém como mencionado anteriormente, é imprescindível que os fios sejam alocados de maneira que fiquei abaixo da altura do motor, isto evitará que estes enrosquem na engrenagem.
DICA: Para segurar os fios e impossibilitar o contato destes, utilizai abraçadeiras de nylon.
Código de Funcionamento do Comedouro
O código de funcionamento do Comedouro Automático é bastante simples, abaixo podemos ver a sua versão completa e com todas as variáveis comentadas, a qual conta com apenas uma biblioteca, a RTClib.
Biblioteca RTClib.h: DOWNLOAD AQUI.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
#include <RTClib.h> // Inclui a Biblioteca // Define os pinos de utilização do Driver L298. const int motorB1 = 5; // Pino 5 no B1 do L293. const int motorB2 = 6; // Pino 3 no B2 do L293. RTC_DS1307 rtc; // Inicia variáveis do RTC int Hor; // Define variável Hora int Min; // Define variável Minuto int Sec; // Define variável Segundo int Data; // Define variável Data void setup() { rtc.begin(); // Inicia o módulo RTC pinMode(motorB1, OUTPUT); // Pino 5 é um pino de saída de sinal pinMode(motorB2, OUTPUT); // Pino 6 é um pino de saída de sinal rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // Ajuste Automático da hora e data //rtc.adjust(DateTime(2020, 04, 16, 10, 00, 00)); // Ajuste Manual (Ano, Mês, Dia, Hora, Min, Seg) } void loop() { Hor = rtc.now().hour(); // Verifica a Hora Min = rtc.now().minute(); // Verifica os Minutos Sec = rtc.now().second(); // Verifica os Segundos Data = rtc.now().day(); // Verifica o Dia // Verifica o horário e se o mesmo for igual à 12:00:00 if ( Hor == 12 && Min == 00 && Sec == 00) { analogWrite(motorB1, 255); analogWrite(motorB2, 0); delay(3000); analogWrite(motorB1, 0); analogWrite(motorB2, 255); delay(2000); analogWrite(motorB1, 255); analogWrite(motorB2, 0); delay(3000); analogWrite(motorB1, 0); analogWrite(motorB2, 0); } // Verifica o horário e se o mesmo for igual à 18:00:00 if ( Hor == 18 && Min == 00 && Sec == 00) { analogWrite(motorB1, 255); analogWrite(motorB2, 0); delay(3000); analogWrite(motorB1, 0); analogWrite(motorB2, 255); delay(2000); analogWrite(motorB1, 255); analogWrite(motorB2, 0); delay(3000); analogWrite(motorB1, 0); analogWrite(motorB2, 0); } delay(1000); // Aguarda 1 segundo e reinicia } |
Após adicionarmos a biblioteca e copiarmos o código acima para o software Arduino, já podemos gravá-lo e utilizá-lo da melhor maneira possível, porém podemos elencar alguns pontos importantes e que podem ser alterados de acordo com cada projeto.
O horário utilizado como padrão de funcionamento do Módulo RTC pode ser definido de duas maneiras, ou do modo padrão em que o módulo utiliza o horário base do próprio computador e que é utilizado neste projeto como vemos abaixo:
1 2 3 |
rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // Ajuste Automático da hora e data //rtc.adjust(DateTime(2020, 04, 16, 10, 00, 00)); // Ajuste Manual (Ano, Mês, Dia, Hora, Min, Seg) |
Porém caso deseje utilizar o módulo com horário ou data manual devemos remover as barras do ajuste manual e adicionar no ajuste automático, assim poderá definir os parâmetros assim como no exemplo adicionado no comentário. Para o ajuste manual temos que substituir as duas linhas acima pelas duas linhas abaixo:
1 2 3 |
// rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // Ajuste Automático da hora e data rtc.adjust(DateTime(2020, 04, 16, 10, 00, 00)); // Ajuste Manual (Ano, Mês, Dia, Hora, Min, Seg) |
Após regulado o horário padrão de funcionamento do Arduino, o próximo passo é ajustar os horários de acionamento do motor e liberação do alimento através do Comedouro Automático.
O ajuste do horário de acionamento é feito através da linha de programação abaixo e pode ser alterado de acordo com cada projeto substituindo os valores de acordo com o desejado.
1 |
if ( Hor == 18 && Min == 00 && Sec == 00) { |
Para a configuração acima vale lembrar que horários menores que 10 utilizamos as unidades sem o 0, por exemplo, para acionarmos o comedouro as 08:09 iremos preencher a linha do código acima da seguinte maneira:
1 |
if ( Hor == 8 && Min == 9 && Sec == 00) { |
Após fazermos todos estes ajustes e adaptarmos o nosso comedouro da maneira desejada basta carregarmos o código e instalá-lo no melhor lugar para a alimentação dos nossos pets.
Conclusão
O Comedouro Automático com Arduino é talvez um dos projetos de automação mais especiais uma vez que une o nosso desejo maker com uma grande paixão que são os nossos animaizinhos. Todo cuidado com nossos pets é importante e a sua alimentação é um dos fatores mais importantes.
Com o Tratador que desenvolvemos neste projeto podemos alimentar nossos animais mesmo não estando em casa em horários específicos, porém é um projeto que pode passar por diversas melhorias ainda para torna-lo ainda mais complexo, é possível utilizarmos um sistema wi-fi ou GSM para controle, por exemplo.
Espero que tenham gostado do projeto e não se esqueçam de deixar o seu comentário, sua dúvida e até mesmo a sua opinião.
Gostarde ajuda na hora de copiar o código aqui do blog e colar no IDE e fazer funcionar o comedouro automático. Não sei mexer direto no IDE e por isso gostaria da sua ajuda.
Boa Tarde Carlos! Tendo o Software Arduino aberto, basta copiar o código disponível junto à página do artigo e inseri-lo na IDE do Arduino, lembre-se de apagar todo o conteúdo que tiver na página quando abri-la. Dica: para eliminar a chance de algum caracter indevido, é bom passar o código pelo bloco de notas antes de passá-lo à IDE.
Olá, adorei o projeto!
Gostaria de saber se posso utilizar o Arduino Nano ao invés do Arduino Uno.
Boa Tarde Stela! No projeto a princípio é possível alterar o Arduino pelo modelo Nano, porém vale ressaltar que possivelmente outros detalhes de hardware vão se alterar, quanto ao produto em MDF porém, o Arduino Nano não possui furos para instalação então a sua conexão deveria ser feita junto de uma Protoboard.
Não estou conseguindo carregar o codigo para o Arduino, pois a biblioteca está inválida.
Como proceder?
Bom Dia Stella! As últimas atualizações do Software Arduino tornaram-se incompatíveis com algumas bibliotecas e funções, desta maneira recomendamos a utilização de versões como a 1.6.13, que está sendo testada e mostrando-se compatível com a maioria dos projetos.
Gostaria de adicionar mais comandos para poder através de botões ou teclado matrix e tela LCD poder modificar a programação de numero de vezes que alimenta, hora e tempo de funcionamento. Podes ajudar atualizando este código?
Obrigado desde já.
Boa Tarde Will! Infelizmente no momento estou com bastante projetos em andamento e não estou com condições de desenvolver tais aplicações, porém a sugestão é muito boa e irei anotar para pensar em algo assim que possível. Muito obrigado.
Ten algum video desse projeto en funcionamento ?!
Boa noite Matheus. Comprei o kit e montei tudo. Fiz teste e deu certo exceto o encaixe das duas engrenagens, a do eixo do motor e a engrenagen maior. O outro problema será no momento de fechar a última peça de MDF. Você tem dicas para resolver esses problemas? Obrigado.
Olá Carlos! Seguiu os passos do manual e as engrenagens não funcionam? Sobre a instalação da última peça, ela possui uma certe resistência para encaixe, mas é normal e vale cuidar o local de instalação do Jack na hora de encaixar.
Olá, você poderia me dizer qual foi o aplicativo que você utilizou para montar o esquema do circuito? Eu estou utilizando o Tinkercad (primeira vez), e lá não tem (ou eu que não consegui achar) o RTC, e eu não encontrei uma forma de adicioná-lo.
Olá Rafael! Parte do esquema foi montado através do Fritzing e parte foi feito através do Fireworks, uma vez que o Extensor de portas é um produto exclusivo da Usinainfo e tive que desenhá-lo para conseguir utilizar.
Olá, gostaria de desenvolver esse projeto porém queria saber se seria possível utilizar o módulo NodeMCU Esp8266 ao invés do Arduino utilizado
Olá Theo! Através das devidas adaptações acredito que não tenha problema desenvolver este mesmo código com outro microcontrolador, porém a alteração acarretaria em uma reestruturação no código e na instalação.
Boa tarde….interessante o projeto….ja tinha em mente….mas noa sabia se usava servo…ou motor dc comum….só nao entendi bem….pelas fotos….como funciona o mecanismo de transporte da raçao