Página 1 de 2

¿Qué hay que comprar e instalar para programar con Arduino?

Publicado: 11 Jun 2013 10:31
por PacoA
PARTE 1. MATERIAL NECESARIO.

Hay que comprar unas pocas cosas (y no son caras) para programar el driver.

1.- Programador USB. De 2.5 a 4 euros.

Imagen

Vamos a utilizar un programador USB, del tipo USBasp.

MUY IMPORTANTE. HAY QUE PROGRAMAR EL DRTIVER A UNA TENSIÓN DE 3.3 VOLTIOS. NUNCA A 5 VOLTIOS.
Debemos comprar un modelo que permita programar a esa tensión, o nos cargaremos el driver. Por defecto, el programador lo hace a 5 voltios.

He encontrado dos modelos:

Modelo 1. Es muy fácil poner la tensión a 3.3V (se mueve un conector) pero no pone el nombre de las conexiones. Hay que mirar una foto del modelo 2 para saber el nombre de las conexiones.
Modelo 2. Pone el nombre de las conexiones, pero hay que desoldar una pieza para que programe a 3.3 V.

Observa la foto anterior. Arriba a la izquierda, en los conectores pone MOSI, NC, RST, SCK, MISO. Ese es el modelo 2. Debemos conectar los cables en el orden adecuado, y ese texto nos ayuda mucho a ello. Pero si no tienes soldador, mejor compra el modelo 1.

a) en amazon uk. Busca por USBasp. Por ejemplo, modelo 2::
http://www.amazon.co.uk/USBASP-USBISP-P ... 940&sr=8-4

b) en ebay, simplemente busca USBasp.
RECOMENDADO, MODELO 1:
http://rover.ebay.com/rover/1/1185-5347 ... 4d05ca0b10
RECOMENDADO. MODELO 2:
http://rover.ebay.com/rover/1/1185-5347 ... 4d0549e25b

c) En fasttech:
https://www.fasttech.com/product/1002900
Es un modelo 1.


En el modelo 2 hay que desoldar esta pieza:
Imagen

Esta escrito 0 en la pieza, porque es una resistencia de 0 ohmios. Un simple puente, que hay que quitar.

2.- Pinza para sujetar y programar el Attiny13 (pinzas chips soic8, 8 patillas). De 8 a 30 euros.
Este es el material más caro, y que más calidad requiere. Por desgracia, las soluciones baratas no duran mucho, pero para uso esporádico pueden servir.

Pinza barata. Ojo, no va a durar mucho. El mejor sitio es ebay. Busca “soic8 clip”
http://rover.ebay.com/rover/1/1185-5347 ... 3f25c4385d

Pinza buena. Tengo este modelo de 3M y está muy bien.
http://rover.ebay.com/rover/1/1185-5347 ... 1439.l2649



3.- Cables de conexión. Unos 4 euros.
Si compras pinza barata necesitas cables de conexión macho-hembra. Si compras la pinza cara, cable hembra-hembra.

Cables hembra-hembra:
a) en amazón uk
http://www.amazon.co.uk/Jumper-Wires-Pr ... 389&sr=8-2
b) en dealextreme
http://dx.com/p/single-port-female-to-f ... =affiliate
c) en ebay
busca female jumper o cables prototipo. Comprueba que los dos extremos son hembra.

Cables macho-hembra

a) en amazón uk
http://www.amazon.co.uk/Jumper-Wires-Pr ... rds=jumper
b) en dealextreme
http://dx.com/p/male-to-female-dupont-b ... =affiliate
c) en ebay
busca male jumper o cables prototipo. Comprueba que lun extremo es macho y el otro hembra.

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 11 Jun 2013 10:32
por PacoA
continuará con software y procedimiento programación....

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 11 Jun 2013 22:28
por PacoA
Parte 2.- INSTALACIÓN DRIVER PROGRAMADOR USB

El siguiente paso es instalar el driver del programador USB, que es el encargado de poner nuestro código en el chip de la linterna. Para ello debes bajarlos de
http://www.fischl.de/usbasp/

tienes que ir en la página al lugar donde pone “Drivers”. En el momento de escribir este manual, dice lo siguiente en la página:

Drivers
On Linux and MacOS X no kernel driver is needed. Windows requires a driver for USBasp:
usbasp-windriver.2011-05-28.zip (70 kB)

Si tienes Windows baja ese fichero zip y haz la instalación. En Linux y Mac no hace falta instalar nada.

El siguiente paso es comprobar que al conectar el programador USB es reconocido por Windows. Además, tenemos que averiguar en qué puerto COM está trabajando.

Para ello, en Windows, en otros SO no sé como se hace, hay que ir al administrador de dispositivos. Si está bien instalado te aparecerá al conectarlo un nuevo dispositivo USBasp dentro de “libusb win-32 devices” Como muestra la siguiente figura:

Imagen

Para saber en qué puerto COM está trabajando, selecciona USBasp, botón derecho, propiedades y obtendrás esto:


Imagen

Donde pone Hub se indica el puerto. En este caso está en el COM3. Esa información te hará falta.

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 11 Jun 2013 22:47
por PacoA
Parte 3.- INSTALACIÓN ARDUINO IDE

Vamos a instalar el entorno de programación Arduino (Arduino IDE). Es donde desarrollamos / escribimos los programas. También es desde donde das la orden de programar el chip. Se baja de aquí:

http://arduino.cc/en/Main/Software

Instalar siguiendo las instrucciones. Hay que aceptar todo lo que aparece por defecto. Te creará un enlace al programa en el escritorio.

Al arrancarlo te aparecerá el Arduino IDE:

Imagen

El Arduino IDE por defecto no puedo programar el chip Atmel Attiny13, que es el lleva el driver Nanjg 105c. De hecho desde hace muy poco se puede programar ese chip en Arduino. Por eso no está incluido. Así que hay que incluir la capacidad de programar ese chip. Puedes comprobar que chips puedes programar arrancando el Arduino IDE que acabas de instalar y accediendo al Menú Herramientas/ Tarjeta. No aparece el Attiny13. Hay que conseguir que aparezca en ese menú el Attiny13.

Eso lo explicamos en el próximo post :)

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 11 Jun 2013 22:53
por Bailer
:number1: :aplauso: :roto2cafe:

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 12 Jun 2013 11:15
por PacoA
A continuación vamos a instalar la capacidad de programar el Attiny13, que es el micro que lleva el driver 105c, en el Arduino IDE.
Para ello debemos ir a la página

http://sourceforge.net/projects/ard-core13/

y arriba a la derecha hay un botón verde grande donde pone download. Hacemos click y obtenemos el fichero core13_XX.zip, donde XX es la versión. Ahora va por la versión 18, a punto de salir la versión 19.

Descomprime ese fichero. Obtendrás una carpeta de nombre core13_XX. Renómbrala a core13. ¿Dónde hay que poner esa carpeta?

Tienes que ir a donde se instaló el Arduino IDE, en mi caso, hay que ir a C:\Program Files (x86)\Arduino\hardware En tu caso el principio puede ser distinto. Compruébalo.


Allí crea una carpeta llamada cores y entra dentro. Ahora estarás en C:\Program Files (x86)\Arduino\hardware\cores y allí copia la carpeta que has descomprimido, la carpeta core13.

Es decir, el contenido de la carpeta que hemos bajado está en C:\Program Files (x86)\Arduino\hardware\cores\core13
El primer archivo dentro de core13 es Arduino.h

A continuación debemos añadir contenido a un archivo que se llama boards.txt. Ese archivo está en:
C:\Program Files (x86)\Arduino\hardware\arduino

Pero para modificarlo, hay que copiar el archivo en otro sitio, pues ahí Windows no nos deja modificarlo, ni aun siendo administrador. Así que, por ejemplo, copia el archivo al escritorio. Ábrelo con Wordpad y añade las siguientes líneas:

attiny13.name=Attiny 13A standalone
attiny13.upload.using=arduino:arduinoisp
attiny13.upload.maximum_size=1024
attiny13.upload.speed=19200
attiny13.bootloader.low_fuses=0x7a
attiny13.bootloader.high_fuses=0xff
attiny13.bootloader.path=empty
attiny13.bootloader.file=empty
attiny13.bootloader.unlock_bits=0xFF
attiny13.bootloader.lock_bits=0xFF
attiny13.build.mcu=attiny13
attiny13.build.f_cpu=9600000
attiny13.build.core=core13

Guarda el archivo y cópialo, substituyendo el que había en
C:\Program Files (x86)\Arduino\hardware\arduino

Reinicia el Arduino IDE. Ve al menú Herramientas/Tarjeta y comprueba que ya te aparece el Attiny13, y selecciónalo. Selecciona Attiny13A standalone

Ahora copia el siguiente texto a la ventana del Arduino IDE:

//PROGRAMA LINTERNA SOLO CON UN MODO, PERO PROGRAMABLE
#include 

#define ledpin 1

byte programar; //si programar = 0 no se programa el único modo que hay.
//si programar = 1 se haría la programación del modo, es decir, el usuario elige
//la cantidad de luz que quiere.

boolean hecho = false; //solo una vez el usuario puede elegir si quiere programar la linterna.
//Esto ocurre a los tres segundos de encender la linterna. Ver en el código el delay(3000)
//Hace falta esta variable para que se haga solo una vez. 

byte nivel_luz; //valor de 0 a 255 que fija la cantida de luz que tendrá la linterna. Es
//un valor programable por el usuario


void setup() {
  
pinMode(ledpin, OUTPUT);
nivel_luz = EEPROM.read(4); //lee nivel de cantidad de luz, dese la posición 4 (memoria número 4)

if (nivel_luz == 0) {nivel_luz = 30;} //esta linea solo sirve la primera vez que se utilice
//la linterna despues de programarla. La primera vez despues de la programación toda la memoria eeprom
//vale 0, incluida la posición 4. Por tanto, la linterna no daría luz esa primera vez, nivel = 0.
//Para evitarlo fijamos un valor de salida igual a 30 si la memoria = 0.

programar = EEPROM.read(3); //lee si hay que programar la cantidad de luz desde la memoria número 3.
//Si el valor es 0 no hay que programar. //Si el valor es 1 el usuario elige la cantidad de luz

// fin setup()


void loop() {

  if (programar == 1) {//si programar = 1 entonces empieza la programación
     EEPROM.write(3, 0); //No hay que programar proxima vez se encienda. Guarda programar = 0 en posición 3
     
     //y ahora empieza el bucle FOR tal y como hemos epxlicado antes, el bucle sigue hasta apagar linterna
     for (byte valor=1; valor <= 255; valor= valor+3){
      analogWrite(1, valor);
      EEPROM.write(4,valor); delay(300); }
        }
else {
//si hemos llegado hasta aquí es porque no había que programar la linterna.
//así que ahora se enciende con el nivel porgramado

analogWrite(ledpin, nivel_luz); //enciende la linterna con el nivel_luz leído de la eeprom, memoria 3
 
if (hecho == false) {// esto solo se hace una vez, cuando hecho = false
      delay(3000); //espera 3 segundos
      hecho = true; // ya no lo hará más
      
      //a continuación, después de tres segundos, apaga la linterna durante dos décimas.
      // es decir, hace un parpadeo.
      analogWrite(ledpin, 0); delay(200); analogWrite(ledpin, nivel_luz);
      
      EEPROM.write(3, 1);//guarda hay que programar proxima vez. Guarda 1 en la posición 4
      //si ahora apagamos la linterna, quedaría grabado que hay que programarla
       delay(1500);
       
       //pero después de 1.5 segundos, si no la hemos apagado, ahora guarda el valor 0, es decir
       //guarda que no hay que programarla proxima vez se encienda.
       //Es decir, tienes 1.5 segundos desde el parpadeo para apagarla si quieres programarla
       
      EEPROM.write(3, 0);//guarda no hay que programar proxima vez que enciendas
           
         }// fin hecho == false
   }//fin else
}//fin loop()
 

Ahora vamos a compilar. Se puede hacer desde Menú Sketch/ Verificar / Compilar o con el primer icono por la izquierda, el que parece una V. Si no da error al compilar, ya está todo correctamente instalado.

Solo nos falta conectar la pinza al programador USB :vota:

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 12 Jun 2013 11:33
por Lfatman
:facepalm2:

Demasiado complicado para mi pobre cabecita, pero me apunto a adecuadamente pagar por drivers a la carta si alguien se ofrece a proporcionarlos.

Vamos, lo que viene a ser ¡ Dos de calamares, uno de tortilla y dos 105c 2,8A de un solo modo !

:aplauso: gracias por el aporte!

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 12 Jun 2013 12:20
por PacoA
Lfatman escribió::facepalm2:

Demasiado complicado para mi pobre cabecita, pero me apunto a adecuadamente pagar por drivers a la carta si alguien se ofrece a proporcionarlos.

Vamos, lo que viene a ser ¡ Dos de calamares, uno de tortilla y dos 105c 2,8A de un solo modo !

:aplauso: gracias por el aporte!
te aseguro que no es difícil. Solo hay que seguir los pasos. De golpe parece mucho, pero siguiendo los pasos, cada tarea es fácil.

Si alguien quiere que le programe un 105c, pues que me lo diga. Pero si hago el tutorial es porque me gustaría que aprendierais... compartir la afición, ya sabes.

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 12 Jun 2013 12:48
por Bailer
PacoA escribió:...Pero si hago el tutorial es porque me gustaría que aprendierais... compartir la afición, ya sabes.
En casa me dicen que estoy majara perdio :roto2rie: por querer "aprender" estas cosas. A ver si me quedo libre que tengo ganas de programar uno :sisi3:. Por cierto tengo unas preguntas:
*La pinza barata que estimación de tiempo/usos tiene? Es para hacerme una idea de si para programar 4 drivers podrían servir o no.
*Los cables de conexión para que son? Por lo que he visto la pinza se conecta al controlador directamente, no?
*Como se sabe a que tensión hay que programar? Autorrespuesta: depende del microcontrolador.
*Este controlador sirve para trastear con una protoboard? No voy a abarcar más de lo que puedo, pero hay proyectos sencillos tan bien explicados que.....

Gracias.

P.D: perdón por el :machinegun: a preguntas :respeto:

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 12 Jun 2013 13:10
por PacoA
Bailer escribió:
PacoA escribió:...Pero si hago el tutorial es porque me gustaría que aprendierais... compartir la afición, ya sabes.
En casa me dicen que estoy majara perdio :roto2rie: por querer "aprender" estas cosas. A ver si me quedo libre que tengo ganas de programar uno :sisi3:. Por cierto tengo unas preguntas:
*La pinza barata que estimación de tiempo/usos tiene? Es para hacerme una idea de si para programar 4 drivers podrían servir o no.
*Los cables de conexión para que son? Por lo que he visto la pinza se conecta al controlador directamente, no?
*Si al compilar el programa hay un fallo, te dice la linea donde está?
*Este controlador sirve para trastear con una protoboard? No voy a abarcar más de lo que puedo, pero hay proyectos sencillos tan bien explicados que.....

Gracias.

P.D: perdón por el :machinegun: a preguntas :respeto:
la pinzas, baratas o no, hay que tratarlas con mimo. Para 4 usos tiene que aguantar.

las conexiones pinza / programador hay que redirigirlas. No sirven directamente.

Ya mismo puedes bajarte el compilador desde la página de Arduino y poner uno de los programas que he puesto. Puedes poner un fallo y verás que es muy bueno, como cualquier compilador, diciendo donde está el fallo y de que tipo de fallo se trata.

no entiendo muy bien tú última frase. Pero si te refieres a programar a un micro pinchado en un protoboard, sí, se puede hacer con el programador USB, con cables macho-hembra, los machos pinchados al protboaard. De hecho yo las pruebas las he hecho con un Attiny13 o un Attiny85 pinchados en un protoboard. Puse una foto hace tiempo:

Imagen

En esa foto lo que controla es un diodo led.

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 12 Jun 2013 13:25
por Bailer
PacoA escribió:
no entiendo muy bien tú última frase. Pero si te refieres a programar a un micro pinchado en un protoboard, sí, se puede hacer con el programador USB, con cables macho-hembra, los machos pinchados al protboaard. De hecho yo las pruebas las he hecho con un Attiny13 o un Attiny85 pinchados en un protoboard. Puse una foto hace tiempo:
Spoiler
Imagen
En esa foto lo que controla es un diodo led.
Si :sisi1: eso es lo que intentaba preguntar.

Gracias.

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 12 Jun 2013 13:27
por PacoA
Bailer escribió:
PacoA escribió:
no entiendo muy bien tú última frase. Pero si te refieres a programar a un micro pinchado en un protoboard, sí, se puede hacer con el programador USB, con cables macho-hembra, los machos pinchados al protboaard. De hecho yo las pruebas las he hecho con un Attiny13 o un Attiny85 pinchados en un protoboard. Puse una foto hace tiempo:
Spoiler
Imagen
En esa foto lo que controla es un diodo led.
Si :sisi1: eso es lo que intentaba preguntar.

Gracias.
Pero las placas Arduino se programan directamente mediante un cable USB. No hace falta programador.

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 12 Jun 2013 15:46
por Bailer
PacoA escribió:Pero las placas Arduino se programan directamente mediante un cable USB. No hace falta programador.
Ahh vale voy a investigar un poco más para no preguntarlo todo o esto será una locura jejeje.
:respeto:

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 13 Jun 2013 11:58
por PacoA
USO DE LA PINZA PARA PROGRAMAR

En esta foto se ven numerados los pines del Attiny13 en el driver Nanjg 105.

Imagen

Y en esta foto los pines que se usan para programarlo:

Imagen

Aquí tenemos una foto del programador USB que tiene el nombre de las salidas escrito:

Imagen

Imagen

La flecha roja en la foto anterior, muestra que se ha quitado el puente para que programe a 3.3V. Muy importante. En la foto siguiente, se ha puesto el conector, en el otro modelo, a 3.3 voltios.

Imagen

Por tanto, lo que hay que hacer es conectar las salidas del programador USB a los pines del microprocesador Attiny13. Eso es lo que hace la pinza.

Si tenemos la “pinza cara” es muy fácil. Pues la conexión es directa y se ve cada conexión a que pin va. A pesar de todo, repasad bien las conexiones.

Imagen
Aquí vemos como queda:

Imagen

Si tenemos la “pinza barata” el proceso es más complejo. Aunque la buena noticia es que sólo hay que hacerlo la primera vez que se usa.

A ver si me explico bien. Estiras el cable de la “pinza barata”. Es decir, el cable está estirado, sin darse la vuelta. Y pones así la pinza y el conector que hay al final del cable.

Imagen

El pin 1 en la pinza es el marcado con una flecha en la foto anterior. Es muy conveniente marcarlo. Yo le hecho una marca con el soldador.

En la siguiente foto se ve la marca hecha con el soldador:

Imagen

Pues con esa alineación, estos son los números de los pin:

Imagen

Ya está todo explicado. Falta conectarlos cables y programar.

El siguiente video muestra el proceso de programación utilizando la pinza


Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 13 Jun 2013 17:59
por antiparanoico
:aplauso: :aplauso: :aplauso: :number1:

P.D.: Veo que es todo para windows... Funciona con linux? En caso negativo funciona con XP? Porque en mi casa no hay computadoras con windows pero podría armar una con XP. :contrato: :dale:
PacoA escribió:...
On Linux and MacOS X no kernel driver is needed. Windows requires a driver for USBasp:
usbasp-windriver.2011-05-28.zip (70 kB)...

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 13 Jun 2013 18:10
por Bailer
PacoA escribió:
Pues con esa alineación, estos son los números de los pin:

Imagen
Ahora entiendo el porque de los cables :roto2rie:

:number1: :aplauso: :aplauso:

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 13 Jun 2013 19:50
por Avestruz1
Hola PacoA:

Felicitarte por tu gran aporte.

Estoy teniendo un problema que no acabo de identificar, he seguido los pasos que comentas y todo bien, hasta abrir el Arduino, en el cual la opción "puerto serial" no esta activada, no pudiendo cambiar al puerto que si me identifica perfectamente el administrador de dispositivos. ¿se te ocurre algo? muchas gracias por tu ingente labor estando a mi parecer todo muy bien explicado. Muchas gracias

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 13 Jun 2013 20:17
por PacoA
Avestruz1 escribió:Hola PacoA:

Felicitarte por tu gran aporte.

Estoy teniendo un problema que no acabo de identificar, he seguido los pasos que comentas y todo bien, hasta abrir el Arduino, en el cual la opción "puerto serial" no esta activada, no pudiendo cambiar al puerto que si me identifica perfectamente el administrador de dispositivos. ¿se te ocurre algo? muchas gracias por tu ingente labor estando a mi parecer todo muy bien explicado. Muchas gracias
en principio si no aparecen puertos ahí, es porque no hay reconocidos puertos serie. Es decir, tiene que haber detectado antes (alguna vez) algún puerto serie utilizable por Arduino. Si no has conectado nunca una placa arduino o, en este caso, un programador USB, creo que no te va a aparecer nada. Una vez conectados la primera vez, ya aparecen siempre.

No estoy 100% seguro, pero creo que es eso

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 13 Jun 2013 22:03
por Avestruz1
Muchas gracias, intentare probar en otro ordenador con otro sistema operativo o mirare por internet para ver que se puede hacer...Lo he desinstalado lo he instalado como administrador y ningún resultado...

Re: ¿Qué hay que comprar e instalar para programar con Ardui

Publicado: 13 Jun 2013 23:59
por PacoA
Avestruz1 escribió:Muchas gracias, intentare probar en otro ordenador con otro sistema operativo o mirare por internet para ver que se puede hacer...Lo he desinstalado lo he instalado como administrador y ningún resultado...
para compilar, sin programar, es el icono en forma de v, el primero por la izquierda.

Para programar, es el segundo icono, el de la flecha apuntando a la derecha. Primero compila y luego porgrama

Prueba a compilar solo. No puedes programar si no hay un programador reconocido.