como usar un attiny45_85 con la interfaz arduino

Hola amigos les presento uno de mis primeros post

Más de una vez les habrá pasado, que después de haber testeado vuestro prototipo deseáis hacer de él una aplicación real.
Sin embargo, si es un proyecto pequeño, con pocas salidas/entradas parece poco lógico emplear un ATmega328 o un 168 con sus 14 salidas digitales y sus 6 entradas analógicas, con el consecutivo gasto de dinero y espacio.
(La mejor solución es aquella que, cumpliendo su objetivo, sea la más fácil, sencilla y barata...Optimización!).
Si estáis familiarizados con el uso de microcontroladores PIC o AVR y tenéis los conocimientos y herramientas (compiladores, grabadores...) necesarios, esto se resuelve fácilmente acudiendo al micro que más se ajusta a nuestras necesidades...
Partamos de la idea, de que muchos usuarios de Arduino, no tienen acceso a estos conocimientos ni herramientas y están únicamente familiarizados con el uso de esta estupenda plataforma, en la cual además acaban de prototipear el proyecto que ahora quieran llevar a la aplicación final.
Vamos a ver cómo podemos programar los micros AVR ATtinny45 y 85 utilizando un Arduino (Uno, Duemillanove...), o el usbasp, usbtiny, bsd
Los ATtinny son una serie de pequeños micros que en pequeños encapsulados (8 Dip) nos ofrecen grandes posibilidades a un precio muy accesible.
Yo me voy a centrar en el Attiny85, aunque todo lo visto aquí puede ser usado con su hermano menor, sin ninguna variación.

Éstas son sus características esenciales:
Memoria ROM: 8Kb
Memoria RAM: 512 bytes
Pines I/O:6
Frecuencia: 20 Mhz con cristal externo
Programación ICSP
Datasheet
http://www.atmel.com/dyn/resources/prod_documents/doc2586.pdf

http://2.bp.blogspot.com/-SpCoqKp9r...AAAFk/93tHvIj2AVM/s1600/attiny45_85pinout.jpg

Como podran ver, está bien equipado: salidas digitales, PWM y entradas analógicas de 10 bits...
Un pequeño Arduino a nuestra disposición!
La idea es la siguiente: escribiremos el programa en nuestra bien conocida IDE de Arduino asignando los pines digitales y analógicos según el esquema del micro.
Una vez listo y corregidos los errores del código, utilizaremos nuestro Arduino como grabador por ISP o el programador usbasp, usbtiny, bsd, para copiar el código al Attinny....et voilà! Listo para usarse.

Enseguida un poco mas claro:
Descárgen y copien el (attiny45_85.zip ) en la carpeta Hardware en la carpeta del Arduino. (...arduino-0022\hardware\attiny45_85)
Cierra el arduino y vuelve abrirlo. Comprobaras que ahora en Tools/Board, te han aparecido muchas más opciones que antes.
http://4.bp.blogspot.com/-Wk2aLt2w_Mo/TelWNQyOHWI/AAAAAAAAAFo/OLAQM5uR-2Y/s1600/Boards.png

A continuación monta el circuito de la figura, y comprueba las conexiones:
con arduino
http://1.bp.blogspot.com/-TMkTxu_aPcE/TelWPBtylqI/AAAAAAAAAF0/zPNKHQEEJ0w/s1600/ICSP.png
con otros
http://u.jimdo.com/www28/o/scd48738...oladores-con-pinout-similar-a-attiny13-45.jpg

Ahora enseguida hay dos opciones la primera es con un arduino y la segunda es con un programador cualquiera
Bien, ahora conecta tu tarjeta de Arduino al ordenador: selecciónala en Board (Duemillanove, Uno...) así como el Puerto Serie que le corresponde.
En la sección de “Ejemplos” de Arduino abre, compila y descarga a tu tarjeta el ejemplo de ArduinoISP.
http://1.bp.blogspot.com/-TMkTxu_aPcE/TelWPBtylqI/AAAAAAAAAF0/zPNKHQEEJ0w/s1600/ICSP.png

Con esto “acabamos de decirle” al Arduino que queremos que funcione como grabador.
Ahora, abre un nuevo sketch de Arduino y escribimos un programa sencillito...por ejemplo, hacer parpadear un Led conectado al Pin4 del Attiny. (Si teparece perezoso, acude al ejemplo Blink del Arduino pero recuerda modificar el P13 por el P4).
Una vez terminado y habiendo comprobado que no hemos cometido fallos en la sintaxis, seleccionaremos en Tools/Board/ ATtinnyx5 (w/Arduino as ISP).
No tocaremos el puerto serie, dejando el mismo por el que acabamos de descargar el programa ArduinoISP en nuestra tarjeta.
Ya solo queda darle al botón de descargar programa!
Cuando termina, te aparecerán dos advertencias :
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtinyx5
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtinyx5
No te preocupes, sigue todo funcionando.

Bien ahora conecta tu programador que tengas bien instalado
Ahora, abre un nuevo sketch de Arduino y escribimos un programa sencillito...por ejemplo, hacer parpadear un Led conectado al Pin2 del Attiny. (Si te parece perezoso, acude al ejemplo Blink del Arduino pero recuerda modificar el P13 por el P2).
Una vez terminado y habiendo comprobado que no hemos cometido fallos en la sintaxis,
seleccionaremos en
Tools/Board/ ATtinnyx5 (w/usbtiny).
Tools/Board/ ATtinnyx5 (w/usbasp).
Tools/Board/ ATtinnyx5 (w/bsd).
x significa 4 o 8

Ya solo queda darle al botón de descargar programa!
Cuando termine, te aparecerán dos advertencias :
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtinyx5
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtinyx5
No te preocupes, sigue todo funcionando.

Una vez que ya has descargado el programa puedes retirarlo de la proadboard y utilizar el ATtinny donde tu quieras y volver a usar tu placa de Arduino para prototipear un nuevo proyecto...Si en el futuro te hiciera falta, vuelves a seguir los pasos anteriores y podrás grabar sobre el Attiny un nuevo programa usando tu Arduino como grabadora.
Monta el circuito y comprueba que funciona.

http://2.bp.blogspot.com/-MIckor6iRdI/TgUC2fGPPuI/AAAAAAAAH1k/JbIbjOA5Eh8/s1600/ATtinyEsquema.png

Ya no hay excusas para no llevar a cabo tus proyectos más pequeños!


vere si puedo subir un proyecto hecho utilizando un ATtiny85 para que haya otro ejemplo.
 

Adjuntos

  • attiny45_85.rar
    25.4 KB · Visitas: 9
Última edición:
Atrás
Arriba