Vamos usar las salidas digitales con ATtiny para hacer parpadear un LED, y vamos a ver cómo de parecido es programar para ATtiny que para Arduino.

Diferentes modelos de ATtiny

Existen múltiples versiones de tinyAVR o ATtiny, siendo las versiones más comunes ATtiny45, ATtiny85, ATtiny44 y ATtiny84. Los ATtiny4x tienen 4kB de memoria flash, mientras que los ATtiny8x tienen 8kB. Los ATtinyx5 tienen 6 pines de entrada/salida de propósito general y los ATtinyx4 tienen 12.

ATtiny85/45 es el más pequeño, su encapsulado PDIP solo tiene 8 pines. Dos de los pines son de alimentación y tierra, cinco disponibles para que los usemos como pines digitales, entradas analógicas o salidas PWM, y uno de reset que podemos anular y utilizar como los demás.

ATtiny84/44 es un poco más grande, su encapsulado PDIP tiene 14 pines. Dos de ellos son alimentación y tierra, mientras el resto los podemos utilizar como pines digitales, analógicos y PWM, también con uno de reset anulable.

Ambos funcionan con un voltaje de 2,7 a 5,5V y pueden funcionar con su reloj interno a 1 u 8 MHz, aunque podemos hacerlos funcionar a hasta 20 MHz conectándoles un cristal externo.

Qué vamos a utilizar

En este tutorial vamos a utilizar la versión de Atmel tinyAVR: ATtiny85.

¡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.)

LED de 5mm rojo difuso (Pack de 10)

1,00 (0,83 IVA excl.)

Portapilas de 2 pilas AAA de Pololu

1,20 (0,99 IVA excl.)

Conecta el circuito

Vamos a conectar un LED con su respectiva resistencia al pin digital 4 de nuestro ATtiny85. Recordemos en la imagen el pinout del ATtiny85.

En verde están marcados todos los pines digitales, en rojo el pin digital 4 que es el que usamos en este ejemplo. Nota que el pin digital 5 está compartido con RESET, por lo que no podremos usarlo como pin digital ya que lo necesitamos para resetear nuestro ATtiny y reprogramarlo.

Podemos utilizar nuestra placa Arduino como programador de ATtiny o un programador de AVR como el Programador AVR de Pololu v2. Yo voy a utilizar mi placa Arduino, que es lo que casi seguro que tenemos todos, pero cuando trabajo con ATtiny para mí, lo más cómodo es el programador. Además de las conexiones del programador, tal y como se explica en el tutorial Utiliza tu placa Arduino como programador para ATtiny.

Programa el sketch

Para hacer parpadear el LED, podemos hacerlo como con cualquier Arduino, así que el siguiente sketch no te sonará raro (si no lo comprendes, echa un vistazo a nuestro tutorial de Arduino yLEDs).

Antes de subirlo al ATtiny, asegúrate de que has hecho todos los pasos en Arduino IDE para poder programarlo: Utiliza tu placa Arduino como programador de ATtiny. Incluso si utilizas programador, los pasos a seguir son los mismos, solo cambian las conexiones y el modelo del programador.

Sube el sketch y, cuando termine la programación, el LED estará parpadeando.

Elimina lo innecesario

La gracia de usar un ATtiny es no necesitar una placa Arduino, así que muy probablemente queramos quitarla.

Además de para programar el ATtiny, la placa Arduino nos sirve para alimentarlo, así que, si la quitamos, vamos a necesitar alimentar el ATtiny con otra fuente de alimentación. Los ATtiny funcionan con voltajes desde los 2,7V hasta los 5,5V. ¡No conectes una fuente de más de 5,5V al ATtiny! Algunas fuentes posibles son:

  • Baterías
    • 2 pilas AA en serie de 1,5V cada una (3V en total).
    • Una pila de botón de 3V.
    • Una pila de petaca de 4,5V (que es lo mismo que 3 pilas AA en serie).
    • Una batería de litio de 3,7V.
  • Alimentación permanente
    • Adaptador de corriente USB como el cargador de un móvil (tendrás que sacar los cables de alimentación con un conector como este).
    • Otro adaptador de corriente entre 2,7 y 5,5V.

Si quieres utilizar fuentes de alimentación con voltajes más altos, como una pila de 9V, necesitarás un regulador de tensión que reduzca ese voltaje hasta 5V.

Quitando la placa Arduino o el programador, nuestro circuito puede quedar tan simple como el siguiente:

Deja un comentario