Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Este é um pequeno instrutível em Arduino baseado em Timer para Aquaponics Pump.
Tenho um pequeno sistema aquapônico instalado em ambiente interno com fluxo contínuo. A bomba está funcionando continuamente e eu queria fazer um cronômetro que faria a bomba funcionar por um determinado período de tempo e, em seguida, desligá-la por igual período de tempo e repetir isso.
Após 2-3 dias escrevendo código e incontáveis testes de bancada de trabalho, fui capaz de fazer exatamente o que era necessário para mim. O cronômetro é programável de 1 minuto a 24 horas. Por favor, assista ao vídeo para ver o funcionamento do cronômetro.
Esperançosamente, isso também será útil para outras pessoas que estão procurando por projetos semelhantes. Este instrutível cobre apenas o código e o teste de bancada. Tornar-se um dispositivo de trabalho completo será abordado posteriormente em outro instrutível.
Isenção de responsabilidade: eu testei o código e achei que ele está OK. Mas isso não significa que seja à prova de idiotas. Bugs podem estar lá. Não me responsabilizo por quaisquer danos que possam surgir do uso deste projeto / código. Use por sua conta e risco
Etapa 1: Materiais necessários
1. Arduino UNO
2. LCD i2c 16X2
3. Micro interruptores
4. LED
5. Resistor
6. Cabos Dupont
7. Breadboard
Etapa 2: configuração
O código foi testado em bancada de trabalho usando a placa BreadBoard e Arduino UNO. Meu plano é usar o Arduino Pro Mini ao fazer um produto completo com gabinete.
A conexão não é tão difícil. Por favor veja abaixo. Usei um LED no lugar do relé.
Arduino Pin 13 Switch (START)
Arduino Pin 12 Switch (STOP)
Arduino Pin 11 Switch (SET)
Arduino Pin 10 Switch (INCREMENT)
Arduino Pin 9 Switch (DIMINUIÇÃO)
Arduino Pin 8 + ve LED
Arduino GND -ve LED (e os segundos terminais de todos os interruptores)
Arduino + 5V VCC de LCD
Arduino GND GND do LCD
Arduino Pin A4 SDA de LCD
Arduino Pin A5 SCL de LCD
Etapa 3: Código e Trabalho
O código do Arduino está anexado.
Uma função (contagem) usa SimpleTimer para esperar por 1 segundo e então incrementar uma variável (segundo) até chegar a 60, então redefinir a variável (segundo) e incrementar outra variável (minutos). A variável de minutos é incrementada até atingir 60 e, em seguida, redefine e incrementa a variável de horas.
O tempo programado é comparado com este e, uma vez atingido, o temporizador é reinicializado e a saída do relé é alternada. Em seguida, o temporizador inicia novamente e continua até atingir o tempo programado e, em seguida, redefine e alterna a saída do relé.
Trabalhando
O botão SET é usado para programar o tempo desejado.
O botão INC é usado para incrementar o tempo
O botão DEC é usado para diminuir o tempo.
O botão INICIAR é usado para INICIAR o cronômetro
O botão PARAR é usado para PARAR o cronômetro
Assista ao vídeo para ver o funcionamento do cronômetro.
Ao definir o tempo, a função do botão INC / DEC é alternada, ou seja, se você pressionar DEC às 00:00 torna-se 24:59 e vice-versa.
O código também incorpora a funcionalidade de armazenamento da hora programada na EEPROM, de forma que mesmo que a alimentação seja desligada a hora programada permanece salva. E quando a energia for restaurada, você pode pressionar diretamente o botão START e o cronômetro começará a contar até o tempo previamente definido.
Etapa 4: Próxima etapa
O próximo passo será transformá-lo em um produto de trabalho autônomo. Isso será abordado posteriormente em outro instrutível.
Espero que tenham gostado do meu instrutível e estou aberto a todos os tipos de comentários.
Obrigado por ler este artigo.