Skip to content

Laboratorio de Juguete

Electrónica Creativa

ATENCIÓN! Este tutorial está desactualizado y algo obsoleto. Para leer el tutorial actual, dirigite al siguiente LINK

 

Tarde pero seguro lanzamos el primer tutorial del año. Éste tutorial asume que ya tenés una experiencia básica de electrónica y Arduino pero tampoco es rocket science así que adelante!

PROGRAMANDO ATTINYS CON ARDUINO

Como muchos de ustedes saben, la popularísima plataforma Arduino tiene por cerebro un microcontrolador. Pero qué es un microcontrolador? Segun la Wikipedia, un microcontrolador es un circuito integrado programable capaz de ejecutar las órdenes grabadas en su memoria. Arduino usa el el Atmega328P. Es un chip muy versátil, con puertos de comunicación serial, bastante memoria flash (32k) y varias entradas y salidas (20!). Para muchas cosas, usar un atmega328P es demasiado. Desperdiciamos memoria y pines entre otras cosas. Para hacer tareas sencillas que no demanden muchos pines ni memoria, podemos acudir a la familia de microcontroladores ATTINY85/45/25

attinyÉsta familia de microcontroladores tiene apenas 8 patitas y su memoria flash (el lugar donde se alberga nuestro código) es de 8, 4 o 2 kilobytes (de acuerdo al número en su nombre). Pero para muchas de las cosas que solemos hacer con arduino suele ser suficiente!

attiny85_pins

Como verás en el esquema de arriba, tiene dos salidas digitales (ambas permiten usar PWM) y tres entradas analógicas. A que varios de tus proyectos en Arduino no usan más que ésto, no?

Y cómo hacemos para programar estas cucarachitas usando la IDE de Arduino? A la hora de elegir la tarjeta donde programar, tenemos que tener la opción de elegir a nuestros ATTINYs Para ello vamos a necesitar el core que se encuentra en éste link. Sequí las siguientes instrucciones:

  1. Descargá la opción de acuerdo a la IDE que estés usando (ATENCIÓN!: para el tutorial que estás leyendo usamos la IDE 1.0.5. No podemos garantizar que funcione en otra pero es muy probable que sí). Si vas a tu carpeta de descargas vas a encontrar un archivo con el nombre arduino-tiny-varios-numeritos.zip
  2. Descomprimí el .zip. Aparecerá una carpeta con el nombre tiny. Copiá (o cortá) esa carpeta.
  3. Buscá la carpeta en tu disco donde tenés la IDE de arduino (se llama Arduino naturalmente!). Hacé doble click en ella.
  4. Vas a ver que adentro de la carpeta Arduino hay otra que se llama Hardware. Hacé doble click en ella.
  5. Dentro de la carpeta Hardware, pegá la carpeta tiny que habías copiado anteriormente.
  6. Listo! Abrí la IDE de Arduino. Si vas a board o tarjeta, deberías ver un lío de opciones cómo este:
  7. attinyboardsVas a ver muchas opciones para elegir attinys en diversas configuraciones. Si no apareciern más que las típicas placas de siempre, revisá los pasos. Tal vez no pegaste la carpeta o la pegaste en una ruta equivocada.
  8. La IDE de Arduino ya está lista para programar los attinys. Pero necesitamos un programador hardware tambien!. Nosotros vamos a usar un Arduino como programador. Para eso tenemos que subirle un código especial. Tomá tu placa arduino o arduino-compatible y conectala a tu compu.
  9. En la pestaña Archivo, andá hasta Ejemplos y buscá ArduinoISP:arduinoISP
  10. Subí el sketch a tu placa (damos por sentado que ya sabés cómo elegir la placa y el puerto de comunicación):
  11. arduinoISP2Acabás de convertir a tu arduino en un programador de microcontroladores. Para usarlo como tal, sólo tenés que dar un paso más. Andá a la pestaña Herramientas, luego a Programador y elegí Arduino as ISP:
  12. arduinoISP1Para este ejemplo vamos a usar un Attiny85. Vas a necesitar, además de tu arduino y tu attiny, una protoboard y cables de protoboard. Opcionalemente podés agregar tres leds (uno verde, otro rojo y otro amarillo) y tres resis de 220ohm para tener una respuesta visual de lo que está sucediendo. Conectá todo en la protoboard siguiendo la siguiente imagen o el esquemático (recordá que podés hacer doble click en las imágenes para verlas más grandes):

arduinoytiny

arduinoytiny2

13. Para testear la comunicación entre arduino y attiny, vamos a usar el clásico ejemplo Blink. Seguí la siguiente ruta para abrir el sketch:



14. A continuación reemplazá el número de salida digital (13) por el 0 (pata 5):

 

 

15. Ahora andá a tarjeta y seleccioná la siguiente opción: Attiny25/45/85

 

16. Subí el código al chip apretando el botón Cargar como hiciste en el paso 10. Si colocaste los leds indicadores como te mostramos en el paso 12, deberías ver parpadear el led amarillo, lo que indica que está cargándose el código al attiny.  Cuando veas el cartel de carga terminada, tu attiny está listo! Para ver tu led parpadear, armá el siguiente y elemental circuito (no uses más de 5V!!!) :

arduinoytinyblink

 

arduinoytinyblink1

17. A esta altura, si todo está OK, deberías ver tu led parpadeando:

blink

Misión cumplida! Si algo falló en el camino, no te olvides de triple chequear instrucciones y conexiones. Ahora, tal vez te preguntes si vale la pena tanto esfuerzo para hacer lo mismo que hace el 555 a menos de un décimo de su precio! Como respuesta a esa pregunta, esperá el siguiente tutorial (coming soon!!!) donde haremos algo muuucho más interesante con nuestro miniamigo el attiny85.

UPDATE!!! En estos días, descubrimos la maravillosa herramienta online Codebender que te permite programar tu placa arduino-compatible desde tu browser de internet! (Firefox o Chrome). Como tiene soporte para attinys usando el mismo e increíble core que usamos en este ejemplo, podés programar el sketch desde la nube directamente! Abrí una cuenta (gratuita) en codebender (desde el link de invitación que te dejamos antes) y seguí sus (súper fáciles) pasos de configuración. Podés saltarte por completo los pasos 1 al 8, seguir los pasos 9 al 12 y reemplazar el resto de los pasos por este link donde sólo deberás presionar el botón Run on Arduino. En futuros tutoriales seguiremos sacando provecho de Codebender como también de Fritzing así que no dejes de indagar estas herramientas. Seguimos en contacto!

 

 

 

Etiquetas: , , , , ,