Programar un ATtiny85 con Arduino UNO

Si estás metido en el mundillo Maker seguro que conoces Arduino y Raspberry Pi pero, para algunos proyectos, ambas placas son demasiado grandes o tienen funcionalidades que no vamos a usar. Para este tipo de proyectos podemos usar un microcontrolador ATtiny85, también conocido como “el pequeño Arduino”. Este microcontrolador tiene 8 pines en total, 2 de alimentación, 1 de reset y 5 de entrada/salida (2 de ellas con PWM).

El ATtiny85 esta muy limitado ya que solo posee 8Kb de memoria de programa, 512 Bytes de EEPROM y 512 Bytes de SRAM, además su reloj funciona a una velocidad de 1/8MHz (ampliable a 20MHz con cristal externo), pero nos vendrá de perlas para esos pequeños proyectos donde hasta el Arduino Micro es demasiado grande.

En este artículo veremos como programar un ATtiny85 con Arduino UNO, sin necesidad de un programador AVR externo.

Preparando el IDE de Arduino

En primer lugar abrimos el IDE de Arduino y vamos a instalar ciertos recursos para que reconozca los ATtiny85, para ello nos vamos a Archivo >> Preferencias y abrimos Aditional Boards Manager URLs.

attiny_paso1

En la ventana que se abre escribimos esto: https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json y le damos a OK.

A continuación vamos a Herramientas >> Placa >> Boards Manager y en la barra de búsqueda escribimos “ATtiny”, cuando nos aparezca en pantalla le damos a INSTALAR.

attiny_paso2

Ahora ya podemos volver a Herramientas >> Placa y seleccionar ATtiny. Fijaros en la imagen como esta configurado el IDE de Arduino para grabar un ATtiny85:
attiny85_ide_ardu

  • Placa: ATtiny
  • Procesador:ATtiny85
  • Clock: 1MHz o 8MHz (Internal) <-- SIEMPRE INTERNAL SI NO USAIS CRISTAL EXTERNO
  • Programador: Arduino as ISP

Y con esto ya tenemos el IDE listo, vamos a ver como preparar el Arduino para grabar un ATtiny85.

Configurar el Arduino UNO como ISP

Para configurar el Arduino UNO como ISP (In-System Programmer) tan solo tenemos que subirle un pequeño programa que esta en la galería de ejemplos del IDE de Arduino. Cargamos ese ejemplo y lo subimos al Arduino y con esto ya esta preparado, que fácil, no?.

arduno_as_isp

Conectando el ATtiny85 y el Arduino UNO

Para conectar el ATtiny85 al Arduino podemos usar este esquema como referencia. Si queréis obtener información mientras el Arduino UNO funciona como un programador ISP, podéis conectar tres leds a los pines 9 (POWER), 8 (ERROR) y 7 (PROGRAMACIÓN). El led de POWER indica que la placa está funcionado, el de ERROR se encenderá cuando exista algún problema y el led de PROGRAMACIÓN nos indicará cuando se está programando el ATtiny85.

programar_attiny85_con_arduino_uno_fritz

LED BLINK con ATtiny85

Ahora ya lo tenemos todo listo para escribir nuestro primer programa en el ATtiny85. Vamos a probar lo mas básico para empezar cargando el ejemplo BLINK del IDE de Arduino, pero como no trabajamos con un Arduino sino con un ATtiny85 vamos a tener que cambiar el número de los pines en nuestro código. Podéis usar esta imagen como referencia, en AZUL tenéis el número de cada pin.

En el código de ejemplo que hay a continuación se ha cambiado el pin 13 del Arduino por el pin 0 del ATtiny85.

attiny85_pinout

Ejemplo Blink con ATtiny85

blink_attiny85_ejemplo

3,50 (IVA Inc.)
 

[Total:0    Promedio:0/5]
Compartir en redes sociales: