Programando ATtiny85 con Arduino

Utilizar micros Attiny puede resolvernos una necesidad por poco dinero y poca complicación a la hora de programarlos, como poco es divertido… 😛

1) HARDWARE.

Antes de nada hay que montar el grabador, bien cableado en una protoboard (no os lo aconsejo) o montaros una shield que os costará un par de euros y un rato soldando.

Para el que quiera cablear en una protoboard, este es el esquema.
esquema_attiny-arduino


2) Preparando el programador.

Para preparar el programador solo tenemos que enchufar una Arduino cualquiera, en mi caso utilizo una Duemilanove pero deberia funcionar con cualquiera.

Verificar que no teneis enchufada ninguna shield ni nada cableado, la Arduino solita.

Seleccionamos el tipo de tarjeta y puerto, a continuación abrimos la carpeta de ejemplos, elegimos «ArduinoISP» y grabamos.

En este momento nuestra tarjeta Arduino se ha convertido en un programador por lo que procedemos a enchufar nuestra placa o cableamos según el esquema del punto 1 de este tutorial.


3) IDE – Preparación del entorno de programación.

Para programar un Attiny85 con el entorno de Arduino tenemos que añadir dicho microcontrolador como si fuera una tarjeta mas seleccionable dentro del IDE de Arduino, esto lo haremos descargando la información de dicho micro e instalandolo en dos pasos simples.

– Descargar cores de microcontroladores Attiny.
En la página de Arduino podeis encontrar diversos cores adecuados a vuestras necesidades y la versión del IDE que tengais.
http://playground.arduino.cc/Main/ArduinoOnOtherAtmelChips

Los cores que tengo instalados en el IDE 1.0.6. los podeis descargar de aqui, incluye los que he ido encontrando por ahí, son los Attiny 24/44/84/25/45/85/13/2313/4313

– Descomprimir
Facil, en la carpeta (Arduino)\Hardware\

– Abrir IDE de Arduino
y verificar en Herramientas/Tarjetas si el sistema las reconoce.


4) Programación del Attiny85

Ya solo queda hacer un programa y grabarlo en el microcontrolador, lo primero que hacemos es irnos a Herramientas/Tarjeta y seleccionamos «Attiny85 @ 1MHz (Internal Oscillator, BOD disabled)».

Abrimos un ejemplo como el tradicional «BlinkWithoutDelay» y cambiamos el pin 13 por el 0, que en el Attiny85 se corresponde con el pin 5 como podeis comprobar en el siguiente grafico.

ATtiny

Pulsamos el botón de grabar y ya tenemos nuestro primer Attiny85 funcionando en cualquier protoboard con tan solo V+, GND y un led en el pin 5 que deberia parpadear.

Espero que os haya gustado.

furri

 

Software programación AVRDudeSS

Ya metidos en la programación de Attinys necesitaba un software gratuito y compatible con diversos programadores y ese hueco lo llena AVRDudeSS en sus versiones para linux o windows que podeis bajar de aqui.

Una vez instalado está listo para trabajar, como podeis ver la lista de programadores soportados es inmensa y su manejo dependerá de las caracteristicas de cada programador, pongo como ejemplo la grabación de Attiny85 con una ArduinoISP detallando los pasos a seguir, si en el punto 4 no nos detecta el micro algo estaremos haciendo mal…. 😛

avrdudess3

furri.

 

 

Programador ArduinoISP

Quizá sea uno de los programadores para micros atmel mas basicos que me he tropezado, y aunque los clones MKII baratos proliferan en tiendas on-line este te puede sacar de algún apuro o como a mi, hasta que me llegue el que he pedido en Hong Kong… 😛

1) HARDWARE.

Ante todo mi primera preocupación a la hora de cualquier montaje es evitar en lo posible los cableados a mano y las protoboard, que son maravillosas para las primeras pruebas pero ahí acaba la cosa, el programador podemos construirlo en una simple placa de topos o mejor de lineas, como la idea orginal para este programador era trabajar con Attinys de 8 patas me fabriqué una plaquita que acaba en un DIP8 y a continuación construí un cable DIP8 a ISP, el resultado fué el siguiente:

Cableado para DIP8
esquema_attiny-arduino

Cable DIP8 – ISP.
Adaptador Dip8 ISP

Este es el aspecto final.

IMG_20150314_201924 IMG_20150314_201910

Nota: el condensador no es necesario en todas las tarjetas Arduino por lo que os aconsejo lo pongais de manera que sea facil quitarlo en un momento dado.

2) Preparando el programador.

Para preparar el programador solo tenemos que enchufar una Arduino cualquiera, en mi caso utilizo una Seeeduino compatible con la antigua Decimilia pero deberia funcionar con cualquier modelo.

Verificar que no teneis enchufada ninguna shield ni nada cableado, la Arduino solita.

En el IDE de Arduino seleccionamos el tipo de tarjeta y puerto, a continuación abrimos la carpeta de ejemplos, elegimos «ArduinoISP» y grabamos.

En este momento nuestra tarjeta Arduino se ha convertido en un programador por lo que procedemos a enchufar nuestra placa o cableamos según el esquema del punto 1 de este tutorial.

Espero tener que enlazar a este post mas de una vez…

furri.

1m/s para torpes en Cosmobot.

El año pasado tuve una idea, hacer un manual de como hacer un velocista que vaya a 1m/s de forma barata y facil.

Esta referencia de 1m/s no es arbitraria, por un lado es un número redondo y por otro es la marca que hizo TarriBotV en Cosmobot 2008 quedando clasificado en la posición 14ª, en 2009 no pude participar pero con 1m/s quedó el robot R555 en la posición 13ª… está claro que 1m/s no te da acceso instantáneo a la élite de velocistas en nuestro pais pero si que te puede dar el pase a la fase final donde suelen estar los 16 mejores velocistas del momento.

La idea la compartí esta pasada campus con los responsables de Robotrónica y les pareció buena idea por lo que me suministraron parte del material necesario, asi pues doy oficialmente el pistoletazo de salida al desarrollo del robot RPT

Cosmobot ha abierto sus puertas y ya os podeis inscribir.

furri.


Led RGB Navideño y Software de control

Las fiestas navideñas no me han dejado demasiado tiempo pero esta tarde la he tenido libre tanto de trabajo como de compromisos familiares, etc… asi que no he podido resistirme a montar un Led RGB que tenia en un cajón desde tiempo inmemorial.

En internet hay cientos de páginas hablando del tema, pero pocos pasan de montar alguna secuencia de color, a mi me gustaria hacer algo mas y he puesto el primer ladrillo, he hecho una aplicación que comunica por puerto serie el ordenador y el microcontrolador de manera que puedo ajustar los tres parametros RGB con suma facilidad, comparar el color obtenido con el correspondiente a los colores de monitor de ordenador (de cara a ajustar las resistencias y/o voltaje) y tambien permite memorizar los colores que vayamos generando cosa que se agradece bastante cuando aparece un color extraño o bonito.

Como el peso de la aplicación lo lleva el PC en el microcontrolador tan solo hay que instalar un pequeño programa que lea el puerto serie y envie los datos recibidos al led, los programas están al final del artículo.

Como cada color del led puede llegar a consumir 350mA y la disposición es de anodo común he usado algo que me encanta y no falta nunca en mi trastero, un ULN2003, el esquema de conexionado lo podeis ver en este articulo. Para que la luz no deslumbre y sea agradable a la vista podeis fabricaros un cono de papel como en el video o una sugerencia mas bonita (para mi gusto) es una pelota de ping pong que no se por que ante la camara no da buen resultado pero a la vista queda francamente bien.

Bueno, una vez que tenga los colores bien definidos cambiaré el programa del micro y lo pondremos junto al arbol de navidad.

Fuente Arduino: ledrgbserie_pde.zip
Soft Windows: ledrgbserie_windows.zip
Fuentes VB: En breve…

Saludos y felices fiestas a todos.
furri.

All You CAN Fly

Arrancamos una nueva etapa para xBot, seguimos con la robotica pero abrimos un nuevo frente en el sector aeroespacial gracias a la convocatoria «All You CAN Fly» del LEEM.

La web es http://fly.leem.es, ahí podreis encontrar toda la documentación, normativas, formulario de inscripción, equipos inscritos, foro….

¿como me he metido yo en esto?… pues gracias a Raul (uno de los chicos del cohete), despues de cruzar varios mensajes kilometricos decidimos unir fuerzas y participar, él aporta sus conocimientos en la parte aeronáutica (cohetes, paracaidas…) y yo la parte robotica (electrónica, sensores…).

Aqui van los primeros logos (provisionales) del equipo que surge de la unión de dos webs PayLoad y xBot.

logopayloadxbot.GIF   payloadxbot2.gif

Ardrujula

Ese es el pintoresco nombre que ha recibido este prototipo….

He empezado a confeccionar el equipo que participará en la categoria experimental del concurso espacial y ya que hablamos de orientarse… empezamos con una brújula electrónica, el trabajo se lo asigné a Nicolás (4ºESO) y bueno… con mi planificación por delante esperaba dos semanas como un tiempo razonable y lo ha puesto en marcha en dos dias…. a este ritmo que vayan temblando la NASA y la ESA…

Una fotito… que los «dientes» de la parte delantera no os lleven a engaño, no es un peine ni un rastrillo, son los huecos de los CNY70…

El video en el blog del equipo. http://www.tarribot.com/tallerdunas/?p=120

Bateria Midi con Arduino (Midi Drum)

Por fin…. llevo como dos meses intentando hacer que esto funcione y aunque queda mucho por hacer ya tengo la primera versión operativa de la que podré reutilizar casi todo.

He tardado tanto por falta de tiempo no por la dificultad en si ya que el concepto es bastante simple… ademas he aprendido a trabajar con chapa de 0.6mm cosa que nunca habia hecho.

La bateria funciona de un modo muy simple, el microcontrolador detecta el golpe en un pad y envia a traves del cable midi la nota correspondiente que hemos asignado. El protocolo midi es bastante básico, cadenas de 3 bytes comunicando por puerto serie a 31.250 bps que en mi caso envio al ordenador donde he instalado la version demo de un programa para baterias midi llamado BFD2 que aunque permite hacer gran cantidad de ajustes… cuidado… la versión demo no permite grabarlos… , bueno, el programa está disponible en la web del fabricante, y finalmente los sensores están basados en piezoelectricos pegados a una chapa de 0.6mm y para que los golpes directos en la chapa no suenen mas que el sonido midi que sale del ordenador he puesto una lámina amortiguadora hecha con una sencilla alfombrilla de ratón…. y este es el resultado…

Mi agradecimiento a muuuuchas webs que hay con baterias similares y principalmente a esta de TodBot que es donde he sacado tanto esquemas como programación…. http://todbot.com/blog/2006/10/29/spooky-arduino-projects-4-and-musical-arduino/

furri.