{"id":3687,"date":"2015-12-12T12:28:54","date_gmt":"2015-12-12T11:28:54","guid":{"rendered":"http:\/\/www.diarioelectronicohoy.com\/blog\/?p=3687"},"modified":"2019-06-13T19:21:45","modified_gmt":"2019-06-13T17:21:45","slug":"programador-para-attinys","status":"publish","type":"post","link":"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys","title":{"rendered":"Programador para ATtiny\u2019s."},"content":{"rendered":"<h5 style=\"text-align: center;\">\u00daTIL PARA PROGRAMAR VARIOS MODELOS DE ATTINY\u2019S.<\/h5>\n<h5 style=\"text-align: right;\">CREADO POR V. GARC\u00cdA. EL 12.12.2015<\/h5>\n<h3>INTRODUCCI\u00d3N.<\/h3>\n<p style=\"text-align: justify;\">Hace unos pocos d\u00edas inici\u00e9 una incursi\u00f3n en el apartado del quemado de fusibles de los micros de la familia Attiny (lo que llamamos programaci\u00f3n\u00a0de un micro), como consecuencia de realizar un trabajo para mostrar como poner un <a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/category\/microcontroladores\/arduino\/voltimetro-digital\" target=\"_blank\" rel=\"noopener noreferrer\">volt\u00edmetro digital<\/a> en una fuente de alimentaci\u00f3n utilizando una pantalla LCD num\u00e9rica controlada por la HD44780. La cuesti\u00f3n es que, cuando termin\u00e9 el art\u00edculo, me di cuenta que para reducir costos ser\u00eda adecuado utilizar un peque\u00f1o micro de ATmel, y por lo tanto necesitar\u00eda una herramienta para programar a estos \u201cpeque\u00f1os\u201d.<\/p>\n<p style=\"text-align: justify;\">Ciertamente la mayor\u00eda de los interesados no van a realizar una grabaci\u00f3n en cantidad de estos micro, en el mejor de los casos, se limitar\u00e1n a grabar unas 2 unidades a lo sumo 3 o 4, por ese motivo la gran mayor\u00eda de p\u00e1ginas que presentan los diferentes sistemas de lograrlo, se limitan a tratar un tipo de micro, sin embargo, he pensado que con un poco m\u00e1s de esfuerzo, ser\u00eda conveniente que dicha herramienta fuera \u00fatil y pudiera servir para distintos modelos de micros, ya que, todos ellos requieren de los mismo puertos (pines) para su \u201cquemado\u201d y todo esto desde nuestro habitual Arduino que ha ido mejorando sus versiones y mediante el ISP nos permite la opci\u00f3n de dicha posibilidad, as\u00ed me vi inmerso en este nuevo \u201cl\u00edo\u201d. Estos son los modelos por los pines que podremos programar:<\/p>\n<table class=\"aligncenter\" border=\"1\" width=\"30%\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td width=\"30%\" height=\"1\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/attiny2313\" target=\"_blank\" rel=\"attachment wp-att-3689 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3689\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/attiny2313-300x225.jpg\" alt=\"attiny2313\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/attiny2313-300x225.jpg 300w, https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/attiny2313.jpg 620w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<a href=\"http:\/\/hispavila.com\/wp-content\/uploads\/2015\/12\/attiny2313.jpg\" target=\"_blank\" rel=\"noopener noreferrer\"><br \/>\n<\/a><\/td>\n<td width=\"30%\" height=\"1\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/attiny4484p\" target=\"_blank\" rel=\"attachment wp-att-3690 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3690\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/attiny4484p.gif\" alt=\"attiny4484p\" width=\"220\" height=\"165\" \/><\/a><\/td>\n<td width=\"30%\" height=\"1\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/attiny85p\" target=\"_blank\" rel=\"attachment wp-att-3691 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3691\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/attiny85p.gif\" alt=\"attiny85p\" width=\"220\" height=\"165\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"30%\" height=\"1\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/pines-attiny2313\" target=\"_blank\" rel=\"attachment wp-att-3692 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3692\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/pines-attiny2313.gif\" alt=\"pines-attiny2313\" width=\"222\" height=\"171\" \/><\/a><\/td>\n<td width=\"30%\" height=\"1\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/pines-attinys84\" target=\"_blank\" rel=\"attachment wp-att-3693 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3693\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/pines-attinys84.gif\" alt=\"pines-attinys84\" width=\"222\" height=\"131\" \/><\/a><\/td>\n<td width=\"30%\" height=\"1\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/pines-attinys85\" target=\"_blank\" rel=\"attachment wp-att-3694 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3694\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/pines-attinys85.gif\" alt=\"pines-attinys85\" width=\"222\" height=\"80\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: center;\">Fig. 1<\/p>\n<h3 style=\"text-align: justify;\">CONVIRTIENDO EL ARDUINO EN PROGRAMADOR ISP.<\/h3>\n<p style=\"text-align: justify;\">Para programar un ATtiny, sea del tipo que sea, necesitamos un programador y una forma econ\u00f3mica de disponer de uno es aprovechar las condicionantes que nos ofrece nuestra placa Arduino y la ayuda del boceto (ArduinoISP) que tenemos en los ejemplos del IDE y as\u00ed de simple ya dispondremos del programador. Adem\u00e1s, si lo que vamos a hacer es m\u00e1s de una grabaci\u00f3n, podemos que crear una sencilla tarjeta que nos sirva para realizar esta tarea sin riesgos de equivocarnos con el cableado del programador.<\/p>\n<p style=\"text-align: justify;\">De modo que vamos a utilizar nuestra placa Arduino para programar un Attiny85. Para lo cual, necesitaremos convertir el Arduino en un programador ISP (\u201cIn-System Programmer\u201d), siguiendo estos pasos:<\/p>\n<ul style=\"text-align: center;\">\n<li style=\"text-align: justify;\">Iniciamos el IDE Arduino, conect\u00e1ndolo al PC.<\/li>\n<li style=\"text-align: justify;\">Ahora, en el men\u00fa abrimos el boceto o sketch \u201cArduinoISP\u201d que est\u00e1 en el men\u00fa ejemplos.<\/li>\n<li style=\"text-align: justify;\">Seleccionamos el puerto y la placa correspondientes a nuestro Arduino (en mi caso Arduino Duemilanove w\/ ATmega328).<\/li>\n<li style=\"text-align: justify;\">Ya s\u00f3lo nos queda cargar el boceto \u201cArduinoISP\u201d en el Arduino.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Como he mencionado entes, vamos a construir una peque\u00f1a placa con la que podremos programar cualquiera de los peque\u00f1os micros que nos presenta AVR, como la mayor\u00eda he realizado pruebas utilizando tan socorrido protoboard, y pensando en construir una peque\u00f1a placa me decid\u00ed a trazar una m\u00e1s completa que sirviera para distintos modelos de micros y para esto lo primero que hay que preparar es el esquema.<\/p>\n<h3 style=\"text-align: justify;\">EL ESQUEMA.<\/h3>\n<p style=\"text-align: justify;\">Los micros ATtiny son peque\u00f1os microcontroladores de 8 bits con poca memoria flash y memoria EEPROM, encapsulados desde los 6 pines hasta los de 32 pines el m\u00e1s grande. Existe un abanico de esquemas en otras tantas p\u00e1ginas, as\u00ed que, resumiendo este que sigue podemos decir que cubre las opciones que me he propuesto para este \u00fatil de programaci\u00f3n, creando un escudo Arduino para programar el ATtiny85, el ATtiny84. No es complicado de seguir y bastante sencillo para realizar.<\/p>\n<p style=\"text-align: center;\">\u00a0<a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/esq_programador\" target=\"_blank\" rel=\"attachment wp-att-3696 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3696\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/esq_programador-300x113.gif\" alt=\"esq_programador\" width=\"300\" height=\"113\" \/><\/a>Fig. 2<\/p>\n<p style=\"text-align: center;\">El mayor problemas que se puede presentar es a la hora de realizar el trazado del PCB, pero esta vez no quiero poner las cosas dif\u00edciles y desde <a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/?attachment_id=3722\" target=\"_blank\" rel=\"noopener noreferrer\">este enlace podr\u00e1n descargar<\/a>\u00a0dicho programa en PDF. He dispuesto los z\u00f3calos de 8 pines, 14 pines y 20 pines que son los m\u00e1s comunes de la serie, he dotado de un regulador de tensi\u00f3n 78L05 y un electrol\u00edtico como filtro, adem\u00e1s de un condensador cer\u00e1mico de 100nf\/63V para evitar oscilaciones indeseadas. Posteriormente a\u00f1ad\u00ed un LED con su resistencia.<\/p>\n<p style=\"text-align: justify;\">Vamos a realizar un circuito impreso, mediante film de pel\u00edcula negativa (la de color azul claro) como la que se ve en la foto, lo que se conoce como m\u00e1scara de pel\u00edcula seca, utilizando el negativo del circuito que hemos creado.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/dryfilm\" rel=\"attachment wp-att-3697\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-3697 alignnone\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/dryfilm-300x249.jpg\" alt=\"dryfilm\" width=\"231\" height=\"194\" \/><\/a> <a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/impresos-placa-pcb\" rel=\"attachment wp-att-3698\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-3698 alignnone\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/impresos-placa-pcb-300x225.jpg\" alt=\"impresos-placa-pcb\" width=\"250\" height=\"190\" \/><br \/>\n<\/a>Fig. 3<\/p>\n<p style=\"text-align: justify;\">Aunque esta no es una p\u00e1gina dedicada a temas de qu\u00edmica, bueno es saber como salir al paso en ciertos casos, obteniendo elementos qu\u00edmicos de productos a nuestro alcance. El que sigue es un extracto.<\/p>\n<p style=\"text-align: justify;\"><em>[Para obtener un buen carbonato de sodio, seg\u00fan nuestro m\u00e9todo, debemos partir del bicarbonato de sodio com\u00fan, de farmacia, material sumamente barato conseguible en todas partes y pa\u00edses. Adem\u00e1s, debemos disponer de una c\u00e1psula de vidrio p\u00edrex (para hervir en ella), o bien de porcelana, o de gres esmaltado\u2026, ciertos esmaltes de baja calidad pueden disolverse al contacto con el carbonato a hervir.<\/em><\/p>\n<p style=\"text-align: justify;\"><em>Se vierten 100 cent\u00edmetros c\u00fabicos (medidos con probeta graduada) de agua natural (no agua mineral) al interior de la jarra. Se a\u00f1ade al agua 10 gramos de bicarbonato de sodio de farmacia. Se revuelve bien en fr\u00edo con varilla de vidrio o cuchara pl\u00e1stica o madera (nunca con metal). Se coloca todo sobre la llama de la cocina casera, al m\u00ednimo. Se revuelve bien al comienzo y se deja calentar lentamente hasta hervir. El agua se ir\u00e1 evaporando con lentitud, y se observar\u00e1 que al fondo de la c\u00e1psula poco a poco se formar\u00e1 un precipitado blanco que es el CARBONATO DE SODIO buscado.]<\/em><\/p>\n<p style=\"text-align: justify;\">En <a href=\"http:\/\/elbarroyyo.blogspot.com.es\/2012\/01\/barbotinas-solucion-al-problema-de-no.html\" target=\"_blank\" rel=\"noopener noreferrer\">este blog<\/a>\u00a0indica como proceder para obtener el carbonato de sodio (Na2CO3), usted puede producir una cantidad suficiente para usar en los circuitos impresos que vaya a realizar.<\/p>\n<h4 style=\"text-align: justify;\">NOTA.<\/h4>\n<p style=\"text-align: justify;\">Si est\u00e1 interesado en realizar este PCB, y no est\u00e1 familiarizado en como utilizar la pel\u00edcula (film) en sus trabajos, le sugiero que se asegure como poner el papel impreso sobre la pel\u00edcula (film) de modo que pueda leer el texto \u201c<b>Esto lo puedes leer<\/b>\u201c, est\u00e1 ah\u00ed para que no se equivoque (le aseguro que no ser\u00eda la primera vez), tambi\u00e9n yo he errado. La imagen siguiente, se aprecia que a\u00fan no se ha quitado el film protector. He utilizado una l\u00e1mina DIN A4 transparente para obtener un mejor resultado, sin embargo la tinta impresa no es suficientemente opaca y la desestim\u00e9, mejores resultados en papel.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/antes_del_acido-multi-progp\" rel=\"attachment wp-att-3699\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-3699 alignnone\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/antes_del_acido-multi-progp.gif\" alt=\"antes_del_acido-multi-progp\" width=\"246\" height=\"136\" \/><\/a> <a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/despues_del_acido-multi-progp\" rel=\"attachment wp-att-3700\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-3700 alignnone\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/despues_del_acido-multi-progp.gif\" alt=\"despues_del_acido-multi-progp\" width=\"250\" height=\"142\" \/><\/a><br \/>\nFig. 4<\/p>\n<p style=\"text-align: justify;\">Por cierto, quiz\u00e1s sea una cuesti\u00f3n personal, algunas veces uno imprime sobre DIN A4 de calidad (80-90 gr.), creo que no es correcto, ya que si bien es m\u00e1s blanco que el de 60 gr. sin duda que a la luz le cuesta m\u00e1s atravesar dicha capa, no obstante si usted no dispone de papel de baja calidad, tambi\u00e9n tiene un recurso a su alcance, cuando vaya a superponerlo sobre el film, pruebe a mojarlo con aceite del que utiliza en la cocina, esto le da la propiedad de hacerse casi transparente, lo que deber\u00eda favorecer el paso de la luz al transferible.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/mascara\" rel=\"attachment wp-att-3701\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3701\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/mascara-300x158.gif\" alt=\"mascara\" width=\"300\" height=\"158\" \/><\/a>Fig. 5<\/p>\n<p style=\"text-align: justify;\">La imagen anterior, se puede aprovechar para imprimir los perfiles de los componentes en la cara donde ir\u00e1n instalados estos. Esta opci\u00f3n, si decide utilizarla se debe realizar una vez se haya pasado el PCB por la soluci\u00f3n \u00e1cida, de modo que no interfiera con la pel\u00edcula de la cara de cobre. Tambi\u00e9n, puede imprimir la figura anterior en papel con adhesivo doble cara y pegarlo en la cara de los componentes, para un mejor acabado.<\/p>\n<p style=\"text-align: justify;\">Respecto de los tiempos de exposici\u00f3n a la luz, hay un ancho margen de posibilidades, ya que depende del tipo de luz, distancia y eso representa una variable no sencilla de cuantificar. Deber\u00e1 hacer sus pruebas pertinentes antes de obtener el resultado optimo. En mi caso, he probado con la luz del Sol de la ma\u00f1ana, durante unos 145 segundos (vamos que he contado hasta 160) y el resultado es el que se aprecia en la placa.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/aspecto-multi-prog\" target=\"_blank\" rel=\"attachment wp-att-3702 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3702 alignnone\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/aspecto-multi-prog-300x225.jpg\" alt=\"aspecto-multi-prog\" width=\"163\" height=\"125\" \/><\/a> <a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/mult-prog1\" target=\"_blank\" rel=\"attachment wp-att-3704 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3704 alignnone\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/mult-prog1-300x225.jpg\" alt=\"mult-prog1\" width=\"158\" height=\"121\" \/><\/a> <a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/multi-prog\" target=\"_blank\" rel=\"attachment wp-att-3705 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3705 alignnone\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/multi-prog.jpg\" alt=\"multi-prog\" width=\"172\" height=\"106\" \/><\/a><\/p>\n<p style=\"text-align: center;\">Fig.\u00a06<\/p>\n<h3 style=\"text-align: justify;\">PRIMERA PRUEBA.<\/h3>\n<p style=\"text-align: justify;\">Ha llegado el momento de convertir nuestro Arduino en un programador ISP que nos asista en esta tarea. En este procedimiento se mostrar\u00e1 c\u00f3mo convertir un Arduino Uno (Duemilanove) en Programador In-Sistema o ISP. El ISP permite programar los microcontroladores AVR y reprogramar, in-situ (sin tener que quitarlos del circuito en el que han de trabajar). Para programar cualquier microcontrolador AVR, mediante 6 cables, realmente son cuatro m\u00e1s la alimentaci\u00f3n +VCC y GND.<\/p>\n<p style=\"text-align: justify;\">Si observamos la imagen de abajo, tres de estos cables con referencias como: <strong>MISO<\/strong> (Maestro-In-Slave-Out); <strong>MOSI<\/strong> (Maestro-Out-Esclavo-In) y <strong>SCK<\/strong> (Reloj Serial), donde el IDE Arduino es el <strong>Maestro<\/strong> y el dispositivo bajo prueba (programaci\u00f3n) es el <strong>Esclavo<\/strong>.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/funcattinys45854484p\" target=\"_blank\" rel=\"attachment wp-att-3706 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3706\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/funcattinys45854484p-300x212.gif\" alt=\"funcattinys45854484p\" width=\"300\" height=\"212\" \/><\/a>Fig.\u00a07<\/p>\n<p style=\"text-align: justify;\">Este es el momento m\u00e1s esperado y que nos tiene como encogidos, estamos seguros, pero siempre queda alguna duda, me habr\u00e9 olvidado de algo, pero vamos a seguir y salgamos de dudas. En todas las webs que he consultado, todas te remiten a probar con el sencillo programa \u201cBlink\u201d y la vedad es que se presta para dicha prueba, pero vamos a ir un paso m\u00e1s adelante, si no funcionara \u00bfque puede pasar?, simple, sale bien o seguimos con m\u00e1s pruebas.<\/p>\n<p style=\"text-align: justify;\">La verdad es que he logrado programar un Attiny2313 conectado a la protoboard y est\u00e1 funcionando, lo que ocurri\u00f3 en ese caso es que, dicho micro no dispon\u00eda de un par de puertos anal\u00f3gicos para mi proyecto y ese es el motivo por el que empec\u00e9 este nuevo proyecto. Desde luego que no tengo remedio, siempre hay un desaf\u00edo que me llama poderosamente, es decir, esta historia empez\u00f3 porque quise dotar de un LCD a mi fuente de alimentaci\u00f3n para eliminar los volt\u00edmetro y amper\u00edmetro anal\u00f3gicos. Y mira en el tinglado que estoy. Pero esto no es nada, en un par de semanas (creo) estar\u00e1 solucionado este tema.<\/p>\n<p style=\"text-align: justify;\">Despu\u00e9s de varios d\u00edas estudiando las posibilidades que me ofrecen los distintos dispositivos, he decidido utilizar el ATtiny85, aunque he de decir que, todo lo descrito aqu\u00ed puede ser aplicado a cualquiera de la gama, con las variaciones m\u00ednimas. \u00c9stas son las caracter\u00edsticas b\u00e1sicas:<\/p>\n<ol style=\"text-align: justify;\">\n<li>Memoria ROM: 8Kb<\/li>\n<li>Memoria RAM: 512 bytes<\/li>\n<li>Pines I\/O:6<\/li>\n<li>Frecuencia: 20 Mhz con cristal externo<\/li>\n<li>Programaci\u00f3n ICSP<\/li>\n<li>Datasheet<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">A tener en cuenta, la denominaci\u00f3n de las patillas o pines, una forma de identificarlos viene descrito en las hojas de datos del dispositivo, tambi\u00e9n puede usted identificarlos en base a la figura de abajo.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/pines-attinys85\" rel=\"attachment wp-att-3694\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3694\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/pines-attinys85.gif\" alt=\"pines-attinys85\" width=\"222\" height=\"80\" \/><\/a>Fig.\u00a08<\/p>\n<p style=\"text-align: justify;\">Usted necesitar\u00e1:<\/p>\n<p style=\"text-align: justify;\">Un Arduino UNO\/Duemilanove y uno de los siguientes microcontroladores. Todos estos son microcontroladores de 8 bits soportados en la plataforma est\u00e1ndar de Arduino. El que mejor se adapte a sus necesidades. (Estoy utilizando un ATtiny85)<a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/circuito-practico-2\" rel=\"attachment wp-att-3707\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-3707 alignright\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/circuito-practico-238x300.gif\" alt=\"circuito-practico\" width=\"238\" height=\"300\" \/><\/a><\/p>\n<ol style=\"text-align: center;\">\n<li style=\"text-align: justify;\">ATtiny44 \u2013 4kb flash de almacenamiento y 14pins<\/li>\n<li style=\"text-align: justify;\">ATtiny45 \u2013 4kb flash de almacenamiento y 8pins<\/li>\n<li style=\"text-align: justify;\">ATtiny84 \u2013 8 kb de flash de almacenamiento y 14pins<\/li>\n<li style=\"text-align: justify;\">ATtiny85 \u2013 almacenamiento flash de 8 kb y 8pins<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Conecte el Arduino al ATtiny:<\/p>\n<ol style=\"text-align: justify;\">\n<li>Arduino 5 voltios al pin 8 ATtiny.<\/li>\n<li>Pin GND Arduino al pin 4\u00a0 ATtiny.<\/li>\n<li>Pin de Arduino 10 al pin 1 ATtiny.<\/li>\n<li>Pin de Arduino 11 al pin 5 ATtiny.<\/li>\n<li>Pin de Arduino 12 al pin 6 ATtiny.<\/li>\n<li>Pin de Arduino 13 al pin 7 ATtiny.<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">Ahora hagamos la instalaci\u00f3n f\u00edsica.<\/p>\n<ol style=\"text-align: justify;\">\n<li>Desconecte el conector USB del PC<\/li>\n<li>Deje el ATtiny conectado a la placa\/protoboard.<\/li>\n<li>Es necesario un LED y una resistencia 220\u03a9<\/li>\n<li>A\u00f1adir la resistencia como se muestra.<\/li>\n<\/ol>\n<h4 style=\"text-align: justify;\">NOTA IMPORTANTE:<\/h4>\n<h6 style=\"text-align: justify;\">Primer contratiempo, el error: <em>avrdude_stk500_getsync(): not in sync:\u2026<\/em><\/h6>\n<p style=\"text-align: justify;\">Creo que este problema se le presenta a mucha gente, cuando intenta programar un micro ATtiny utilizando su habitual Arduino. Ya experiment\u00e9 lo mismo en el anterior intento que he mencionado, no recuerdo como lo super\u00e9, a pesar de las anotaciones que tom\u00e9. He buscado una respuesta que me diera soluci\u00f3n al problema y he de mencionar que me he le\u00eddo unas cuantas respuestas y algunas las he probado, pero no me resolvieron el problema.<\/p>\n<p style=\"text-align: justify;\">Empecemos a configurar el IDE Arduino (he probado con diferentes versiones), usted siga estos pasos. Conecte Arduino, inicie el IDE y elija el puerto, luego elija la versi\u00f3n de la placa en la lista que se muestra.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/conf_board_ide-p\" target=\"_blank\" rel=\"attachment wp-att-3709 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3709\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/conf_board_ide-p-300x262.gif\" alt=\"conf_board_ide-p\" width=\"300\" height=\"262\" \/><\/a>Fig. 10<\/p>\n<p style=\"text-align: justify;\">\u00a0Al compilar el ArduinoISP, tambi\u00e9n es habitual que se muestre un reconocido error, como puede apreciarse en las im\u00e1genes que siguen, salta este mensaje.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/avrdude_stk500_getsyncp\" target=\"_blank\" rel=\"attachment wp-att-3714 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3714\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/avrdude_stk500_getsyncp-300x67.gif\" alt=\"avrdude_stk500_getsyncp\" width=\"300\" height=\"67\" \/><\/a><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/avrdude_stk500_getsync-01\" target=\"_blank\" rel=\"attachment wp-att-3713 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3713\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/avrdude_stk500_getsync-01-300x44.gif\" alt=\"avrdude_stk500_getsync-01\" width=\"345\" height=\"62\" \/><\/a> Fig. 11<\/p>\n<p style=\"text-align: justify;\">Como he mencionado arriba, son muchas las pruebas que he realizado y por \u00faltimo segu\u00ed un consejo y me dio resultado, si usted tiene este problema quiz\u00e1s deber\u00eda probar este proceso y tal vez obtenga como yo la soluci\u00f3n. Al parecer (seg\u00fan se describe en un foro) debe de ser un problema de protocolos, personalmente y siguiendo el consejo del foro, lo prob\u00e9 con la versi\u00f3n 022 de Arduino y me funcion\u00f3, posteriormente en versiones m\u00e1s actuales vi que se produce la incompatibilidad a la hora de programar los Attiny\u2019s, as\u00ed que, para evitar dicho error, segu\u00ed estos pasos:<\/p>\n<p style=\"text-align: justify;\">La cuesti\u00f3n es que se debe modificar el fichero \u201c<strong>boards.txt<\/strong>\u201d que hace referencia a los protocolos, usted ver\u00e1 que es muy sencillo y r\u00e1pido.<\/p>\n<p style=\"text-align: justify;\">Debemos acceder al Arduino que utilizamos para compilar los programas, para localizar el archivo \u201c<b><em>boards.txt<\/em><\/b>\u201c, abrimos el IDE y vamos al men\u00fa <strong>Archivo\/Preferencias<\/strong> o si lo prefiere pulse \u201c<strong>Ctrl+coma<\/strong>\u201d y se abrir\u00e1 una ventana a cuyo pi\u00e9 se indica la localizaci\u00f3n del archivo. Abramos el archivo y edit\u00e9moslo:<\/p>\n<p style=\"text-align: center;\">\u00a0<a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/preferences\" target=\"_blank\" rel=\"attachment wp-att-3716 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3716\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/preferences-300x227.gif\" alt=\"preferences\" width=\"300\" height=\"227\" \/><\/a>Fig. 12<\/p>\n<p>Busquemos esta l\u00ednea: <b><em>atmega328.upload.protocol=arduino<\/em><\/b><\/p>\n<p>Y c\u00e1mbiela por esta: <b><em>atmega328.upload.protocol=stk500<\/em><\/b><\/p>\n<p style=\"text-align: justify;\">Si en su caso no pone exactamente lo mismo, el caso es que debe modificar en dicho fichero, todas aquellas veces que encuentre: <em><b>protocol=arduino<\/b> <\/em>, por <b><em>protocol=stk500<\/em><\/b>.<\/p>\n<p style=\"text-align: justify;\">Espero que le sirva este procedimiento. Como dec\u00eda, antes de poder programar un ATtiny, es necesario cargar el programa \u201c<b>ArduinoISP<\/b>\u201d en el IDE. Por lo que nuestro Arduino puede programar tantos ATtiny como se desee. T\u00e9ngase en cuenta que, si cargamos un programa para trabajar con la placa Arduino, como los presentados en estas p\u00e1ginas, se hace imposible reprogramar un ATtiny. De hecho, el programa que hemos cargado el Arduino sobrescribir\u00e1 el <strong>ArduinoISP<\/strong>.<\/p>\n<p style=\"text-align: justify;\">En este caso, si intentamos programar un ATtiny a continuaci\u00f3n, aparecer\u00e1 el consiguiente mensaje de error. De modo que si queremos programar de nuevo un ATtiny, ser\u00e1 preceptivo volver a cargar el boceto <b>ArduinoISP<\/b>ya que lo habremos sobre-escrito.<\/p>\n<h4>PROBLEMA CONOCIDO CON AUTO-RESET<\/h4>\n<p style=\"text-align: justify;\">Hay un problema conocido con el auto-reset y la t\u00e9cnica ArduinoISP (una caracter\u00edstica<a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/anti-error\" rel=\"attachment wp-att-3715\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3715 alignright\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/anti-error.gif\" alt=\"anti-error\" width=\"207\" height=\"83\" \/><\/a>com\u00fan en la placa Arduino \u2013 en la m\u00eda no siempre se manifiesta el problema). Es posible, por ejemplo, obtener el mensaje de \u201c<b>error: avrdude_stk500_getsync():<\/b><strong> not in sync: resp=0x15<\/strong>\u201c. Si es as\u00ed, puede que tenga que poner un condensador de 10uf entre los pines de la placa Arduino \u201cReset\u201d y + del electrol\u00edtico y su negativo al GND.<\/p>\n<p style=\"text-align: justify;\">Este es el aspecto que presentan los pasos que vamos dando. Al terminar la carga de Arduino ISP.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/cargar_arduinosp\" target=\"_blank\" rel=\"attachment wp-att-3717 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3717\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/cargar_arduinosp-300x291.gif\" alt=\"cargar_arduinosp\" width=\"300\" height=\"291\" \/><\/a>Fig. 14<\/p>\n<p style=\"text-align: justify;\">Una vez se ha cargado el Arduino ISP, ya estamos en condiciones de cargar el conocido programa de pruebas \u201cBlink\u201d, pero antes vamos elegir el micro al que vamos a grabar nuestro proyecto, en este caso el ATtiny85, la versi\u00f3n de 1MHz oscilador interno, sin embargo si queremos que disponga de m\u00e1s funciones a compilar, debemos elegir el de 8MHz oscilador interno (necesario para correr la librer\u00eda SoftwareSerial) no elija oscilador externo, si no va a utilizar un cristal de cuarzo no funcionar\u00e1, como se aprecia en la imagen.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/conf_board_ide-p-2\" target=\"_blank\" rel=\"attachment wp-att-3718 noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3718\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/conf_board_ide-p-1-300x262.gif\" alt=\"conf_board_ide-p\" width=\"300\" height=\"262\" \/><\/a>Fig. 15<\/p>\n<p style=\"text-align: justify;\">Suponiendo que usted ha superado todos estos contratiempos, ahora deber\u00edamos poder programar el ATtiny85 o el que usted haya elegido utilizar en su proyecto. \u00a1Ya era hora!<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.diarioelectronicohoy.com\/blog\/programador-para-attinys\/cargar_blinkp\" rel=\"attachment wp-att-3719\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3719\" src=\"https:\/\/www.diarioelectronicohoy.com\/blog\/imagenes\/2016\/11\/cargar_blinkp-300x291.gif\" alt=\"cargar_blinkp\" width=\"300\" height=\"291\" \/><\/a>Fig. 16<\/p>\n<p style=\"text-align: justify;\">Si al terminar de cargar el programa indica la esperada \u201cCarga terminada\u201d, no le de demasiada importancia a las notas en rojo que se muestran. Quiz\u00e1s lo m\u00e1s complejo sea adaptar el c\u00f3digo que vamos a grabar en el micro puesto que muchas funciones de uso habitual no son compatibles seg\u00fan con que micro haya decidido utilizar usted.<\/p>\n<p style=\"text-align: justify;\">Los siguientes comandos Arduino deben ser compatibles:<\/p>\n<p>pinMode()<br \/>\ndigitalWrite()<br \/>\ndigitalRead()<br \/>\nanalogRead()<br \/>\nanalogWrite()<br \/>\nshiftOut()<br \/>\npulseIn()<br \/>\nmillis()<br \/>\nmicros()<br \/>\ndelay()<br \/>\ndelayMicroseconds()<br \/>\nSoftwareSerial()<br \/>\n(se ha actualizado desde Arduino 1.0)<\/p>\n<p style=\"text-align: justify;\">Es evidente que usted no ha realizado todo este trabajo para ver si puede grabar un ATtiny, entonces, ahora es cuando empieza su verdadero rompecabezas, \u00a1p\u00f3ngase a adaptar c\u00f3digo y disfrute!.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00daTIL PARA PROGRAMAR VARIOS MODELOS DE ATTINY\u2019S. CREADO POR V. GARC\u00cdA. EL 12.12.2015 INTRODUCCI\u00d3N. Hace unos pocos d\u00edas inici\u00e9 una incursi\u00f3n en el apartado del quemado de fusibles de los micros de la familia Attiny (lo que llamamos programaci\u00f3n\u00a0de un micro), como consecuencia de realizar un trabajo para mostrar como poner un volt\u00edmetro digital en [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":3705,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[22,15,296],"tags":[297],"class_list":["post-3687","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-microcontroladores","category-programador-para-attinys","tag-attiny-attiny85"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts\/3687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/comments?post=3687"}],"version-history":[{"count":12,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts\/3687\/revisions"}],"predecessor-version":[{"id":4810,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/posts\/3687\/revisions\/4810"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/media\/3705"}],"wp:attachment":[{"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/media?parent=3687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/categories?post=3687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.diarioelectronicohoy.com\/blog\/wp-json\/wp\/v2\/tags?post=3687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}