Para continuar con la publicacion de proyectos didacticos enfocados al uso del microcontrolador ATMEGA de AVR, en esta ocasion se presenta este sencillo proyecto: un relog digital.
Descripcion. Este proyecto esta diseñado para funcionar como reloj simple, es decir muestra la hora en 4 displays (88:88), dos para las Horas y dos para los Minutos. El formato en que se muestran es de doce horas, pudiendo cambiar a formato de 24 horas, esto via software . Ademas cuenta con dos pulsadores para el ajuste de horas y minutos, y dos leds indican si la hora que se muestra es AM o PM.
Todo esto manejado por un microcontrolador ATMEGA8 o ATMEGA88, se hace notar que este proyecto NO funciona para ATMEGA48 o ATMEGA88pa.
El micro se programa usando una funcion del BASCOM para el manejo de tiempo real y para mostrar la hora se hace por medio de los 4 displays por un solo puerto digital utilizando la tecnica del Multiplexeo, lo que hace que sea posible manejar los 29 pines de los displays con tan solo 12 lineas del micro.
Hardware. Basicamente el circuito usado se compone de pocos elementos:
1 microcontrolador ATMEGA8 / 88 : encargado de llevar el tiempo real, por medio del sofware y un cristal externo, y ademas el micro debe manejar el envio de la informacion hacia los 4 display. Tambien el micro maneja dos interrupciones externas, dos pulsadores, con las que se ajustan los Minutos y las Horas.
1 cristal de 32768 hertz : oscilador externo para la sincronizacion de las operaciones y manejo del tiempo real por parte de el micro, se utiliza esta frecuencia porque esta es la requerida por la funcion del BASCOM.
1 display cuadruple o 4 displays individuales: En el caso del montaje que se presenta se utiliza un display cuadruple modelo NFD-5643 catodo comun.
10 resistores de 330 ohmios: Limitan el brillo de los display y leds.
3 resistores de 10k: 2 como pull-up para los pulsadores y una el reset del micro.
2 leds: para la indicacion de AM o PM.
2 pulsadores: normalmente abiertos, de tipo miniatura, el ajuste de Horas y Minutos.
En la imagen siguiente se muestra el circuito completo del proyecto:
Software: El programa de control para el microcontrolador se encarga de llevar el tiempo real, cargar ciertas variables con el valor de las Horas y Minutos, esto por medio de una funcion especial de BASCOM-AVR:
Config Clock = Soft
Esta funcion sirve para configurar el timer 1 para funcionar como un temperorizador en tiempo real, simcronizado por software mediante el crystal externo de 32678 hrz.
Ademas el programa se encarga de desplegar el valor de las variables Horas y Minutos en 4 displays, esto usando la tecnica del multiplexeo.
El codigo completo puede ser descargado desde el widget BOX de la barra lateral izquierda, bajo el nombre de : “relog_simple_wpress.bas”
A continuacion se muestran unas images del ensamble en breadboard del proyecto.
….Let Your Geek Shine ¡¡¡
…and … RTFM ¡¡¡¡¡
Archivado bajo: 1, PROYECTOS AVR | 1 comentario







, el sistema de frenos ABS, un sistema de posicionamiento GPS, el sistema de vigilancia del hogar; todos estos dispositivos electrónicos tienen algo en común, usan un microcontrolador como unidad central de proceso. El microcontrolador es una pieza importante dentro del diseño electrónico de sistemas embebidos, y cada vez mas se populariza su uso dentro de profesionales y aficionados de la electrónica. El mercado de los microcontroladores esta invadido por decenas de fabricantes, cada uno ofreciendo microcontroladores cada vez mas poderosos, pero dentro de todo esta oferta se encuentran dos fabricantes y es especial dos familias de microcontroladores que pujan por el domino del mercado de los diseñadores de sistemas y de los aficionados y aun estudiantes que utilizan los microcontroladores en diversos diseños ya sea para uso personal o académico.

















Como primer circuito con los microcontroladores AVR, se presenta en esta ocasion un termometro basado en el ATmega48 de ATMEL. Este uC posee 4Kb de Flash, un oscilador inteno de hasta 10Mhz, 6 ADCs, 23 pines I/O y mas.
termometro es el ATmega48 que lee la salida analoga de un sensor de temperatura, esta lectura es procesada y desplegada en los displays (XXC) , ademas el uC detecta si la temperatura sensada es mayor a un valor preestablecido activando una salida digital y haciendo sonar un Beep en un buzzer. El circuito funciona con 5Vdc con un consumo alrededor de los 400mA, los que bien pueden conseguirse por medio de una bateria de 9v y un regulador 78l05.
grado Celsius, osea, para una temperatura de 30ºC la salida del sensor entrega un voltaje de 300mVdc. Es esta salida la que se conecta a la entrada de un canal ADC del ATmega48, el cual se programa para tomar la lectura en milivoltios y transformarla a su representacion digital y mostrar la temperatura en tres display (decenas-unidades-letra); ademas el programa activa una alarma (led y buzzer) cuando la
temperatura sobrepasa un limite previamente establecido. El desempeño del circuito ha resultado satisfactorio, la temperatura mostrara es la correcta y activa el aviso (beep beep beep) al momento de aumentar sobre el limite. Ver video al final de la nota.













































