Actualizado: 20 Mayo 2022
Los chips ATtiny son una familia de microcontroladores que existen desde 1999 (producidos originalmente por la empresa Atmel Corporation y ahora por la empresa Microchip Technology Inc). El chip tipo DIPDual inline package: un chip con dos filas de patas paralelas - perfecto para montar en un una protoboard :) ATtiny85 se comercializó en 2005. Su popularidad es debida a su precio muy asequible, su fiabilidad y bajo consumo.
Las desventajas del ATtiny comparado al ATMega328 o Arduino son: menor memoria, menos pines, menos posibilidades arquitecturales y (con la configuración por defecto) la lentitud comparativa de su reloj interno. Tampoco permite comunicación serie; así que necesitamos codificar y depurar tu proyecto Arduino en una placa Arduino y, cuando estés seguro que todo esté funcionando, modificar la numeración de pines y subir el código al ATtiny.
El diagrama pin-outdisposición de pines a continuación demuestra como solo tenemos 5 pines para conectar a otros componentes. Y antes qu digas "Espera - veo claramente que hay ocho pines" hay que tener en cuenta (aunque es verdad que ocho pines) que uno de ellos sirve para recibir el corriente (VCC), otro para conectar a tierra (GND) y otro para la resetear el chip. O sea son tres pines que no podemos aprovechar para entrada/salida digital. Ocho menos tres nos deja con cinco pines para jugar.
Eso dicho, para proyectos báscicos el ATtiny sobra; y, como veremos, es bastante fácil llevar un proyecto de Arduino a ATtiny.
Una forma divertida (y formativa) de hacer esto es utilizar el Arduino como un programador. Dicho de otra forma, podemos usar el Arduino como puente entre nuestro PC y el ATtiny para subir nuestro código; y luego ejecutamos ese código enel ATtiny de forma completamente independiente del Arduino.
Nuestro proyecto effecto de llamas es un ejemplo perfecto dado que solo necesitamos cuatro pines tipo salida digital. ¡Vaya! Incluso nos queda un pin de sobra :)
(incluye enlaces pagados)
Con el Arduino conectado a tu PC a través del cable USB, monta el ATtiny en el protoboard y conecta ambos dispositivos el la manera siguiente:
pin Arduino UNO | pin ATTiny Estos son los nombres que se ven en el esquema anterior. El número de pin físico se ve dentro de paréntesis. |
---|---|
+5v | VCC+ (8) |
GND | GND (4) |
10 | RESET (1) |
11 | pin 0 (5) |
12 | pin 1 (6) |
13 | pin 2 (7) |
Debe quedar así:
Herramientas > Placas
que ATtiny25/45/85 esté presente.Archivo > Preferencias > Gestor de URLs adicionales de tarjetas
y añade: https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
a la lista.
Herramientas > Placa > Gestor de placas >
y selecciona attiny board by amellis (que ya debería aparecer en la lista) > instalar
.
Archivo > Ejemplos > y seleccionar ArduinoISP
.Programa > Subir
o Ctrl + U
a la placa Arduino.Herramientas > Programador > select Arduino as ISP
(¡¡¡arduinoISP NO!!!!!).Herramientas > Quemar bootloader
.long r; void setup(){ pinMode(0, OUTPUT); pinMode(1, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); } void flicker(int x){ r = random(100L); digitalWrite(x, r < 90); } void loop(){ flicker(0); flicker(1); flicker(2); flicker(3); delay(100); }
Herramientas > Placa > ATtiny 25/45/85
Herramientas > Procesador > ATtiny85
Herramientas > Clock > Internal 8 MHz
Programa > Subir
o Ctrl + U
.Ésta es exactamente la misma configuración que el proyecto Arduino efecto de llamas realista salvo que estamos usando los pines del ATtiny 0, 1, 2 y 3 en vez de los pines del Arduino 2, 3, 4 y 5; y, en vez de alimentar el chip con el corriente del cable USB, estamos utilizando pilas (el diagrama muestra 4 pilas AAA pero solo porque no encontraba un componente en fritzing de 3 AAA). No olvides que si no tienes pilas AA o AAA o portapilas a mano, siempre puedes alimentar el chip ATtiny desde los pines del Arduino VCC y GND; pero no quedaría tan chulo (teniendo en cuenta que estamos montando un chisme tipo stand-alone ;) ).
Aquí teneis el resultado (esta versión usa 2 LEDs conectados a una mini-protoboard sin cables).