lunes, 6 de octubre de 2014

Programando un ATtiny45 y 85

El otro día compré un microcontrolador ATtiny 45 y otro 85 para probar a hacer alguna cosa. Voy a explicar los pasos para programarlo teniendo un Arduino (en mi caso he usado un nano v3).

El patillaje es el siguiente:


  • VCC -> 5V
  • GND -> Negativo
  • Y las patillas 2, 3, 5, 6 y 7 las podemos usar para "jugar" con él.


La conexión para la programación es bastante simple:


Arduino Nano
ATtiny45/85
+5V
VCC (patilla 8)
GND
GND (patilla 4)
Pin 10
Reset (patilla 1)
Pin 11
Pin 0 (patilla 5)
Pin 12
Pin 1 (patilla 6)
Pin 13
Pin 2 (patilla 7)

Un par de consideraciones a tener en cuenta:

  • Es necesario para usar como programador un Arduino que tenga un ATmega328, no vale el ATmega168.
  • Si tenemos un Arduino UNO es necesario poner un condesador de 10uF entre el Reset y el GND del UNO.

La gracia de estos microcontroladores es que no necesitan un reloj externo, por lo que es más fácil empezar a jugar con ellos.

Lo siguiente es preparar el IDE de Arduino. Para descargamos las librerías para los ATtiny (arduino-tiny) https://code.google.com/p/arduino-tiny/

Y ahora tenemos dos opciones para instalarla:

  • La primera es en nuestra carpeta sketchbook. Creamos una carpeta dentro de esta con el nombre hardware y descomprimimos el contenido. Nos debería quedar algo así: sketchbook/hardware/tiny/
  • La segunda opción es buscar la carpeta hardware dentro de la instalación de Arduino y descomprimirlo ahí.
Lo siguiente es renombrar el archivo de placas. Lo más sencillo es cambiar el nombre de "Prospective Boards.txt" a "Boards.txt", pero si quieres personalizar las tarjetas que te salen en el menú del IDE, debes crear un archivo "Boards.txt" y pegar las que te interesen desde el archivo "Prospective Boards.txt".

Una vez hecho esto, arrancamos nuestro entorno de Arduino y procedemos a cargar el ArduinoISP, para que nuestro Arduino maestro sirvan como cargador para el ATtiny. Para ello abrimos "Archivo -> Ejemplos -> ArduinoISP". 
Ahora en "Herramientas -> Tarjeta" seleccionamos el modelo de nuestro Arduino (en mi caso el Nano v.3 ATmega328) y cargamos el sketch.

Ahora vamos a programar nuestro ATtiny con el famoso sketch "blink". 
Abrimos "Archivo -> Ejemplos -> Basics -> Blink". Seleccionamos la tarjeta del ATtiny, que en mi caso es un "ATtiny45 @ 8Mhz". Si queremos una frecuencia mayor debemos instalar un reloj externo (pero creo que ya pierde toda la gracia...).
En "Herramientas -> Programador" seleccionamos "Arduino as ISP".
Un último detalle, el pin 13 debemos cambiarlo por el 0 (que el ATtiny no tiene tantos pines).
Cargamos el "sketch" normalmente y nos saldrán un par de avisos como este:



No debemos preocuparnos, podemos omitirlos. :P

Ahora ya sólo nos queda conectar un LED con una resistencia al Pin 0 (patilla 5) y GND, como en la siguiente imagen (debemos mantener la alimentación a través del otro Arduino o una fuente externa, como queramos):



Un saludo!


Fuentes:


No hay comentarios:

Publicar un comentario