Programador de ATmega16 en Arduino

Saturday, January 7th, 2012

Después de buscar sin resultados durante la semana un ATmega16, ayer viernes lo compré para poder probar este proyecto…

El código se descarga de la siguiente dirección y ahí trae documentación sobre cómo usarlo y cómo funciona.

ATmega16_programmer

En resumen es un programador en Arduino para el microcontrolador ATmega16 usando SPI.

😀

Una foto de mi setup de pruebas donde trata de apreciarse lo sencillo del sistema:

Desde que llevé Microcontroladores (TE2023) me surgió con Dante la inquietud de hacer un programador, en ese entonces para un 8051. De proyecto final terminé haciendo más bien un ensamblador del lenguaje ensamblador de ese micro (veo que no lo he subido por acá), pero bueno, siguió la idea.

El semestre pasado la materia cambió a usar el ATmega16, y bueno, en estos días pensé que estaría bien hacer un programador en Arduino porque es una herramienta que se ha hecho popular y ubicua. Así los nuevos alumnos de la materia, en vez de usar el TopMax del laboratorio o de comprar un programador propio, pueden usar la tarjeta Arduino que probablemente ya tengan.

El lunes programé las funciones de SPI, dejé pausado el proyecto hasta tener un micro donde probarlo, y ya que el viernes lo conseguí, escribí el parseo de los archivos HEX. Ahorita estuve asegurándome de que funcionara bien (escribiéndole al micro archivos HEX que tengo por aquí y revisando la memoria de programa), escribiendo la documentación que está en el código, y agregándole la licencia de Software Libre (¡los invito a mejorarlo!).

No sé (todavía) escribir código para ese microcontrolador, así que agradeceré que me avisen cuando le pongan un programa funcional usando esta herramienta.

¡Feliz inicio de semestre!

🙂

 

Árbol de Navidad con displays de 7 segmentos

Wednesday, December 21st, 2011

http://www.youtube.com/watch?v=7SR2s0dW_-M

Hace como dos semanas tuve la idea pero apenas estos días pude llevarla a cabo.

El lunes compré los materiales y hoy acabé, la verdad es que el sistema es muy simple pero armarlo fue más talachudo de lo que pensé.

El circuito consiste en 15 displays de 7 (8) segmentos de cátodo común. Los cátodos de cada lámpara van a un decodificador de 4 a 16, y todos los ánodos están en mismos nodos. Así, se requieren 12 líneas para controlar: 4 para seleccionar la lámpara a encender, y 8 para encender o apagar cada segmento o punto.

El algoritmo de control no es novedad: cada cierto tiempo se selecciona una lámpara y se colocan los valores de encendido / apagado que se desean para esa lámpara, así una por una. Esto se hace a una velocidad tal que para el ojo humano parece que todas están encendidas al mismo tiempo.

Adjunto un archivo que sirve como plantilla para controlar el árbol con un Arduino Uno. Si alguien quisiera probar alguna animación / patrón, puede modificarla y enviármela para que lo pruebe

😛

SevenSeg_XmasTree_Layout