En este momento estás viendo Como programar un ATTiny85 con el programador USBTinyISP

Como programar un ATTiny85 con el programador USBTinyISP

Muchas de las placas Arduino vienen equipadas con un microcontrolador de la familia AVR® fabricado por Atmel®, por ejemplo la placa Arduino UNO usa un ATmega328P. y la placa Arduino Mega usa un  ATmega2560.

En este tutorial veremos cómo programar un microcontrolador ATtiny85, ATtiny44 o ATtiny84 utilizando el software Arduino. Estos son microcontroladores pequeños y baratos ( 2-3 €) que son convenientes para ejecutar programas simples. El ATtiny45 y el ATtiny85 tienen ocho patas y son casi idénticos, excepto que el ATtiny85 tiene el doble de memoria que el ATtiny45 y, por lo tanto, puede contener programas más complejos. El ATtiny44 y el ATtiny84 tienen 14 patas y más entradas y salidas.

En algunos de nuestros proyectos muchas veces usamos solo unos pocos pines de entrada y salida, y  para no ocupar una placa  Arduino por solo unos pocos pines, nos puede venir bien usar un microcontrolador Atmel de 6 u 8 pines, en este post aprenderás cómo programar un ATTiny85 usando el IDE de Arduino y el programador USBTinyISP.

El microcontrolador ATTiny85

Los microcontroladores Atmel® tinyAVR® ofrecen una combinación de  tamaño reducido, potencia de procesamiento y rendimiento analógico muy interesante.  El  ATTiny85 es un microcontrolador de 8 bits muy popular y versátil y tiene solamente 8 pines.

En la siguiente tabla podemos ver la lista de parámetros del microcontrolador. Donde podemos resaltar los 8kB de memoria flash para guardar nuestro programa,  512 bytes de memoria RAM, un voltaje de operación de hasta 5,5V, 2 timers e incluso PWM.

Y en la siguiente imagen podemos ver el pinout, y como podremos notar muchos pines son multifunción.

El programador USBTinyISP

El programador USBTinyISP nos permite programar los microcontroladores ATtiny25/45/85 y ATtiny24/44/84 de Atmel. Es una dispositivo muy económico y fácil de usar.  Si no contamos con este dispositivo podemos usar una placa Arduino como programador.

Para que el USBtinyISP funcione en windows 7 64 bits, es necesario instalar un driver. El driver que use es el de https://mightyohm.com/blog/2010/09/fixed-usbtinyisp-drivers-for-64-bit-windows-7/ , luego en el administrador de dispositivos seleccionas el dispositivo que tiene un signo de exclamación y luego seleccionas actualizar controlador, luego seleccionas la direccion de las carpeta donde previamente descomprimistes el driver descargado y te reconocera el dispocitivo como USBTiny.

Configurar el IDE de Arduino para programar ATTiny

  1. Seleccionamos «Archivos/preferencias» en el IDE de Arduino.
  2. Encontramos el campo  “Gestor de URLs adicionales de tarjetas» .
  3. Pegamos la siguiente URL en el campo (usaremos una coma si hay alguna otra URL en la lista):
    https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
  4. Clic OK para guardar.
  5. Seleccionamos «Herramientas/Placa/Gestor de tarjetas» y escribimos attiny en el campo de busqueda.
  6. Luego hacemos clic en ATTiny by David A. Mellis y seleccionamos instalar.
  7. Culminada la instalación seleccionamos cerrar.

Ahora podremos seleccionar en «Herramientas/placas» ATtiny25/45/85, y luego seleccionar en «processador» el ATtiny85 para luego en «Clock» seleccionar la frecuencia de reloj internal 16MHz .

Conexión del ATtiny85 con el USBTinyISP

Debemos conectar todos los pines del programador al ATtiny85 conectando MISO, MOSI, SCK, RESET, VCC y GND del programador a los pines correspondientes en el ATtiny. Siguiendo el siguiente diagrama:

Programar el ATTiny85 con el programador USBTinyISP

Antes de programar el microntrolador es necesario configurar la frecuencia interna de reloj generada por  el microcontrolador, para que sea igual a 16MHz, esto se hace a través de unos «Fuse», que son bits de configuración del microntrolador. La forma más fácil de hacerlo es quemando el bootloader en el micro. Para hacerlo realizaremos los siguientes pasos:

  1. Seleccionar en «Herramientas/placas» ATtiny25/45/85, y luego seleccionar en «processador» el ATtiny85 para luego en «Clock» seleccionar la frecuencia de reloj internal 16MHz .
  2. Seleccionar en Herramientas/Programador USBTinyISP
  3. Seleccionar en Herramientas QuemarBootloader

Y eso es todo, estamos listos para subir un programa al micro. Esto debemos hacerlo una sola vez, ya que los «fuses» no cambian a menos que los modifiquemos explícitamente.

Para subir un programa al ATtiny85 realizaremos los siguientes pasos:

  1. Abrimos en Archivo/Ejemplos/01.Basics el sketch Blink
  2. Cambiaremos LED_BUILTIN por 4, en las instrucciones pinMode y digitalWrite
  3. Subir

Ahora si conectamos un led al pin numero 3 (PB4) del micro, este deberia parpadear. Y ya solo necesitamos conectar el micro a 5V para que funcione, recordemos que tiene un generador de señal de reloj interno, por lo que no necesita un cristal como oscilador.

Attiny85

Espero que te alla sido de utilidad este post y te anime a seguir progresando con tus habilidades de programación y electrónica. Hasta la próxima.

Deja una respuesta