- Material requerido
- Diagrama del circuito del temporizador de cuenta regresiva de Arduino
- Código y explicación del temporizador de cuenta regresiva de Arduino
Un temporizador es un tipo de reloj que se utiliza para medir intervalos de tiempo. Hay dos tipos de temporizador, uno que cuenta hacia arriba desde cero, para la medición del tiempo transcurrido, llamado Cronómetro. Y, el segundo cuenta regresiva desde una duración de tiempo especificada proporcionada por el usuario, generalmente llamado Countdown Timer.
Aquí, en este tutorial, le mostraremos cómo hacer un temporizador de cuenta regresiva usando Arduino. Aquí no utilizamos ningún módulo de reloj en tiempo real (RTC) para obtener la hora. El tiempo de duración lo proporciona el usuario con la ayuda del teclado y la pantalla LCD 16x2. Y cuando el temporizador llega a cero, se producirá un sonido de alerta con la ayuda de Buzzer.
Material requerido
- Arduino UNO
- LCD 16 * 2
- Teclado matricial 4 * 4
- Zumbador
- Presionar el botón
- Potenciómetro (10k)
- Resistencia (10k, 100 ohmios)
- Cables de conexión
Diagrama del circuito del temporizador de cuenta regresiva de Arduino
Arduino Uno se utiliza aquí como controlador principal. Se utiliza un teclado para indicar la duración del tiempo y se utiliza una pantalla LCD de 16 * 2 para mostrar la cuenta atrás. El pulsador se utiliza para iniciar el tiempo. Compruebe aquí cómo conectar el teclado 4x4 con Arduino y la pantalla LCD 16x2 con Arduino.
Código y explicación del temporizador de cuenta regresiva de Arduino
El código completo del temporizador de Arduino se proporciona al final de este proyecto.
En este código a continuación, estamos inicializando bibliotecas para teclado y LCD y las variables utilizadas en el código.
#incluir
Ahora, en el siguiente código, estamos inicializando el no. de filas y columnas para definir la matriz del teclado.
const byte ROWS = 4; // Cuatro filas const byte COLS = 4; // Claves de caracteres de tres columnas = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', ' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Para conectar el teclado matricial 4 * 4 con Arduino tenemos que definir los pines para las filas y columnas. Entonces, en el siguiente código, hemos definido pines para el teclado y también para LCD de 16x2.
byte rowPins = {6, 7, 8, 9}; // Conecte el teclado ROW0, ROW1, ROW2 y ROW3 a estos pines de Arduino byte colPins = {10, 11, 12, 13}; // Conecte el teclado COL0, COL1 y COL2 para t LiquidCrystal lcd (A0, A1, 5, 4, 3, 2); // Crea un objeto LC. Parámetros: (rs, enable, d4, d5, d6, d7)
El siguiente código se utiliza para hacer el teclado, Teclado kpd = Teclado (makeKeymap (teclas), rowPins, colPins, ROWS, COLS);
En el código de función void setFeedingTime () , después de presionar el botón pulsador podemos ingresar el tiempo para el temporizador, luego después de ingresar la duración del tiempo del temporizador, tenemos que presionar D para comenzar la cuenta regresiva.
void setFeedingTime () {feed = true; int i = 0; lcd.clear (); lcd.setCursor (0,0); lcd.print ("Establecer hora de alimentación"); lcd.clear (); lcd.print ("HH: MM: SS"); lcd.setCursor (0,1); while (1) {clave = kpd.getKey (); char j; if (clave! = NO_KEY) {lcd.setCursor (j, 1); lcd.print (clave); r = clave-48; i ++; j ++; if (j == 2 - j == 5) {lcd.print (":"); j ++; } retraso (500); } si (clave == 'D') {clave = 0; romper; }} lcd.clear (); }
En la función void setup () , inicializamos la pantalla LCD y la comunicación en serie, y definimos los pines como INPUT y OUTPUT en el siguiente código.
configuración vacía () {lcd.begin (16,2); Serial.begin (9600); pinMode (A0, SALIDA); pinMode (A1, SALIDA); pinMode (A3, ENTRADA); pinMode (A4, SALIDA); }
El funcionamiento de este temporizador de cuenta regresiva de Arduino es simple, pero el código es un poco complejo. El código se explica mediante los comentarios en el código.
Inicialmente, imprimirá “Arduino Timer” en la pantalla LCD hasta que presione el botón. Tan pronto como presione el botón, le pedirá que ingrese la duración del tiempo de cuenta regresiva llamando a la función " setFeedingTime ". Luego puede ingresar la duración del tiempo con la ayuda del teclado. Luego, debe presionar 'D' para ahorrar tiempo y comenzar la cuenta regresiva. Aquí, en la función void loop () , hemos hecho algunos cálculos para disminuir el tiempo segundo a segundo y mostrar los valores adecuados de Hora, Minutos y Segundos (HH: MM: SS) de acuerdo con el tiempo restante. Todo el código está bien explicado por comentarios. Puede consultar el código completo y el video de demostración a continuación.
Cuando el temporizador llega a cero, el zumbador comienza a pitar y suena solo 100 veces (según el código). Para detener el timbre, presione y mantenga presionado el botón. Puede usar el botón pulsador en cualquier momento para detener el temporizador entre conteos.