ATTiny 85

Según vayamos avanzando llegara un momento en el que alguno de nuestros proyectos de prueba le encontremos una tarea real en el que aplicarlo para nuestro beneficio. Por ejemplo diseñamos un sistema que mediante un control de temperatura encienda un ventilador que refrigere un disipador. Para algo así no necesitamos un Arduino completo, primero porque desperdiciamos todas sus demás conexiones y segundo porque no vamos a estar comprando uno cada vez que queramos dejar el anterior fijo.

Por ello en situaciones así deberemos de plantearnos la idea de usar un microcontrolador que mejor se adapte a nuestras necesidades.

Uno de ellos es el ATTiny 85 el cual cuenta con 8 patillas, dos de ellas de alimentación y las otras seis para datos, en concreto dispone de 5 entradas/salidas digitales, dos de ellas PWM, y de otras 4 E/S analógicas. Como vemos muy completo.

La ventaja de usar este microcontrolador y no otro es que el propio IDE de Arduino nos permite programarlo ahorrándonos así un controlador especifico. Para ello hay que seguir una serie de pasos:

Primero descargaremos esto:  attiny45_85.zip, una vez bajado lo tendremos que descomprimir dentro del directorio hardware del IDE de Arduino, de modo que quede así: arduino\hardware\attiny45_85

Después deberemos de programar nuestra placa Arduino como programador ISP, tendremos que ir a Exemples > ArduinoISP y grabarlo como haríamos con cualquier otro programa.

Ahora deberemos de conectar el ATTiny al Arduino del siguiente modo (el condensador es de 10 uF).

Por ultimo nos quedara cambiar de placa desde el menú: Tools > Board > ATtiny85 (w/ Arduino as ISP) y grabar nuestro programa. Al grabar el programa nos aparecerán dos errores a los que no hay que darle importancia pues el proceso habrá sido correcto:

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85 

Tenemos que tener en cuenta que sus E/S son del D0~5 y A0~3, por lo que si queremos hacer un blink usando el código de ejemplo del IDE deberemos de cambiar la salida digital 13 por la que usemos en nuestro microcontrolador.

También debemos saber que estos microcontroladores tienen las funciones básicas, estas son:

Las propias del lenguaje C, más:

  • pinMode()
  • digitalWrite()
  • digitalRead()
  • analogRead()
  • analogWrite()
  • shiftOut()
  • pulseIn()
  • millis()
  • micros()
  • delay()
  • delayMicroseconds()

Por ejemplo, he estado intentando usar la librería IRremote.h, y no hay forma de que me la acepte, tengo que investigar más, pero parece que para el proyecto que tenia en mente no me van a servir, tendré que darles usos mas básicos aun.

En próximas entradas veremos como fabricar un Shield de programación y un circuito para usar el ATTiny más cómodamente.

7 comentarios en “ATTiny 85”

  1. Muy buen trabajo, con gente como tú nos hace parecer que el arduino y todo lo que rodea ese mundillo ,parezca más fácil.

    PD: hay alguna ley o algo que diga «que los videos sobre electrónica, robótica : tienen que ser mudos.jajajajaja

    saludos y felicidades por tú blog

    1. No hay ninguna ley sobre eso xDD

      El caso es que prefiero escribir todo lo que haga falta en el blog en vez de hablar en los vídeos, en alguno hablo pero me trabo hablando y queda mal así que tengo que cortar y volver a empezar y es un coñazo xD

      Ya mirare de hablar en ellos, pero luego me vendrán los giris apedreandome por no hablar en ingles… nunca todo el mundo esta contento : /

      PD: Me alegro de que te sea útil la información y de que te guste el blog : )

  2. Te felicito y te agradezco por los aportes, algunos muy interesantes.
    Podrías hacer una entrada donde enseñes la programación de una interrupción para el attiny 85 desde el IDE arduino.
    Ejemplo: tener el circuito montado y que cuando se pulse un interruptor se encienda un led hasta que se vuelva a presionar, cuando el led este apagado el micro duerma para que no consuma mucho, hasta que se active de nuevo la interrupción.
    Gracias

  3. Hola , también estoy tratando de usar la librería IRremote en un attiny pero no he podido e información hay muy poca y poco entendible , has tenido algún avance ?

    1. Recuerdo que alguien me comentó que se estaba intentando adaptar la librería pero que aún no se había terminado, no sé si ya estará o abandonaron el proyecto.
      Por mi parte no he vuelto a usar ATTinys, no merecen la pena por la diferencia de precio respecto al Arduino Pro Mini.

      Saludos

Escriba aquí su comentario