- Material Necessário
- Diagrama de circuito do cronômetro de contagem regressiva do Arduino
- Código e explicação do cronômetro de contagem regressiva do Arduino
Um cronômetro é um tipo de relógio usado para medir intervalos de tempo. Existem dois tipos de cronômetro, um de contagem crescente a partir de zero, para a medição do tempo decorrido, denominado Cronômetro. E, o segundo conta regressivamente a partir de um determinado período de tempo fornecido pelo usuário, geralmente chamado de Contador regressivo.
Aqui, neste tutorial, mostraremos como fazer um cronômetro de contagem regressiva usando o Arduino. Aqui, não estamos usando nenhum módulo Real Time Clock (RTC) para obter a hora. O tempo de duração é fornecido pelo usuário com a ajuda do teclado e LCD 16x2. E quando o cronômetro chegar a Zero, o som de alerta será produzido com a ajuda do Buzzer.
Material Necessário
- Arduino UNO
- LCD 16 * 2
- Teclado de matriz 4 * 4
- Buzzer
- Botão de apertar
- Potenciômetro (10k)
- Resistor (10k, 100 ohm)
- Fios de conexão
Diagrama de circuito do cronômetro de contagem regressiva do Arduino
O Arduino Uno é usado aqui como controlador principal. Um teclado é usado para alimentar a duração do tempo e um LCD 16 * 2 é usado para exibir a contagem regressiva. O botão é usado para iniciar o tempo. Verifique aqui como fazer a interface do teclado 4x4 com o Arduino e do LCD 16x2 com o Arduino.
Código e explicação do cronômetro de contagem regressiva do Arduino
O código do Arduino Timer completo é fornecido no final deste projeto.
Neste código abaixo, estamos inicializando bibliotecas para teclado e LCD e as variáveis usadas no código.
#incluir
Agora, no código abaixo estamos inicializando o não. de linhas e colunas para definir a matriz do teclado.
const byte ROWS = 4; // Quatro linhas const byte COLS = 4; // Três colunas char keys = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', ' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Para conectar o teclado de matriz 4 * 4 com Arduino, temos que definir os pinos para as linhas e colunas. Portanto, no código a seguir, definimos pinos para teclado, bem como LCD 16x2.
byte rowPins = {6, 7, 8, 9}; // Conecte o teclado ROW0, ROW1, ROW2 e ROW3 a esses pinos do Arduino byte colPins = {10, 11, 12, 13}; // Conecte o teclado COL0, COL1 e COL2 para t LiquidCrystal lcd (A0, A1, 5, 4, 3, 2); // Cria um objeto LC. Parâmetros: (rs, ativar, d4, d5, d6, d7)
O código abaixo é usado para fazer o teclado, Teclado kpd = Teclado (makeKeymap (teclas), rowPins, colPins, ROWS, COLS);
No código de função void setFeedingTime () , após pressionar o botão, somos capazes de inserir o tempo para o temporizador, então após inserir a duração do tempo do temporizador, temos que pressionar D para iniciar a contagem regressiva.
void setFeedingTime () {feed = true; int i = 0; lcd.clear (); lcd.setCursor (0,0); lcd.print ("Definir tempo de alimentação"); lcd.clear (); lcd.print ("HH: MM: SS"); lcd.setCursor (0,1); while (1) {key = kpd.getKey (); char j; if (chave! = NO_KEY) {lcd.setCursor (j, 1); lcd.print (chave); r = chave-48; i ++; j ++; if (j == 2 - j == 5) {lcd.print (":"); j ++; } atraso (500); } if (chave == 'D') {chave = 0; pausa; }} lcd.clear (); }
Na função void setup () , inicializamos o LCD e a comunicação serial, e definimos os pinos como INPUT e OUTPUT no código abaixo.
configuração vazia () {lcd.begin (16,2); Serial.begin (9600); pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A3, INPUT); pinMode (A4, OUTPUT); }
Trabalhar com este cronômetro de contagem regressiva do Arduino é simples, mas o código é um pouco complexo. O código é explicado pelos comentários no código.
Inicialmente, ele imprimirá “Arduino Timer” no display LCD até que você pressione o botão. Assim que você pressionar o botão, ele pedirá para inserir a duração da contagem regressiva chamando a função “ setFeedingTime ”. Em seguida, você pode inserir a duração do tempo com a ajuda do teclado. Em seguida, você precisa pressionar 'D' para economizar tempo e iniciar a contagem regressiva. Aqui, na função void loop () , fizemos alguns cálculos para diminuir o tempo segundo a segundo e mostrar os valores adequados de Hora, Minutos e Segundos (HH: MM: SS) de acordo com o tempo restante. Todo o código é bem explicado por comentários. Você pode verificar o código completo e o vídeo de demonstração abaixo.
Quando o cronômetro chega a zero, a campainha começa a emitir bipes e bipes somente 100 vezes (conforme o código). Para parar a campainha, pressione e segure o botão. Você pode usar o botão a qualquer momento para interromper o cronômetro entre as contagens.