Usar Arduino como programador 6


El pasado 28 de junio hicimos un taller de iniciación a la soldadura de estaño en el HacklabAlmería. Y como siempre… nos fuimos de tiempo.

Si bien la mayoría de las placas quedaron soldadas, el avrdude se nos resistió un poco (era nuestra primera vez con el) y nos costó programar el primer chip. Una vez dimos con la tecla (de vez en cuando está bien acudir a los FAQs), los demás fueron como la seda… menos mal que encontramos una sombra, porque lo rematamos en la puerta del instituto donde hicimos el taller.

El programa quedó cargado, …. pero los fuses no quedaron configurados (lo siento chicos) y es por eso que quiero compartir este mini tutorial para que todos los que se llevaron la placa a su casa y tengan un arduino uno (¿quién no tiene un arduino todavía?) pueda programar su chip.

La cosa es sencilla:

1.- Instalar el IDE de arduino (sudo apt-get install arduino para los ubunteros).
2.- Abrir el IDE de Arduino y Archivo -> ejemplos -> ArduinoISP
3.- Seleccionar la placa (Arduino Uno), el puerto serie al que esté conectado y cargar el sketch. Es hora de cerrar el IDE de Arduino, nosotros hemos terminado con él (Aunque se podría compilar programas y cargarlos a través del IDE).
4.- Conectar el arduino al Attiny de esta manera:

El condensador es de 10uF , lo podéis encontrar en tiendas de electrónica por céntimos o reciclarlo de cualquier aparato que tengáis roto por casa.

5.- Abrir la consola de vuestro sistema y utilizar el Avrdude (se instala el solito junto al IDE Arduino, si no es vuestro caso pues ya sabéis: sudo apt-get install avrdude). Para ello especificamos que utilice nuestra placa Arduino como si de un programador fuera (-c avrisp), le indicamos el puerto al que está conectado (-P /dev/ttyACM0), el “baudrate” o velocidad con la que se comunicará con el (-b 19200), el chip a programar, en nuestro caso un Attiny85 (-p t85) y por último el programa o configuración a cargar. Ojo, yo necesito ejecutarlo con permisos de administrador (sudo). Para los asistentes al taller, necesitan escribir algo similar a esto:

sudo avrdude -c avrisp -P /dev/ttyACM0 -b 19200 -p t85 -U lfuse:w:0xfd:m -U hfuse:w:0xde:m

/dev/ttyACM0 es el puerto en el que está conectado mi Arduino. En cada caso podéis saberlo, por ejemplo desde el IDE de Arduino en Herramientas -> Puerto serial

Voilá, ya habéis programado los fuses para que use el resonador externo y vaya a 8Mhz.

Para volver a cargar el programa, otra versión o cualquier cosa el comando sería algo así:

sudo avrdude -c avrisp -P /dev/ttyACM0 -b 19200 -p t85 -U flash:w:eu_tvbg.hex:i

podéis descargaros este fichero aqui. Es un código que incorpora “looping”, es decir, una vez que pulsáis el botón no para hasta que desconectáis la batería y además está modificado con códigos de televisiones europeas (incorpora algunos extras)

Y bueno, de aquí a la luna, os vale para cualquier otro micro y cualquier otro programa.


Responder a Umbroide Cooper Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

6 ideas sobre “Usar Arduino como programador