Skip to content

Laboratorio de Juguete

Electrónica Creativa

Category Archives: Attiny85

Hola! pasó bastante tiempo desde el último tutorial de programación de Attinys y el el camino apareció un nuevo Core (núcleo) para programar la familia pequeña de Atmel que mucho más versátil (Gracias a Franco Arias por pasarnos esta gran data!). Además el software de Arduino mejoró notablemente en su apertura,  incluyendo nuevas facilidades para programar otras plataformas y chips más allá de sus propios productos. Por ello esta actualización. Espero les sea de utilidad!

Antes de empezar refrescamos un poco la data acerca de la familia ATTINY25/45/85: Son los microcontroladores ideales para hacer tareas sencillas que no demanden muchos pines ni memoria.

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 5 entradas/ salidas digitales  de las cuales tres, pueden ser usadas como 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?

Éstos son los pasos a seguir:

  • Si no has instalado la IDE de Arduino o tienes una versión anterior a la 1.7, ingresa al siguiente link, descarga e instala la última versión disponible de acuerdo a tu sistema operativo y arquitectura:

WINDOWS

MAC

LINUX (32bit)

LINUX (64bit)

  • A continación te presentamos el Core (núcleo) que vamos a usar: ATTinyCore (de Spence Konde). Puedes echar un vistazo al repositorio o por ahora simplemente copiar la dirección de aquí debajo:

http://drazzy.com/package_drazzy.com_index.json

  • Abrí la IDE de Arduino y dirigite a Archivo/Preferencias
  • Allí encontrarás un cuadro con el nombre “Gestor de URLs adicionales de tarjetas “. Pegá en el cuadro la dirección que copiaste antes y hacé clic en OK

preferencias

  • Ahora dirigite a Herramientas/Placa/Gestor de tarjetas. Dale un momento al gestor para que se actualize e incorpore la ruta que pegaste en el paso anterior. Luego escribí “tiny” en el buscador. Aparecerá “ATTinyCore by Spence Konde”;  hacé click en “instalar”.

tiny

  • La IDE de Arduino ya está lista para programar los attinys. Pero necesitamos un programador hardware tambien!. Vamos a usar un Arduino UNO como programador de attinys. Para eso tenemos que subirle un código especial. Tomá tu placa arduino o arduino-compatible y conectala a tu compu.
  • En la pestaña Archivo, andá hasta Ejemplos y buscá ArduinoISP:arduinoISP
  • Subí el sketch a tu placa Arduino Uno (damos por sentado que ya sabés cómo elegir la placa y el puerto de comunicación):

arduinoISP2

  • Acabá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:
  • arduinoISP1Tu Arduino ya está listo, ahora a conectar el Attiny85. Vas a necesitar, 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 (el programador funciona igual si no conectás los leds). 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

  • Vamos a elegir el chip que estamos usando (en éste caso el attiny85). Andá  a Herramientas/Placa  y deslizate hacia abajo hasta que aparezca la opción attiny25/45/85. Seleccionala:

attiny85

Si tu chip es efectivamente un Attiny85, no tenés que cambiar ninguna opción. Si en lugar de tener un attiny85, tenés un 25 o 45, vas a tener que cambiar el tipo de chip ingresando nuevamente a Herramientas.

seleccion

La siguiente acción se realiza sólo una vez, al principio, con cada chip que compres. Es la carga del bootloader o sistema de arranque. Una vez quemado el bootloader, tu chip está listo para ser programado una y otra vez. Andá a Herramientas y presioná “Cargar bootloader (recordá tener seleccionado “Arduino as ISP” como programador).

quemar

  • Después de unos segundos, te aparecerá el siguiente cartel:

quemado

  • Si obtuviste algún mensaje de error, tendrás que repasar conexiones y pasos anteriores.
  • Finalmente está todo listo para cargar nuestro primer sketch. Vamos a repasar cómo se enumeran y declaran las entradas y salidas del attiny25/45/85 en el entorno de programación de Arduino. En rojo verás el número con el que se declaran  las entradas analógicas y en celeste las entradas/salidas digitales. En verde están indicadas las salidas digitales que permiten usar la función “analogWrite” (PWM).

tinu

  • Para testear la comunicación entre arduino y attiny (en este caso un attiny85) , vamos a usar el clásico ejemplo Blink que hace parpadear un led a un ritmo constante de un segundo. Para ello usaremos un led (y una resistencia de 220 Ohms) conectado a la pata 5 (Digital 0) Acá tenés un LINK al  archivo ya modificado para su uso en este tutorial. Copiá y pegá en un sketch vacío.  Alternativamente podés abrir el ejemplo blink ubicado en Archivo/Ejemplo/Basics/Blink y reemplazar LED_BUILTIN por el valor 0 en todos los casos.  Si copiaste y pegaste el texto del link, tu sketch se verá así:

ejemplo

  • Subí el código al chip apretando el botón Cargar. Si colocaste los leds indicadores, 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 ya estará programado! Ahora es momento de desarmar tu circuito anterior o buscar otra protoboard para ensamblar el circuito con el led (recordá no usar más de 5V!!!). El attiny anda fantástico con dos pilas AA (sumando 3V en total). Si no tenés ni pilas ni regulador, podés alimentar tu circuito con 5V y GND de tu arduino conectado a USB. El circuito es el siguiente:

arduinoytinyblink

  • A esta altura, si todo está OK, deberías ver tu led parpadeando:Misión cumplida!

blink

  • Si algo falló en el camino, no te olvides de “triplechequear”  instrucciones y conexiones.

Ya sabés programar attinys, si querés experimentar con ejemplos más complejos, podés investigar proyectos del labo como el Gamelín MINI o Neklops.

 

Vuelve el taller de Gamelines al labo pero ahora con una placa completamente rediseñada. Sin dejar de lado su tradicional interfaz táctil y su amor por las frecuencias de la lejana Indonesia, ahora el Gamelín es, además, una plataforma de desarrollo electrónico abierta y programable vía USB en el entorno de Arduino.

Gamelín USB incluye:

  • Entrada de allimentación (con protección contra polaridad invertida) con regulador a 5V con una entrega de 1,5A máximo (Voltaje de alimentación sugerido: 7V a 12V)
  • Conector para batería de 9V.
  • Salida de audio (TRS 3,5mm stereo) con control de volumen en su pin A (D0).
  • Interfaz táctil con sensibilidad ajustable en el pin E (A3).
  • Potenciómetro multipropósito en el pin D (A2).
  • Transistor para controlar actuadores (motores, relés, etc.) y luces (tiras de leds y leds de alta potencia) hasta 25V y 300mA en su pin C (D1/PWM).
  • Compatibilidad con la librería Neopixel de Adafruit para control de pixel leds
  • Conector hembra de 9 pines para prototipado en protoboard.

gamelinUSB

Con el objetivo de poner al Gamelín USB en acción, el labo realizará dos talleres:

  1. El primero de ellos en Mendoza, el sábado 1 de julio, organizado por NODO 39 . Para participar, deberán entrar en contacto directamente con el espacio, escribiendo a hola@nodo39.com
  2. El segundo taller será en CABA en la sede del labo dentro de la querida Casa Abasto. Durante una jornada completa ensamblaremos los gamelines y mostraremos su funcionalidad USB así como también otros posibles usos e implementaciones.

SÁBADO 8 DE JULIO (11 A 19HS.)

CASA ABASTO (ANCHORENA 632)

VALOR: $800 (INCLUYE TODO EXCEPTO BATERÍA 9V)

+INFO E INSCRIPCIÓN: LABODEJUGUETE@GMAIL.COM

Si bien serán bienvenidos conocimientos previos de electrónica y programación, no son en absoluto excluyentes para participar del taller

gamelin

Gamelín USB integra el microcontrolador ATTINY85 . Está basado en Digispark y su implementación USB es posible gracias al bootloader Micronucleus.

Gamelín es un desarrollo abierto. A la información ya disponible (esquemáticos, PCB, archivos para fabricación, etc.) , iremos agregando periódicamente tutoriales, ensamblado paso a paso y sketches dentro del mismo repositorio.

Si quieres saber más sobre el Gamelín original, aquí puedes enterarte:

https://laboratoriodejuguete.com/2015/10/23/el-labo-de-viaje/

https://laboratoriodejuguete.com/2016/08/30/nuevo-taller-de-gamelines/

http://fritzing.org/projects/gamelin-mini

 

Etiquetas: , , , , , ,

Invitado por VIDEOSÓNICA, el labo se hizo presente en Cali durante la segunda semana de octubre para brindar una nueva edición del taller GAMELINES. Durante dos días y en dos sedes (el hermoso Lugar a dudas y la Alianza Colombo Francesa de Cali) construimos nuevos gamelines y compartimos el amor por la electrónica y los microcontroladores.

 

 

Muchas gracias, Carolina Carvajal, Mariángela Aponte Núñez, Giovanny Terranova y todo el equipo de Videosónica por toda la hospitalidad y ayuda en la estancia en Cali!

Recuerden que Gamelines es hardware abierto. Acá encontrarán información sobre cómo programar el chip que se encuentra en el corazón de la placa.

Etiquetas: , , , , ,