Programador de ATmega16 en Arduino

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!

🙂

 

Tags: , , , , ,

  • gringo

    Muy buena tu idea de hacer un programador de atmega16 para Arduino, la verdad que a mi me resulta bastante útil. 
    Una pregunta, debo modificar en alguna manera el archivo HEX? (estoy usando winarv para compilar) y como cargo el archivo si estoy usando Hyperterminal?
    gracias

  • http://bio.sejomagno.org José M. Vega-Cebrián

    ¡Hola!
    Según yo no tendrías que cambiar el HEX, el programa maneja el formato más general. Si notaras que no se está programando bien avísame para revisarlo.
    No uso Hyperterminal, pero creo que hay una función de “Enviar archivo de texto”, esa tal cual es la que necesitas. En el peor de los casos puedes abrir el archivo HEX con un editor de texto, copiarlo, y pegarlo en Hyperterminal. Es importante que configures 2 Stop Bits en la comunicación para que el Arduino no se sature.

    Cuéntame cómo te va
    ¡Saludos!

  • UART-SPI

    Hola.
    En El Archivo Dice Que Este Funciona Si El ATMEGA16, Tiene El Reloj Interno A 1 MHz. El ATMEG16 Viene Así Por Defecto O Hay Que Modificar Los Fuses? Si Es Así, Cómo Y Con Qué Puedo Modificar Los Fuses Del ATMEGA16???
    Muchas Gracias!!