El funcionamiento del contador regresivo es el siguiente: Una vez que damos tensión al circuito nos aparecerá una primera pantalla donde podemos ajustar las horas y los minutos de la cuenta atrás. Los segundos no se ajustan.
El tiempo máximo de la cuenta regresiva es de 99 horas y 59 minutos. Pulsando S1, el cursor se sitúa debajo de las horas y aparece en el display la palabra "SET", con S2 podemos ajustar las horas, si pulsamos otra vez S1 el cursor se sitúa debajo de los minutos y los ajustamos con S2, una pulsación más en S1 y salimos de esa primera pantalla para visualizar la cuenta atrás.
El pulsador S3 sirve para avanzar tanto las horas como los minutos de cinco en cinco.
El contador regresivo empieza a contar, desde las horas y minutos que hayamos fijado, en cuenta regresiva hasta 00:00:00.
Cuando lleguemos a 00:00:00 el buzzer conectado al pin RA5 del microcontrolador 16F873A comenzará a sonar. Para detener el zumbido debemos pulsar S2 y el buzzer dejará de sonar, aparecerá "STOP" al lado de los segundos.
Cuando la cuenta alcance 00:00:00 no se detendrá, empezará la cuenta adelante, es decir, empezará a contar los segundos minutos y horas en orden ascendente y aparecerá el signo + al lado de las horas.
El buzzer no dejará de sonar hasta que presionemos S2. Esto quiere decir, que cuando pulsemos S2 para detener el buzzer también detendrá nuestra cuenta adelante y sabremos cuánto nos hemos pasado del 00:00:00.
Si paramos la cuenta atrás antes de alcanzar 00:00:00 el contador se parará, pero no podemos reanudar la cuenta desde ese punto, tenemos que pulsar nuevamente S1 para entrar en el menú de ajuste de horas y minutos, y volver a empezar.
Cuando pulsemos S1 nos recordará el dato de nuestra última cuenta. Lo mismo sucederá cuando apaguemos el circuito. Cuando demos tensión, la última cuenta atrás quedará memorizada y se visualizará en el display lcd.
El programa que hemos creado para este contador regresivo funciona con un microcontrolador pic, modelo 16F873A. Dicho pic se encarga de leer los segundos, minutos y horas del circuito integrado DS1307.
Este circuito integrado DS1307, es un reloj en tiempo real que cuenta los segundos, minutos y horas en orden ascendente, no en cuenta regresiva, por lo que el programa que hemos creado lo que hace es invertir la cuenta del DS1307. La precisión en el tiempo máximo que podemos programar (99:59:00) es absolutamente exacto.
La comunicación del pic 16F873A con el circuito integrado DS1307 la realizamos mediante un bus bidireccional I2c con las puertos RC6 y RC7 del microcontrolador a los pines 5 y 6 del integrado DS1307. La visualización se realiza mediante un display lcd de 2x16. Cualquier display con un controlador Hitachi HD44780 o compatible, Datasheet del controlador Hitachi HD44780, será válido para la visualización.
Tenemos conectado al pin 16 del pic una resistencia, y a ésta un transistor, que excitará un buzzer que funciona cuando ponemos en sus extremos un voltaje de 5 voltios (si no podéis conseguir uno de 5V, también vale uno de 6V). El trimmer de 1K sirve para reducir el volumen del buzzer, si resulta excesivo.
El circuito se alimenta con 5 voltios de corriente continua y su consumo no supera los 50mA.
El esquema eléctrico.
Ajustes:
En esta primera pantalla ajustamos las horas y los minutos de la cuenta regresiva.
El contador regresivo funcionando y contando hasta 00:00:00
Si queremos detener la cuenta lo podemos hacer mediante una presión en S2, la cuenta atrás se detiene pero no podemos reanudar la cuenta desde ese punto.
Una vez que la cuenta alcance 00:00:00 el buzzer comienza a sonar y la cuenta atrás pasa a ser cuenta adelante, hasta que la detengamos mediante una pulsación en S2, en ese momento el buzzer dejará de sonar.
En la memoria no volátil del pic quedará grabada la última cuenta atrás. Tanto si detenemos la cuenta como si desconectamos el circuito, cuando volvamos a dar tensión, aparecerá en la primera pantalla "SET" la última cuenta atrás.
La clave para desconprimir el archivo adjunto es www.kemisa.es
Si no sabes programar microntroladores pincha aquí.