¿qué es attiny?
Es una subfamilia de los atmel avr: son microcrontoladores pensados para funcionar sin componentes externos aparte de la alimentación, por eso incluyen reloj interno y hasta se pueden reconfigurar patillas tan fundamentales para usarlas como IO
Existen en diferentes tamaños y familias. Copio una tabla de la wikipedia con las princplaes caracteristicas:
device (family)[1] | archi[2] | i/o pins | flash b | ram b | eeprom b | twi | usi | spi | uart | 8 bit counters | 16 bit counters | pwm | adc | max clock mhz |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
attiny28l | avr1 | 11 | 2048 | 32 | – | – | – | – | – | 1 | – | 1 x 1 | – | 4 |
attiny26 | avr2 | 16 | 2048 | 128 | 128 | – | – | – | – | 2 | – | 1 x 2 | 11 ch / 10 b | 16 |
attiny13/13a | avr25 | 6 | 1024 | 64 | 64 | – | – | – | – | 1 | – | 1 x 2 | 4 ch / 10 b | 20 |
attiny25 / attiny45 / attiny85 | avr25 | 6 | 2048 / 4096 / 8192 | 128 / 256 / 512 | 128 / 256 / 512 | – | 1 | – | – | 2 | – | 1 x 2 | 4 ch / 10 b | 20 |
attiny24/24a / attiny44/44a / attiny84/84a | avr25 | 12 | 2048 / 4096 / 8192 | 128 / 256 / 512 | 128 / 256 / 512 | – | 1 | – | – | 1 | 1 | 2 x 2 | 8ch / 10 b | 20 |
attiny261/261a / attiny461/461a / attiny861/861a | avr25 | 16 | 2048 / 4096 / 8192 | 128 / 256 / 512 | 128 / 256 / 512 | – | 1 | – | – | 1 | 1 | 1 x 3 | 11ch / 10 b | 20 |
attiny43u | avr25 | 16 | 4096 | 256 | 64 | – | 1 | – | – | 2 | – | 2 x 2 | 4 ch / 10 b | 8 |
attiny87 / attiny167 | avr25 | 16 | 8192 / 16384 | 512 | 512 | – | 1 | 1 | 1 | 1 | 1 | 1 x 1 | 11 ch / 10 b | 16 |
attiny2313 / attiny2313a/4313 | avr25 | 18 | 2048 / 4096 | 128 / 256 | 128 / 256 | – | 1 | – | 1 | 1 | 1 | 1 x 4 | – | 20 |
attiny48 / attiny88 | avr25 | 24 / 28 | 4096 / 8192 | 256 / 512 | 64 | 1 | – | 1 | – | 1 | 1 | 1 x 2 | 6/8 ch 10 b | 12 |
attiny4 / attiny5 / attiny9 / attiny10 | avrtiny20 | 4 | 512 / 1024 | 32 | – | – | – | – | – | – | 1 | 1 x 2 | 4 ch / 8 b (attiny5/10 only) | 12 |
attiny20 | avrtiny20 | 12 | 2048 | 128 | – | slave | – | 1 | – | 1 | 1 | 2 x 2 | 8 ch / 10 b | 12 |
attiny40 | avrtiny20 | 18 | 4096 | 256 | – | slave | – | 1 | – | 1 | 1 | 1 x 2 | 12 ch / 10 b | 12 |
attiny1634 | 18 | 16384 | 1024 | 256 | slave | 1 | – | 2 | 1 | 1 | 2 x 2 | 12 ch / 10 b | 12 |
¿como programarlo?
Necesita ICSP, pero podemos usar un arduino uno o diecimilla como programador
- Descargamos la ultima versión del ide arduino, es recomendable estar en la 1.0.1 que corrige bastantes errores. Como siempre de la web de arduino
- Descargamos la librería attiny y la descomprimimos en la carpeta hardware del directorio de usuario de arduino (si no lo sabemos lo podemos ver en las preferencias). Normalmente será Documentos>arduino>Hardware y al descomprimir se creará una carperta attiny
- Reiniciamos el ide y si todo ha ido ok, al desplegar las variantes de tarjetas veremos que nos aparecen nuevas variantes
- Ahora hay que conectar nuestro attiny al arduino. Podemos hacerlo conectando directamente con cables o usando un shield
- Abrimos el sketch ArduinoISP y lo descargargamos a nuestro arduino, habiendo seleccionado la versión y el puerto correspondiente.
- Ahora abrimos el sketch que vamos a descargar al attiny y seleccionamos el modelo de attiny a usar.
- Lo descargamos y veremos que nuestro flamante attiny está programado
Programando attiny I: Preparando el entorno