sábado, 23 de agosto de 2014

Arduino Leonardo ISP

Un uso muy interesante del Arduino UNO es como ISP (in system programmer), es decir, programador de chips . Existe mucha información en la web al respecto.

Sin embargo, si en lugar del UNO tenemos el Leonardo, debemos hacer algunos "ajustes" para poder utilizarlo como ISP.

El enlace de PeterVH suministra la información requerida.

Un resumen del procedimiento sería:
  • Cargar en el  IDE el programa ArduinoISP y modificar las líneas
                    #define RESET     SS
                    #define LED_HB    9
             por 
                   #define RESET       10
                   #define LED_HB    13
  • Grabar el programa en el Leonardo
  • Crear un nuevo subdirectorio llamado leofix dentro del directorio hardware del IDE (..\hardware\leofix)
  • Crear un archivo txt dentro de este directorio llamado programmers.txt  con el siguiente contenido:
  • Al invocar de nuevo el IDE tendremos en el menú Herramientas/Programador una nueva opción, la que hemos creado en el apartado anterior.
  • Lo recomendable es utilizar el conector ICSP de seis pines para conectar el Leonardo con el chip al cual se le desea grabar el programa. Los pines a usar son :
    • Pin 1 MISO (Superior izquierdo)
    • Pin 2 Vcc
    • Pin 3 Sck
    • Pin 4 MOSI
    • Pin 6 Gnd
    • El Pin 5 (Reset) no se utiliza. En su lugar usamos el puerto 10 del Leonardo conectado con el pin de Reset del chip a programar
  • Una vez hecha la conexión entre el Leonardo y el chip  seleccionamos en el IDE la tarjeta correspondiente a este último y procedemos a grabar el programa (opción Archivo/Cargar programa usando programador ) o inclusive grabar  el bootloader ( Herramientas/Grabar secuencia de inicio)
En la imagen podemos ver un ejemplo de Leonardo programando un Attiny45





No hay comentarios:

Publicar un comentario