A diferencia de nuestro Arduino habitual, los ATtiny no tienen puerto USB con el que conectarlos al ordenador para programarlos. Tampoco tienen un bootloader pregrabado que nos facilite la tarea de subir un sketch. Para ello necesitamos un programador. Por suerte, ¡podemos configurar nuestro Arduino UNO para programar los ATtiny!

Nota: Son muchas las placas Arduino pueden utilizarse para programar los ATtiny, en este tutorial vamos a utilizar Arduino UNO, pero puedes portar los contenidos a tu placa particular.

Qué vamos a usar

¡Oferta!
Sin stock

Arduino UNO Rev. 3 SMD

22,99 22,50 (18,60 IVA excl.)

ATtiny85 – Microcontrolador Atmel tinyAVR

2,30 (1,90 IVA excl.)

Breadboard 400 puntos

2,70 (2,23 IVA excl.)

Cables Jumper Dupont 20cm Macho-Macho para prototipar (Pack de 20)

1,20 (0,99 IVA excl.)

Configuración de Arduino UNO como ISP (In-System Programming)

Lo primero que tenemos que hacer para poder utilizar nuestro Arduino como programador es grabarle el sketch para que se comporte como tal. Para ello, conectamos nuestro Arduino y abrimos Arduino IDE. El sketch que necesitamos se encuentra en los ejemplos de Arduino IDE, y lo podemos encontrar en Archivo > Ejemplos > 11.ArduinoISP > ArduinoISP.

Pulsamos subir y ya tenemos programado nuestro Arduino. Recuerda elegir la placa y el puerto en Herramientas > Placa y Herramientas > Puerto.

Añadiendo soporte para ATtiny en Arduino IDE

Cuando programamos una placa Arduino o compatible, tenemos que seleccionarla en el menú Herramientas > Placa donde se abre una lista de placas que podemos programar. Si echas un vistazo en tu Arduino IDE, no encontrarás el ATtiny entre ellas.

Para añadir soporte para ATtiny en Arduino IDE, tenemos que ir al menú Archivo > Preferencias, y en Gestor de URLs Adicionales de Tarjetas pegamos la siguiente URL:

https://github.com/damellis/attiny/raw/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

 

Si tenemos más URLs de otras tarjetas, podemos cliquear en el botón junto al cuadro de texto, se nos expandirá, y ahí podemos añadir una URL por cada línea.

Esta URL contiene información sobre los paquetes necesarios para instalar soporte para los ATtiny en Arduino IDE, pero no instala el software necesario. Para hacerlo, vamos al menú Herramientas > Placa > Gestor de tarjetas… y, en el diálogo que aparece y después de dejar que cargue toda la información, buscamos en la lista attiny by David A. Mellis y le damos a instalar.

Mientras se instala el software necesario, vamos a conectar nuestro chip ATtiny85 y Arduino UNO.

Conexión del ATtiny con Arduino UNO

Para programar un ATtiny necesitamos realizar las siguientes conexiones:

UNO5VGNDPin 13 (SCK)Pin 12 (MISO)Pin 11 (MOSI)Pin 10
MEGA25605VGNDPin 52 (SCK)Pin 50 (MISO)Pin 51 (MOSI)Pin 53
ATtiny85VCCGNDPB 2 (USCK)PB 1 (MISO)PB 0 (MOSI)PB 5 (RESET)
ATtiny84VCCGNDPA 4 (USCK)PA 5 (MISO)PA 6 (MOSI)PB 3 (RESET)

Adáptalo según tu placa Arduino y tu chip ATtiny. Yo estoy usando una placa Arduino UNO y un ATtiny85.

 

Conecta ATtiny85 a tu Arduino/Genuino UNO

Los pines 13 al 11 de Arduino UNO corresponden al puerto SPI del ATmega328P, que se conectan los pines SPI del ATtiny, mientras que el pin 10 se utiliza para activar el RESET de ATtiny. Los LEDs son opcionales y sirven para darnos informacion del estado de la programación. Todo lo relacionado con los LEDs puedes no conectarlo ahora y, si tienes problemas, conectarlos más adelante para depurarlos.

Algunas placas requieren un condensador de 10uF entre el pin RESET y GND de tu placa Arduino. Si tienes problemas, prueba a añadirlo a tu circuito.

Configuración inicial de ATtiny

Lo primero que vamos a hacer es, en Arduino IDE, ir a Herramientas > Placa y buscar ATtiny.

Hay muchos modelos de ATtiny, lo siguiente que vamos a hacer es seleccionar el procesador que tenemos. En Arduino IDE, en el menú Herramientas > Procesador seleccionamos ATtiny85. Selecciona la versión de ATtiny que estés utilizando.

Por defecto, ATtiny corre a 1 MHz, pero podemos subir esta velocidad de procesamiento a 8 MHz para acelerar nuestros sketches. Si utilizamos un cristal externo, podemos hacerlo funcionar hasta a 20 MHz, pero nos ocupará 2 pines más de los pocos que tenemos y por ahora no necesitamos tanta frecuencia de reloj.

En el menú Herramientas > Clock selecciona 1MHz (internal) o 8 MHz (internal).

¡Asegúrate de elegir el reloj interno! Si programas un ATtiny seleccionando un reloj externo, no podrás volver a cambiarlo sin añadir un cristal externo para reprogramarlo.

Ahora, como con otras placas Arduino, selecciona el puerto al que tienes conectado tu placa Arduino (el programador).

Por último tenemos que seleccionar el tipo de programador que vamos a usar en Arduino IDE. En el menú Herramientas > Programador elegimos Arduino as ISP. No es lo mismo ArduinoISP (un programador de la marca Arduino) y Arduino as ISP (una placa Arduino programada como programador ISP), asegúrate de elegir esta última.

¡Ya está todo configurado! Ahora hay que guardar la configuración en el ATtiny. Para ello, en el menú Herramientas seleccionamos Quemar bootloader.

Y en unos segundos deberíamos tener confirmación de que el bootloader se ha grabado correctamente.

¡Ya podemos subir nuestro primer sketch!

Deja un comentario