modúlo bluetooth HC-06 y arduino


Hoy os traemos una nueva entrada donde hablamos del económico módulo bluetooth HC-06 y su funcionamiento con Arduino. Dicho módulo trabajo mediante conexión serie con el Arduino, y se comunica con el exterior mediante bluetooth, ya sea a través de un teléfono móvil, ordenador, tablet, etc.

El módulo en cuestión es este, lo he comprado ya con regulación a 3.3V, así que lo puedo conectar directamente a los 5V del Arduino sin problema (Aunque Arduino ya nos proporciona 3.3V, es mejor tener los 5V por si lo usamos en un montaje exterior sin la placa Arduino):

Como véis solo disponemos de 4 pines que son los necesarios, por un lado tenemos VCC que irá conectado a los 5V del Arduino, por otro GND que ira al pin GND de Arduino, después tenemos TXD que irá conectado al pin RXD del Arduino y RXD que irá al pin TXD de Arduino.

En concreto yo he probado dicho módulo en un teléfono HTC Desire S y con el software BlueTerm, y en el portátil con el software Octoplus Terminal (que es un software de comunicación-monitor serie).

Para añadir el módulo al pc mediante bluetooth se debe hacer como un puerto serie virtual, los pasos que yo he seguido son los siguientes:

1º Buscamos los dispositivos bluetooth:

2º Seleccionamos Puerto Serie Virtual:

3º Configuramos el puerto COM que queramos:

4º Finalizamos el proceso de añadir el módulo bluetooth:

Aquí está el video del funcionamiento del módulo:

Y aquí unas capturas para la comunicación del software BlueTerm con el módulo:

Aquí os dejo el código de comunicación para placas Arduino Uno, Mega y Nano:

//Programa prueba modulo bluetooth GP-GC021 o HC-06
//Probado con programas para android Blueterm y Amarino 2.0
//Probado con bluetooth portatil y software Octoplus Terminal
//Programa realizado para www.tallerarduino.wordpress.com por Regata

void setup()
{
  //Pin donde conectamos el led para ver el correcto funcionamiento del modulo
   pinMode(13,OUTPUT);
   //Configuracion de la velocidad del modulo 9600 por defecto, se puede cambiar
   //mediante comandos AT
   Serial.begin(9600);
}

void loop()
{
   //Mientras el puerto serie del modulo bluetooth esta disponible
   while (Serial.available())
   {
      //Guardamos en la variable dato el valor leido por el modulo bluetooth
       char dato= Serial.read();
       //Comprobamos el dato
       switch(dato)
       {
         //Si recibimos una 'w' encendemos el led 13 y enviamos para mostrar
         //en Blueterm Led encendido
         case 'w':
         {
           digitalWrite(13,HIGH);
           Serial.println("Led encendido");
           break;
         }
         //Si recibimos una 'e' apagamos el led 13 y enviamos para mostrar
         //en Blueterm Led apagado
         case 'e':
         {
           digitalWrite(13,LOW);
           Serial.println("Led apagado");
           break;
         }
         //Si recibimos una 'r' encendemos y apagamos el led mediante la secuencia
         //programa y mostramos en Blueterm Led intermitente
         case 'r':
         {
           digitalWrite(13,HIGH);
           delay(200);
           digitalWrite(13,LOW);
           delay(200);
           digitalWrite(13,HIGH);
           delay(100);
           digitalWrite(13,LOW);
           delay(100);
           Serial.println("Led intermitente");
           break;
         }
       }       
   }
}

Aquí el código para la placa Arduino Leonardo:

//Programa prueba modulo bluetooth GP-GC021 o HC-06
//Programa para la placa ARDUINO LEONARDO
//Probado con programas para android Blueterm y Amarino 2.0
//Probado con bluetooth portatil y software Octoplus Terminal
//Programa realizado para www.tallerarduino.wordpress.com por Regata
 
void setup()
{
  //Pin donde conectamos el led para ver el correcto funcionamiento del modulo
   pinMode(13,OUTPUT);
   //Configuracion de la velocidad del modulo 9600 por defecto, se puede cambiar
   //mediante comandos AT
   Serial1.begin(9600);
}
 
void loop()
{
   //Mientras el puerto serie del modulo bluetooth esta disponible
   while (Serial1.available())
   {
      //Guardamos en la variable dato el valor leido por el modulo bluetooth
       char dato= Serial1.read();
       //Comprobamos el dato
       switch(dato)
       {
         //Si recibimos una 'w' encendemos el led 13 y enviamos para mostrar
         //en Blueterm Led encendido
         case 'w':
         {
           digitalWrite(13,HIGH);
           Serial1.println("Led encendido");
           break;
         }
         //Si recibimos una 'e' apagamos el led 13 y enviamos para mostrar
         //en Blueterm Led apagado
         case 'e':
         {
           digitalWrite(13,LOW);
           Serial1.println("Led apagado");
           break;
         }
         //Si recibimos una 'r' encendemos y apagamos el led mediante la secuencia
         //programa y mostramos en Blueterm Led intermitente
         case 'r':
         {
           digitalWrite(13,HIGH);
           delay(200);
           digitalWrite(13,LOW);
           delay(200);
           digitalWrite(13,HIGH);
           delay(100);
           digitalWrite(13,LOW);
           delay(100);
           Serial1.println("Led intermitente");
           break;
         }
       }       
   }
}

Aquí el código de configuración del módulo mediante comandos AT (el módulo no debe de estar emparejado):

/*Cambio de configuracion del modulo bluetooth mediante comandos AT
para ello el modulo no debe estar vinculado con ningun dispositivo
bluetooth, en mi caso el led debe estar en modo intermitente, si esta
vinculado aparece encendido de forma permanente*/

int contador=1;

void setup()
{
  //Led 13 para indicar final de operacion de configuracion AT
  pinMode(13,OUTPUT);
  //Velocidad del modulo bluetooth, 9600 por defecto
  Serial.begin(9600);
  //Apagamos el led 13
  digitalWrite(13,LOW);
}

void loop()
{
  //Es para realizar los cambios una sola vez
  while (contador==1)
  {
   //Indicacion de tiempo de espera iniciado
   digitalWrite(13,HIGH);
   /*Tiempo de espera de 15 segundos (prudencial, se puede cambiar, depende de lo que tardes
   en volver a conectarlos) para reconectar cables RX y TX del modulo bluetooth
   a la placa Arduino ya que para programar esta deben estar desconectados*/
   delay(15000);
   //Indicacion de tiempo de espera finalizado
   digitalWrite(13,LOW);
   //Iniciamos comunicacion con modulo bluetooth mediante comandos AT
   Serial.print("AT");
   //Espera de 1 segundo según datasheet entre envio de comandos AT
   delay(1000);
   //Cambio de nombre donde se envia AT+NAME y seguido el nombre que deseemos
   Serial.print("AT+NAMEtallerarduino");
   //Espera de 1 segundo según datasheet entre envio de comandos AT
   delay(1000);
   /*Cambio de la velocidad del modulo en baudios
   Se envia AT+BAUD y seguido el numero correspondiente:
   
   1 --> 1200 baudios 
   2 --> 2400 baudios
   3 --> 4800 baudios
   4 --> 9600 baudios (por defecto)
   5 --> 19200 baudios
   6 --> 38400 baudios
   7 --> 57600 baudios
   8 --> 115200 baudios
   
   */
   Serial.print("AT+BAUD4");
   //Espera de 1 segundo según datasheet entre envio de comandos AT
   delay(1000);
   //Configuracion Password, se envia AT+PIN y seguido password que queremos
   Serial.print("AT+PIN1234");
   //Espera de 1 segundo según datasheet entre envio de comandos AT
   delay(1000);
   //Mostramos tanto por puerto serial y por led la finalizacion de la
   //configuracion AT del modulo bluetooth
   Serial.print("OK Cambios Realizados correctamente");
   digitalWrite(13,HIGH);
   //Al tener contador=2 ya no se vuelve a repetir el while, a no ser que
   //se produzca un reset, por tanto comenzaria un nuevo cambio de configuracion
   contador=2;
  }  
}

Por último os dejo los datasheets y los programas arriba expuestos:

http://www.mediafire.com/?m76srfxzx4i0amc

Si te ha servido de ayuda esta entrada, puedes realizar un donativo para agradecer el tiempo que dedico al blog y ayudar a hacer más entradas.

donativo_paypal

133 comentarios en “modúlo bluetooth HC-06 y arduino”

  1. Hola, Me supongo que no contestaras a preguntas, pero no encuentro solución para mi problema. Yo también tengo un modulo Bluetooth parecido al de este tutoria. Mi problema es que conseguido que el modulo transmita pero no recibe nada. Estoy usando para enviarle los datos serie el IDE de arduino en una maquina Ubuntu

  2. Hola Esnefu Esnef, por lo que veo intentas enviar desde el IDE de Arduino vía serie hacia el módulo bluetooth, por lo que tengo entendido está no es una comunicación correcta, ya que en ese caso no usas comunicación bluetooth exactamente. Lo que tienes que hacer es instalar una aplicación en Ubuntu llamada «Blueman» la cual te va a permitir emular tu módulo bluetooth como un puerto serie virtual. Una vez instalada esta aplicación tendrás que emparejar tu módulo bluetooth, seleccionando de la lista y seleccionando posteriormente «Usar contraseña de paso personalizado» (aquí introduces la contraseña, por defecto 1234), el programa te va a pedir que introduzcas una clave en tu módulo bluetooth pero no podemos así que esperas un poco, pondrá que «Falló al añadir el dispositivo» y le das a cerrar y ya puedes ver que el módulo está conectado. Ahora solo te queda marcando el módulo bluetooth y dandole a configurar y habilitas el modo «Serial Port». Esto te creará el módulo bluetooth como un puerto COM en tu ordenador, y que configurando en el monitor serie del IDE de arduino o con cualquier otro monitor serie te debería de funcionar perfectamente. Un saludo!!

  3. La comunicación Arduino-PC como la realizas con el cable USB conectado? Estarás enviando directamente desde la conexión serie de Arduino sin utilizar el bluetooth? En el IDE de Arduino seleccionas correctamente el puerto COM y los baudios del módulo bluetooth en lugar del de Arduino.

    Este fin de semana probaré ya que tengo en casa un ordenador con ubuntu instalado y comprobaré si me funciona la conexión mediante bluetooth. No existe otro tipo de monitores serial para enviar datos en ubuntu? prueba con alguno y en cuanto pruebe yo este fin de semana ya te digo algo.

  4. Hola Esnefu Esnef, estas utilizando un Arduino UNO?¿ si es así, este tan solo tiene un puerto serie, por lo que una vez cargado el programa la comunicación serie tan solo funciona con el módulo Bluetooth y Arduino, si no me equivoco, que creo que no, aunque lo miraré para asegurar más el tiro.

    Cuando utilizas la aplicación BlueTerm (desde terminal Android) o Blueman (desde Ubuntu) lo que haces es usar el bluetooth del dispositivo para transmitir los datos y el módulo bluettoth que tienes conectado a Arduino usará la conexión serie para comunicarse con él (unica y exclusivamente) y de esta forma realizar las instrucciones que deseas.

    No sé si te he ayudado en algo, si sigues con dudas podrías compartir el código para así descartar problemas de programación.

    Un saludo!

  5. Si esta conectado por el USB directamente no va. Por ello uso una fuente de alimentación externa y es con esta con la me su cede lo antes mencionado.

    Espero vuestros intentes, pero gracias de antemano por intentarlo. He pensado que puede ser problema del modulo.

  6. Bueno después de mucho probar, a mi me ha funcionado aún alimentado con el cable USB y en ubuntu, lo único es que solo puedo enviar caracteres individuales mediante teclas del teclado del ordenador, he probado el ejemplo que he puesto en este post.

    Una vez que tenemos conectado nuestro módulo mediante puerto serie virtual con Blueman este nos crea dicho puerto como /dev/rfcomm0 , yo lo que hice fue googlear un poco y encontré que desde el terminal y usando un programa llamado screen podemos enviar desde la terminal caracteres al módulo para que Arduino actue según lo que recibe del módulo bluetooth.

    Los pasos que hice fueron los siguientes:

    1) Abro una terminal y pongo: sudo apt-get install screen (a lo mejor ya lo tenéis instalado)

    2) Conecto el módulo bluetooth mediante blueman como dev b, y una vez conectado

    3) me voy a la terminal y pongo: screen /dev/rfcomm0 y le doy a enter

    Una vez hecho esto ya podemos enviar desde el ordenador caracteres al módulo bluetooth. A mi me funciona correctamente y además me muestra por terminal lo que he puesto en este ejemplo, al pulsar ‘w’ en el teclado me muestra «Led encendido», y me enciende el led puesto en la patilla 13, al pulsar ‘e’ me pone «Led apagado» y apaga el led y al pulsar ‘r’ me pone «Led intermitente» y se enciende el led mediante la pertinente secuencia programada. Espero que te ayude. Un saludo!!

  7. Gracias por haberos interesado por mi problema. Ya he encontrado el problema, el modulo tiene algún fallo y si conecto directamente a la salida del modulo gp-gc021 funciona perfectamente. 😉

    P.S: Soy uno de los escritores de la página web http://www.nosolounix.com y me ha gustado algunos de los artículos que escribís en este blog y viendo que sois de licencia CC, como nosotros, puede ser que escriba sobre temas que ya habláis vosotros.

    Un saludo y espero que si tenéis algún problema os pongáis en contacto con migo. Y yo os tratare igual de bien que lo habéis hecho vosotros con migo.

  8. Me alegro de que hayas solucionado tú problema. He estado viendo tu página web y me parece interesantisima, habéis ganado un visitante. Me parece muy bien que te interesen nuestras entradas, y me encantaría que escribieses sobre alguna de nuestras entradas. Si tienes algún problema ya sabes que aquí intentaremos ayudarte en lo que podamos y este a nuestro alcance. Gracias por visitar nuestro humilde blog.

    Voy a poneros aquí en el blog en sitios de interes.

    Un saludo!!

  9. hola amigo, me interesa mucho este tipo de proyectos. Gracias por los tutoriales, aunque tengo un problema: uso un módulo bluetooth, el HC-O5 (o eso dice la pc). el caso es que mi pc no tiene bluetooth incluido, por lo que uso un dongle usb y, como mi windows no trae la aplicacion nativa de emparejamiento bluetooth, uso Bluesoleil para poder usarlo.
    El caso es que usando esto si me detecta el modulo bluetooth (me dice que es un HC-05), lo conecta a puerto serie virtual (COM7) y, hasta este punto, se supone que ya está establecida la coneccion, pero al mandar datos con el Octoplus Terminal, el modulo no reacciona y no hace nada, el programa solo me muestra esto en pantalla

    06/04/2012 07:54:41 p.m.[Tx Msg1]>> w

    y nada mas, como decia, el modulo no hace nada

    Podrias ayudarme?????

    PD: uso un arduino duemilanove

  10. Hola estas seleccionando correctamente el puerto COM con el que quieres emparejar tu pc con el arduino, ¿que es un dongle? un bluetooth de estos USB? supongo que funcionará igual que el bluetooth que traern incorporado los portátiles. Con que circuito estás probando, un único led te llegaría para hacer las pruebas. A lo mejor tienes que configurar el dongle usb y emparejarlo con tu módulo bluetooth. Prueba y me comentas a ver que resultados obtienes.

  11. Hola, gracias por responder. El módulo que tengo es un HC-05 y es exactamente ygual al que muestras en las fotos, solo que éste tiene las patita para STATE y KEY.

    Resulta que ya he solucionado el error, solo tuve que conectar TxD con TxD y RxD con RxD (en este tutorial indicas que son cruzados) y ya funciona perfectamente. Una pregunta, ¿Sabes de casualidad para que sirven las patita STATE y KEY?, otra ¿donde le puedo poner un led para que cuando este activo el módulo se vea la típica luz azul????

  12. Miguel he estado mirando para que sirven esas patitas y he encontrado que por ejemplo la patita KEY (que es la 34 del módulo) sirve para poner a este en modo Master, ya que este dispositivo viene configurado como Slave, por eso se pueden conectar a él otros dispositivos. En caso de poner a HIGH esa patita y mediante comandos AT (AT+ROLE=1) configurariamos el dispositivo como Master.

    En cuanto a la patita STATE de momento no he encontrado nada.

    En el caso de conexión de un led para el módulo HC-05 he encontrado un esquema con indicación de como conectarselo. Te pongo los datasheets y esquemático que he encontrado, espero que te sirvan de ayuda:

    http://www.mediafire.com/?whe857q13ncrat5

  13. ok, gracias por la info…otra cosa, ¿de casualidad sabes como rayos meterle los codigos AT???? (se usa un arduino, un programador aparte….?????) esque quiero cambarle el nombre al dispositivo y la contraseña (te repito es un HC-05)…
    Aparte, ¿sabes si existe una forma de enviarle los textos, así como con el blueterm, pero a travez de un iphone?… me interesaría saber si es posible o si ya existe una app que haga eso, ya que segun me dijeron Blueterm fue hecho a partir de Terminal y de un chat bluetooth

    Agradesco tus respuestas

  14. HOLA TENGO EL MODULO JY MCU CON LAS 5 PATAS LO QUE PASA ES QU BLUETOOTH NO ME DETENTA EL MODULO DSDE MI PC LA EH CONECTADO(PARPADEA Y TODO) PERO MI PC NO LA RECONOCE QUE PUEDO ACER FISCAMENTE PARA QUE EL MODULO SEA DETECTABLE

  15. Seth9008 yo los módulos AT se los cambio mediante un programa que realicé y que aparece arriba en el post, cargo el sketch en el Arduino y con el módulo conectado mediante cables pero sin emparejar a ningún dispositivo, en el sketch es donde cambias las cosas como quieres tú, es decir, nombre baudios, añadir otros comandos AT. Prueba dicho sketch y me comentas. Lo he hecho para que puedas ver el proceso mediante el monitor serial del IDE de Arduino.

  16. Hola Gustavo, ese módulo en principio es como el mío, no se porque se llama JY MCU, has seguido los pasos para poder configurarlo en el pc como he descrito arriba en el post? puede ser que tenga otro pin, prueba a cambiarselo mediante el sketch de comandos AT que aparece arriba. Selecciona correctamente el puerto COM correspondiente y me cuentas a ver si te funciona, si no a ver si damos con la solución para poder hacer que se empareje con tú pc.

  17. HOLA EH TRATADO DE PASAR TU CODIGO AT A C
    /*CONFIGURACION PIC*/
    #include «18f4550.h»

    #fuses HSPLL,NOWDT,NOBROWNOUT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,MCLR,NOPBADEN,WRTB,CPB,EBTRB
    #use delay(clock=48000000) //FREC DE OSC DEL MICRO
    #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) //Comunicación serial a 9600bps, 1 bit de
    ///////////////////c7 RX ////////// c6 TX
    #use fast_IO (a)
    #use fast_IO (b)
    #use fast_IO (c)

    #build(reset=0x02000,interrupt=0x02008)
    #org 0x0000,0x1FFF {}

    //——————————————————————————————————————–
    int contador=1;

    void main()

    {
    while(contador==1){
    output_c(0x01);
    delay_ms(15000);
    output_c(0x00);
    puts(«AT»);
    delay_ms(1000);
    puts(«AT+NAMEtallerardunio»);
    delay_ms(1000);
    puts(«AT+BAUD4»);
    delay_ms(1000);
    puts(«AT+PIN1234»);
    delay_ms(1000);
    puts(«OK Cambios Realizados correctamente»);
    output_c(0x01);

    }
    contador=2;
    }

    PERO NO EH LOGRADO CONFIGURARLO

    NO EH LOGRADO QUE EL MODULO BLUETOOTH SEA DETECTADO POR LA COMPU O POR MI CELL QUE CUENTA CON BLUETOOTH, Y SI TIENE 6 PATAS SATATUS KEY TX RX Y VDD Y GND QUE PUEDO HACER ACASO ES POR NO E PUESTO LOS COMANDOS AT PRA CONFIGURALO Y SI ES ASI COMO LO PUEDO ACER CON UN PIC4550 EN C

  18. Gustavo, en principio tu código debería de funcionar correctamente, yo en el arduino tengo que programar el sketch o programa con los cables tx y rx desconectados del módulo, ya que arduino emplea conexión serie para transmitir el programa, en tú caso me parece que no te hace falta desconectarlos ya que el 18F4550 trae USB nativo, ¿la instrucción #build se corresponde a algo del bootloader no? Yo he estado revisando tú código mediante un libro que tengo de compilador c ccs y simulador proteus y en principio tiene que estar bien, puede ser que el módulo no funcione como tendría que hacerlo. Me parece raro que tu móvil no se conecte a él, ¿te aparece con el nombre de LINVOR? ¿has probado a vincularte a el sin cambiar ningún comando AT?. A ver si vamos descartando cosas para dar con el error.

    Mi módulo bluetooth también trae 6 conexiones pero sólo le tengo soldado 4 de ellas, que son las siguientes: RXD,TXD,GND,VCC y a parte trae STATE y KEY, pero no las conecto nunca. Con el módulo unicamente alimentado ya deberías poder vincularte a través del móvil con tu módulo.

  19. HOLA YA PUDE SOLUCIONARLO ESTAVA EN MODO MAESTRO LO PUDE SOLUCIONARLO CON LOS COMANDOS AT, YA PUDE USARLO MUCHAS GRACIAS PPOR LA YUDA ME SIRVIO LA INFORMACION, AHORA ESTOY TRATANDO DE ECHAR ANDAR UN HMC5883L 3-Axis Digital Compass magnetic Sensor Module free shipping PERO COMO NO TENGO ARDUNIO QUIERO ECHARLO ANDAR EN UN bootloader PARA QUE ENVIE KAS VARIABLES A LABVIEW PERO ESTOY TRATANDO DE ENCONTRAR SI EXISTEN LIBRERIAS FORMA DE COMUNICACION YA QUE USA I2C COMO COMUNICACION EN CCS

  20. Hola Gustavo, me alegro de que resolvieras tu problema con el módulo bluetooth. Algo de eso tenía que ser el error. 0xDA_Bit ha subido hoy precisamente un videotutorial de I2C que aunque está realizado con Arduino a lo mejor puede servite para la comunicación I2C. Un saludo!!!

  21. Hola Regata, acabo de arquiri el modulo para hacer unas practicas de la escuela, quiero hacer que de un pic16f877a envie comandos AT a un celular conectado al modulo bluetooth para que este envie un mensaje a otro celular, mi problema reside en que no puedo hacer que mi celular y el modulo bluetooth se enparejen, ya que el led del modulo bluetooth siempre esta parpadeando. me podrias dar una idea de como puedo hacer el emparejamiento??? el celular es un nokia c3-00. Gracias!!!

  22. Hola Ashirogi, has podido conectar con el PC el módulo vía bluetooth? si no has podido, supongo que debes intentar configurar tu módulo mediante comandos AT a través del 16F877A, ya que a lo mejor está el módulo en modo maestro y por eso no se deja conectar al móvil nokia. Prueba a configurar el módulo en modo esclavo y me cuentas. Si no funciona intentaremos mirar a ver si damos con la solución a tu problema. Un saludo

  23. mmm me la pase buscando toda la noche pero no encoentre los comandos AT para configurarlo como esclavo, solo enocntre que tiene 4 comando configurables: nombre, velocidad de transmision, password y paridad, pero no se cual pueda ser el comando para ponerlo como esclavo, de casualidad tu tendras ese comando????. te anticipo las gracias!!!!!

  24. Mediante comandos AT (AT+ROLE=1) configurariamos el dispositivo como Master, así que supongo que poniendo AT+ROLE=0 el módulo se configurará como Esclavo, de todos en el datasheet que adjunto con el post puedes ver todos los comando AT para configurar dicho módulo. Espero te funcione. Un saludo

  25. ps no quier funcionar, el detalle esta en que mi celular si detecta al modulo y lo vincula, pero no lo empareja, o sea queda parpadeando el led. ya trate de buscar un programa parecido al multi wii para hacer la conexion y no encuentro. Ya no se que hacer!!! me botaran de la escuela XDXD.

  26. Hola Regata.
    Estoy empezando con arduino. Espero que no te moleste dudas de novato.
    Quiero conectar mi móvil android con el arduino con un módulo bluetooth.
    El módulo que tengo es el JY-MCU. Me acaba de llegar de Dealextreme.
    El caso es que veo que tienes dos códigos, el que envía la información del led y el de configuración.
    Para conectar el arduino con el móvil, primero tengo que cargar el programa de configuración y luego el de envío de información?
    Gracias.

  27. Ashirogi me parece muy raro que te lo vincule el móvil y luego no te lo empareje, la contraseña para emparejar el módulo es la correcta?

  28. Hola Victor, no molestas para nada, para eso estamos aquí para poder ayudar en lo que podamos. El código de configuración se lo puedes cargar la primera vez al arduino, modificando a tú gusto la contraseña, nombre, etc del módulo bluetooth, una vez hecho eso ya quedan guardados en el módulo. Después con cargar el otro código ya estaría listo.

    Si no cargas el código de configuración el módulo traerá las opciones por defecto, se llamará LINVOR y la pass la que trae por defecto. Un saludo

  29. Gracias Regata!
    Efectivamente se llama linvor y la contraseña es 1234.
    El caso es que, repasando el código, veo que tienes «contador = 2» fuera del while. ¿Eso no provoca un bucle infinito?
    He metido la configuración en el «void setup» y funciona igual (aunque al principio no funcionaba por otro error mío y no sé si funcionó a la primera o a la segunda).
    El código que he utilizado es uno que he modificado con ideas del tuyo a partir de otro que encontré:

    #include
    SoftwareSerial mySerial(10, 11); // RX, TX

    void setup()
    {
    Serial.begin(9600);
    Serial.println(«Empezando…»);
    mySerial.begin(9600);

    delay(1000);
    mySerial.print(«AT»);
    delay(1000);
    mySerial.print(«AT+VERSION»);
    delay(1000);
    mySerial.print(«AT+PIN1234»);
    delay(1000);
    mySerial.print(«AT+NAMENombre»);
    delay(1000);
    mySerial.print(«AT+BAUD4»);
    delay(1000);
    }

    void loop() // run over and over
    {
    if (mySerial.available())
    Serial.write(mySerial.read());
    if (Serial.available())
    mySerial.write(Serial.read());
    }

    Otra duda, si no te importa:
    Tengo en mente un proyecto que se trata de hacer un coche RC con una cámara para ver en directo lo que va viendo el coche.
    Evidentemente, lo ideal es que la cámara esté conectada al coche o por wifi o bluetooth a otro dispositivo.
    No me quería gastar mucho, a si que las cámaras ip las he descartado. El problema es que ni siquiera encuentro webcam que vayan por bluetooth o algo así.
    ¿Podría ser una solución conectar una webcam por usb con un shield en el arduino para hacer un host usb y mandar la imagen por el bluetooth HC 06?
    Si esto no se puede, lo que me queda es hacerlo por cable o tener que utilizar un android como cámara, pero el coche quería controlarlo desde android y solo dispongo de un móvil con este S.O…. XD
    Gracias de nuevo!

  30. Es correcto lo que dices, fue un fallo mio colocar ahí la variable contador, ya lo he solucionado, así sólo se repite una única vez el código de configuración.

    En cuanto al tema de la webcam, ahí me has pillado, yo he visto algún robot pero que llevaban cámaras de estas pequeñitas que transmiten vía rf me parece, puedes hechar un vistazo en el blog de TCRobotics:

    http://tcrobotics.blogspot.com.es/2011/05/review-camara-inalambrica-12ghz.html

    http://tcrobotics.blogspot.com.es/2011/05/orugasrobot-arduinoorugaspan.html

    Yo creo por las pruebas que he hecho que el establecer la comunicación vía bluetooth te va a limitar mucho la distancia de operación, sobretodo si hay obstáculos de por medio, y habría que mirar de cómo realizar el envío de la información que genera las capturas de imagen de la camara hacia el arduino.

    Tendrías que ver que tipos de cámaras hay, puede mirar por ebay para darte una idea, ya que a mi parecer te van a salir más económicas que cualquier móvil con android.

  31. hola sabes encontre un paperbluetooth para el gp-gc021 pero nose si aplicara para el del tutorial..sabras que yo poseo uno igual a el del tutorial. el paperbluetooth se encuemtra en txpuzas

  32. Miguel Angel efectivamente tiene que valer, lo que hace la shield de txapuzas es reducir la tensión de 5V a 3.3V mediante divisores de tensión a través de las resistencias, el que he puesto yo en la foto y que es el que me he comprado ya trae hecha la regulación a 3.3V para alimentar el módulo a través de los 5V del arduino.

    ¿El tuyo que vienes sólo el módulo o también trae los pines así como el mío? si no los trae deberías realizar las conexiones mediante el esquemático que aparece en la página que mencionas. Espero te sirva la ayuda, y ya sabes cualquier duda no dudes en preguntar.

    Un saludo!!

  33. ok si es el mismo.osea ya trae los pines.ahora. tu k opinas deberia hacer el escudo.solo por proteccion.al modulador? y otra cosa.yo quiero controlar con el modulador de bluetooth una interfaz de reles con arduino..ahora yo kiero k el arduino se comunique con un celular con android, ahora mi problema es k nunka he programado para hacer aplicaciones para android. a lo mucho he visto algo de ello en motodev, o ahora que e investigado un poko de eclipse. en fin mi proyecto es controlar un globo zeppelin a traves de un celular co android, y nota los reles son para controlar los puntos de contacto de los pulsos del control rf del zeppelin. asi k me recomiendas o uso me seria mas facil ocupar el sotfware BLUETERM?

  34. Si es el mismo (el mio trae unas resistencias y un regulador) no te haría falta hacer la shield para proteger el módulo, lo único que te permitiría la shield sería conectarlo más fácil al arduino, sin necesidad de tener una protoboard, ojo creo que al tener tu módulo las resistencias y regulador para obtener los 3.3v a partir de los 5v que proporciona el arduino, solo tendrías que hacer un adaptador para tu módulo bluetooth y que vaya más protegido (tumbado así como en la paperbluetooth de txapuzas.

    En cuanto a lo de android tampoco estoy muy puesto en su programación, aunque es una cosa que me gustaría aprender y a ver si poco a poco voy aprendiendo algo sobre eso. Para lo del globo que dices creo que con el software blueterm vas a tener de sobra para hacer eso.

  35. A lo que me refiero es a que tu módulo ya está listo para trabajar directamente con el arduino. Yo lo que te digo es que para mayor seguridad, o por decirlo de otra forma para que no se te rompa el módulo, le hagas una shield y que vaya tumbado encima del arduino. El adaptador va a ser la shield que tu hagas, no tienes que meterle resistencias ni nada, tu módulo ya va perfectamente así con el arduino, sólo tendrías que poner en la shield 4 pines de conexión para poder enchufar tu módulo. No tiene más misterio. Un saludo

  36. Has intentado comunicar 2 arduinos con este modulo??? Esa es mi intención, pero no encuentro como configurar uno de los dos modulos como maestro…De mi PC a un modulo esclavo no tengo problema… Pero quisiera enviarle datos desde otro Arduino

  37. Hola lobo_mx no he podido comunicar 2 arduino porque solo tengo un módulo bluetooth, más adelante a ver si me compro otro para hacer pruebas. No intentaste configurar uno de ellos mediante el código que pongo en el post de configuración por comandos AT? en los datasheet que adjunto viene información de los comando que se emplean en este módulo, solo tendrías que modificar el código en el IDE añadiendo los comandos que tú desees, ya me contarás y si averiguo algo te comento. Un saludo

  38. buenas, yo me comprado un modulo, es JY-MCU version 1.05,POWER 3.6-6V ; TX RX –LEVEL 3.3V
    YO LE HE CONECTADO A AL ARDUINO UNO A 3.3V Y LAS TERMINALES RX Y TX, DE FORMA CRUZADA Y SIN RESISTENCIAS, TOY HACIENDO BIEN , AL CONECTAR SIN RESISTECIAS ?–
    MI PROBLEMA ES QUE CUANDO INTENTE CONECTARME CON EL PROCESSING 1.5, EL PUERTO DESAPARECE. tengo intendido que el code es el mismo que si tubiera con bluetooch o sin, ya que se hace una emulacionde un puerto serial

    PERO SI ME CONECTO ASIENDO UN PUTTY.EXE ANDA BIEN. QUE PUEDE ESTAR SUCEDIENDO ?
    EN CUENTO A LSO COANDOS AT SOLO ME FUNCIONO , PODER CAMBIAR LA VELOCIDAD, NI LA CONTRASEÑA Y NI EL NOMBRE HE PODIDO CAMBIAR.
    DESDE YA MUCHAS GRACIAS POR SU AYUDA, Y GRACIAS POR EL TUTO-
    AQUI EL MODULO DE DONDE LO COMPRE

    http://www.ebay.com/itm/Arduino-Wireless-Bluetooth-Transceiver-Module-Slave-4Pin-Serial-DuPont-Cable-/320968741708?pt=LH_DefaultDomain_0&hash=item4abb3a534c

  39. Hola Omnimusha.

    Ese modelo que dices es igualito que el mio, así que tiene que funcionar sin poner ninguna resistencia, conectado asi rx bluetooth a tx arduino, tx bluetooth a rx arduino, vcc bluetooth a 5v arduino y gnd bluetooth a gnd arduino.

    No sé cual puede ser el problema con processing, tienes instaladas las librerias para poder trabajar con arduino?, lo de los comando AT me parece raro que no te funcionase, has vuelto a probar, yo con el sketch que está arriba los he cambiado todos, de hecho ahora mi módulo se llama tallerarduino, vuelve a probar a ver si te va y sino pasame los códigos que tienes para probarlos. Pasame también el código de processing y le hecho una ojeada para ver si te puedo ayudar en algo.

    Un saludo!!

  40. Buenas, aqui el code para el processing 1.5

    ////////////////////////////////////////////////

    import processing.serial.*;

    Serial myPort; // Create object from Serial class

    void setup()
    {
    size(200, 200);
    println(Serial.list()); // muestra los pueetos seriaslies disponobles
    String portName = Serial.list()[0];// cambiar el numero del array por el coorespondiente puerto serial
    myPort = new Serial(this, portName, 115200); //velocidad y name de
    }

    void draw()
    {
    if ( myPort.available() > 0) { // If data is available,
    println («read-puertoSerial»+ myPort.readString());

    }

    }

    ////////////////////////////////

    aqui el code para Arduino 1.0–suponiendo que el bluetooch esta por defecto
    a 9600, sino la velocidad que se le ha inpuesto.

    yo cargo el streck , desconecto ek power, concecto el power del bluetooch y conecto el ppower de arduino.
    espero unos 2 min +-. en ese tiempo supuestamente ya se hisieron los cambios.
    entoces ahora cambio la violocidad del arduino por la velocidad del bluetoch.
    osea cargo otro strcech . algo simple ,leer y resivir. funciona bien con el putty, pero con el processing
    literalente desaparece el puerto-

    una pregunta usted cuando se asocia, emparda como sea , la pc le comfigura com dos puertos ?
    ami me aparece uno para entrada y otro para salida. me resualta raro eso

    //////////////////////////////
    int cont =1;
    void setup() {
    Serial.begin(9600);

    }
    void loop() {

    if(cont==1){
    delay(15000);
    Serial.print(«AT»);
    delay(10000);
    Serial.print(«AT+NAMEMyduino»);

    delay(10000);
    Serial.print(«AT+BAUD8»);
    delay(1000);
    Serial.print(«AT+PIN6666»);
    delay(1000);
    cont=2;
    }
    else{
    Serial.print(«ok»);

    }

    }

  41. Hola el código de los comandos AT si lo copiaste tal cual del que tienes guardado y ejecutas en el IDE de Arduino, presenta unos fallos en los delay, tienes puesto delays de 10 segundos. Prueba a ejecutar el código puesto en el post que hice yo, cámbiale los datos por los que quieras poner tú y elimina la configuración de los leds si no te interesa ver que ha finalizado correctamente la programación mediante comandos AT. Te dejo el código modificado para ti:

    /*Cambio de configuracion del modulo bluetooth mediante comandos AT
    para ello el modulo no debe estar vinculado con ningun dispositivo
    bluetooth, en mi caso el led debe estar en modo intermitente, si esta
    vinculado aparece encendido de forma permanente*/

    int contador=1;

    void setup()
    {
    //Led 13 para indicar final de operacion de configuracion AT
    //pinMode(13,OUTPUT);
    //Velocidad del modulo bluetooth, 9600 por defecto
    Serial.begin(9600);
    //Apagamos el led 13
    //digitalWrite(13,LOW);
    }

    void loop()
    {
    //Es para realizar los cambios una sola vez
    while (contador==1)
    {
    //Indicacion de tiempo de espera iniciado
    //digitalWrite(13,HIGH);
    /*Tiempo de espera de 15 segundos (prudencial, se puede cambiar, depende de lo que tardes
    en volver a conectarlos) para reconectar cables RX y TX del modulo bluetooth
    a la placa Arduino ya que para programar esta deben estar desconectados*/
    delay(15000);
    //Indicacion de tiempo de espera finalizado
    //digitalWrite(13,LOW);
    //Iniciamos comunicacion con modulo bluetooth mediante comandos AT
    Serial.print(«AT»);
    //Espera de 1 segundo según datasheet entre envio de comandos AT
    delay(1000);
    //Cambio de nombre donde se envia AT+NAME y seguido el nombre que deseemos
    Serial.print(«AT+NAMEMyduino»);
    //Espera de 1 segundo según datasheet entre envio de comandos AT
    delay(1000);
    /*Cambio de la velocidad del modulo en baudios
    Se envia AT+BAUD y seguido el numero correspondiente:

    1 –> 1200 baudios
    2 –> 2400 baudios
    3 –> 4800 baudios
    4 –> 9600 baudios (por defecto)
    5 –> 19200 baudios
    6 –> 38400 baudios
    7 –> 57600 baudios
    8 –> 115200 baudios

    */
    Serial.print(«AT+BAUD8»);
    //Espera de 1 segundo según datasheet entre envio de comandos AT
    delay(1000);
    //Configuracion Password, se envia AT+PIN y seguido password que queremos
    Serial.print(«AT+PIN6666»);
    //Espera de 1 segundo según datasheet entre envio de comandos AT
    delay(1000);
    //Mostramos tanto por puerto serial y por led la finalizacion de la
    //configuracion AT del modulo bluetooth
    Serial.print(«OK Cambios Realizados correctamente»);
    //digitalWrite(13,HIGH);
    //Al tener contador=2 ya no se vuelve a repetir el while, a no ser que
    //se produzca un reset, por tanto comenzaria un nuevo cambio de configuracion
    contador=2;
    }
    }

    Y en cuanto a processing, yo probaría cargando el sketch en Arduino del StandarFirmata, modificando la velocidad en baudios en Firmata.begin a la que tu desees trabajar, y además con este sketch en processing, para ir viendo si es problema del módulo o de la programación (no he trabajado nada con esa librería que pones de processing, tendría que mirarla cuando tenga algo de tiempo), ojo a la linea arduino = new Arduino(this, Arduino.list()[0], 57600):

    import processing.serial.*;

    import cc.arduino.*;

    Arduino arduino;

    color off = color(4, 79, 111);
    color on = color(84, 145, 158);

    void setup() {
    size(470, 280);
    //Nota donde pone Arduino.list()[0], si no funciona ve cambiando por un 1 o un 2 el valor entre corchetes,
    //es el puerto asociado al puerto serie donde tenemos conectado el arduino
    arduino = new Arduino(this, Arduino.list()[0], 57600);

    for (int i = 0; i <= 13; i++)
    arduino.pinMode(i, Arduino.INPUT);
    }

    void draw() {
    background(off);
    stroke(on);

    for (int i = 0; i <= 13; i++) {
    if (arduino.digitalRead(i) == Arduino.HIGH)
    fill(on);
    else
    fill(off);

    rect(420 – i * 30, 30, 20, 20);
    }

    for (int i = 0; i <= 5; i++) {
    ellipse(280 + i * 30, 240, arduino.analogRead(i) / 16, arduino.analogRead(i) / 16);
    }
    }

  42. he probado sus codidosm y he podido cambiar ahora tambien contraseña, pero no asi el name.
    pero es de menos este problema, la cuestion que me tiene mal, es el no poder conectarme al processing para completar mi proyecto.
    no es la perimera vez que uso procssing, he hecho algunos de un acierta complejidad.
    unico que llego a penzar que halla venido defectuoso, pero no se. poque con el programa putty
    funciona de maravilla.

    cuando se haga un tiempito pruebe concectarce con processjng.
    en cuento a la libreria que usted usa cc.arduino, tengo entendido que es para programar desde el processing al arduino, es deceir cagar el streck al arduino .
    la verdad que nunca use esa libreria, yo primero programo arduino y luego programo processing.
    ese es todo

    Saludos!!

  43. Hola, he estado probando algo con el código que me has puesto de processing pero no he podido siquiera ejecutar el programa, me da un error en alguna línea, probaré en windows a ver si funciona, ahora estoy usando ubuntu.

    Necesitaría saber algo del código que tienes programado en el arduino para saber como intentas conectar el bluetooth a través de processing, yo siempre uso el StandardFirmata, ya que tampoco tengo mucha soltura en usar processing junto a arduino, estoy aprendiendo gracias a los tutoriales de David que están aqui en el blog.

    Un saludo!!

  44. yo me he visto algunos ejemplos de como conectar via bluetooch y es exactamente como si fuera, una comunicacion serial, poque el bluetoch tiene esa opcion que menciona usted en su tutorial, una emulacion de un puerto serial. es decir , bastaria en escribir un Serial.println(«hola mundo»);, por supuesto previamente configurado el bluetooch y el processing bastaria con la libreria que viene por defecto
    import processing.serial.*;
    —————el ejemplo que dispuse del processing, compila bien, lo unico que puede ser, son
    la comillas , que la pagina coloca unas que no son reconocibles ni por arduino ni por proccessing.

    .. e programa es bien siemple ,si el arduino envia algo, processing lo recive y lo imprime.

    pruebe primero en establecer una comunicacion directa sin bluetooch. use lo ejempos que le dispuse.

    —no se si tiene bien instalado el processing en windows, fijese si no le da un error de este tipo » rxtxSerial.dll »
    si es asi busque en google como intalarla y bajarla, o me dice yo lo guio.

    bueno , espeo haberle repondido.
    Saludos y thx por su ayuda.

  45. El error debido a las comillas ya lo corregí pero me muestra un error en esta línea en concreto, es como si no encontrará el puerto correspondiente: String portName = Serial.list()[0];// cambiar el numero del array por el coorespondiente puerto serial; no sé porque me salta ahí un error, he probado sin bluetooth conectado y con él conectado pero nada. De momento estoy usando ubuntu 12.10, más tarde probaré en windows 7 a ver si es algún error del sistema operativo, pero no creo, hasta ahora siempre me ha funcionado correctamente. ¿Tú no has conseguido ningún avance más desde el otro día?, iré probando a ver si hago algo y te voy comentando a ver si damos con el error. Un saludo

  46. En windows compila perfectamente tú código de processing, me muestra un cuadrado gris, y en la consola de processing me dice que existe dos puertos series, COM3 y COM4. Conecto el módulo bluetooth, lo vinculo con el programa blueterm para android y envío letras para ver si escribe algo en el cuadrado pintado por processing pero no hace nada. Como sería el funcionamiento o tú idea de como funciona exactamente este programa?. En ubuntu no me deja lanzar la aplicación de processing, debe de haber algún problema con los puertos series o su asociación para que processing los detecte correctamente.

  47. pero funciona bien sin el bluetooch ??,
    fijese primero que puerto le asocia el buetooch, ami me asicia dos una para entrada y otro para salida, ¿poq?, no se. por ejeMPLO COM 5 , COM 6,
    cuando efecuto el programa el purto desaparece, fijese en la lista de puertos disponobles.

    EN LA CONSOLA DE PROCESSING DEBERIA MOSTRAR LO QUE ENVIA ARDUINO.

    NON HE PROGRAMADO NADA PARA FORMA GRAFICA PARA HACERLO MAS SENSIILO AL PROGRAMA,
    HE IR DIRECTAMENTE A O QUE NOS COMPETE.

    PRUEBE SIN BUETOOCH , ES EL MISMO CODIGO, VERUFIQUE QUE NOMBRE DEL PURTO CONCIDE
    CON E NUMERO DEL ARRAY.

    String portName = Serial.list()[0];// cambiar el numero del array por el coorespondiente puerto serial

    ahi le envio unas images, una imagen es mas que mill pa…………

    image 1: muestra el funcionamiento de arduino y processing sin bluuetooch
    image 2; muestra la configuracion del bluettoch -arduino
    image 3: funcionamiento del programa putty -comunicacion bluetooch- funciona como se ve
    image 4: programa processing y puerto- desaparece al ejecutar el programa

    http://www.mediafire.com/?7kjc57b1lyhac29

    Saludos!!!

  48. A mi me aparece esto: http://www.mediafire.com/?0nw409onhky1w2b

    Al instalar si que aparecían dos puertos COM: 7 y 8, pero una vez terminada la configuración sólo aparece el puerto COM8 como entrante, como podrás ver en la imagen, he programado el Arduino como tienes en las imágenes que me has mandado y el código processing igual, lo único que he cambiado ha sido la velocidad, ya que yo tengo el módulo bluetooth a 9600 baudios. A ver si ves algo raro en la imagen.

    Nota: me he estado fijando y a mi también me desaparece el puerto en servicios bluetooth. No sé a que se puede deber esto.

  49. yo veo tres cosas:
    1: usted tiene una verision rxrx que no anda bien para el processing, yo tengo esta. rxtx-2.1-7-bins-r2 .
    «aparte le avisa e programa del error o peligro» vea esto como descargarla he intalarla

    https://forum.processing.org/topic/how-do-i-install-rxtx-2-2pre1-jar-on-windows-7#25080000000981023

    2— a usted no le desaparece el puerto

    3…cambie el array por su puerto ——- String portName = Serial.list()[2];
    myPort = new Serial(this, portName, 9600);

    nota: supongo QUE el COM 4 , ES EL PUERTO DEL ARDUINO, OSEA String portName = Serial.list()[1];
    ————————————————–
    haber que sucede …..ek proximo caputulo.ja

  50. He hecho lo que comentas, ahora se muestra en la pantalla de processing el mensaje hola mundo, pero por lo que veo el módulo bluetooth no está vinculado a ningún dispositivo, ya que el led de dicho módulo sigue parpadeando como cuando no está vinculado. Te adjunto una imagen: http://www.mediafire.com/?5j75rggwgb71vuh

  51. usted se ha comunicado al arduino via serial sin buetooch– por el puerto COM 4.

    println(Serial.list());
    String portName = Serial.list()[1]; //// [1] == COM 4
    myPort = new Serial(this, portName, 9600);

    ———————————————————————————–
    _______________________________________________________

    SI USTED QUIERE COMUNICARCE POR VIA BLUETOOCH DEBE PONER EL 2– EN EL ARRAY

    println(Serial.list());
    String portName = Serial.list()[2]; //// [2] == COM 8
    myPort = new Serial(this, portName, 9600);

  52. hola quiera saber si se puede remplazar el hc-05 por un modulo bluetooth usb (de esos tipo pendrive)…??? osea funcionara con esta libreria…???

  53. Hola Omnimusha!!Perdón por tardar en contestar, he estado muy liado esta semana con examenes en la universidad y no he podido probar nada más sobre este tema!! Ahora que esta semana tengo algo de tiempo libre seguiré probando y te comentaré algo. Un saludo

  54. Hola no estoy muy seguro de eso, que tipo de placa tienes para conectar el módulo bluetooth usb? en principio funcionará de igual manera, una alimentación a 5v, y una comunicación serie a través de bluetooth (de estoy no estoy muy seguro), si es así a lo mejor si se puede emplear y conectar de igual manera que el módulo hc-05.

    Un saludo

  55. Hola que tal,
    quiero comunicar la arduino con pure data pero de forma inalámbrica, actualmente uso de pduino y para la conexión entre la computadora y la arduino se usa el cable USB, no se si lo conozcan http://es.wikipedia.org/wiki/Arduino#Aplicaciones , y funciona a la perfección, pero hay que tener conectada la arduino por usb, quería saber si se les ocurre una manera de poder hacer la conexión inalámbricamente, yo me imagino que bluetooth a de ser la manera más fácil y sencilla, alguna idea??

    Espero su respuesta, y gracias por la atención

  56. Hola amigo, espero que me puedas orientarr, ya he intentado de distintas formas conectar el modulo bluetooth, a Android y PC pero en ninguna me deja, al parecer se vincula, por que el led deja de parpadear, pero, por ejemplo en Android al usar tu codigo de ejemplo y Blueterm, escribo las letras correspondientes para que encienda el led, parpadee o se apage, y al parecer no envia nada al arduino, el blueterm me aparece conectado, pero no funciona, no se si me pudieras orientar para la conexion de este con el Android y con la PC, en verdad te agradeceria mucho tu ayuda, lo pienso usar en un proyecto y conectarlo con Labview, en cuanto lo pueda terminar, subo los videos de como hacerlo, pero lo unico que me faltaria es la comunicacion via bluetooth.

    PD. Lo unico que pude hacer y me funciono, fue el envio de comandos AT, con este pude cambiar el nombre al dispositivo

  57. Hola Erick!! Estos días ando muy liado con la universidad, y a partir de la semana que viene tengo vacaciones y puedo andar cacharreando con la electrónica, así que me pondré a ver si puedo ayudarte en lo que te ocurre.

    Como dices has logrado cambiar nombre, pass, etc…; el siguiente paso veo que también lo debes tener solucionado ya que cuando el dispositivo está vinculado el led permanece alumbrando de manera fija y no parpadea. ¿Que módulo en concreto tienes de bluetooth? ¿Has copiado tal cual los códigos y que IDE usas para programar el arduino? Vamos a ir viendo paso a paso donde puede estar el problema, también debes tener desconectados los cables RX y TX mientras subes el sketch al arduino, una vez cargado el sketch ya puedes conectarlos al módulo bluetooth. Un saludo!!

  58. Hola vampii!! He estado pensando y creo que tienes razón, yo veo la conexión bluetooth bastante sencilla y además muy económica para conectar los dispositivos inalámbricamente. Tengo que echar un vistazo a estos programas que comentas ya que no los conocía y tienen muy buena pinta. En cuanto tengo algo de tiempo investigaré sobre este tema. Un saludo!!

  59. Hola Regata!!! Antes de nada quería agradecerte el tutorial. He intentado seguir los pasos y conseguido que cargándole un programa por el cable USB a arduino, me envíe información por Bluetooth por un puerto serie virtual. El problema que tengo es que cuando intento cargar un programa de Arduino uno mediante USB me da el error: avrdude stk500_getsync() not in sync resp=0x48

    He conectado RXD a TX de arduino y TXD a RX.

    Muchas gracias !!!

  60. Hola Eduardo!! Si he entendido bien tú problema, es que no te deja cargar los programas al arduino mientras tienes conectado el modulo bluetooth a tu arduino mediante los pines RXD y TXD. Como arduino emplea esos pines para la comunicación con el ordenador, lo que tienes que hacer es que cuando vayas a programar tu placa arduino UNO debes desconectar ambos cables. Si no es este tú problema ya me dirás cuál es, un saludo!!

  61. Hola Regata!!
    Primero agradecerte tu ayuda, ya que los codigos que proporcionas, me han ayudado mucho.
    El problema que tengo es el mismo que Erick. Mi modulo es HC-06 y consigo emparejarme, mediante Android con la aplicacion Blueterm y mediante PC con la aplicacion Blueman.
    El modulo deja de parpadear(modo busqueda) y se queda fijo (emparejado), pero los datos enviados por la terminal no realizan ningun cambio en el LED, ni siquiera parpadean los leds RX y TX integrados en mi placa arduino( Leonardo) cuando mando un caracter.
    No se a que puede deberse esto.

    Espero tu respuesta,muchas gracias de antemano. Un saludo!

  62. Vale, he conseguido conectar Arduino con mi teléfono móvil Android y todo funciona correctamente. La pregunta que tengo es: se puede conectar el ordenador mediante Bluetooth y compilar y cargar un progama en la placa de Arduino o solo sirve para poder jugar con los pines mediante Android ?

    Muchas gracias !

  63. He conectado un arduino leonardo con esta placa de bluetooth http://www.seeedstudio.com/wiki/Bluetooth_Shield tal como se muestra en la pagina. Establezco correctamente la coneccion desde un android al arduino, pero al enviar un valor el cual debería hacer una acción programada como prender un simple LED no hace nada, al abrir el monitor serial desde el programa de arduino para ver que si esta recibiendo el valor no muestra nada, que por lo general cuando se envían datos por bluetooth a un arduino y abrir el monitor serial de arduino se ve lo que se envia, consultando logre encontrar algo al respecto «No reset when you open the serial port.» en esta pagina http://arduino.cc/en/Guide/ArduinoLeonardo el cual hablan sobre esto pero igual con esto no se que deberia hacer para trabajar con el bluetooth desde arduino

  64. Hola jj!! Perdón por el retraso pero me he estado informando sobre tu shield y el arduino leonardo. No he podido probar ningún ejemplo ya que no dispongo de la placa arduino leonardo para probar. Por lo que tengo entendido después de revisar las páginas que me has puesto, el arduino leonardo emplea la comunicación serie a través de software y no por hardware, lo de «No reset when you open the serial port» es porque con el arduino uno al abrir el monitor serie se reiniciaba el sketch cargado en arduino, mientras que con el arduino leonardo no pasa esto, y que en la web indican como «solucionarlo»:

    Serial.begin(9600);
    // mientras no haya comunicación serie no hacer nada
    while (!Serial) ;

    Con este código el arduino esperara hasta que el monitor serie se encuentre abierto.

    ¿Estás usando el código de ejemplo Slave de la libreria Bluetooth de Seeed? Prueba con el programa para android Blueterm y asegurate de que tienen la shield configurada para trabajar con los pines previamente configurados en el sketch.

    Un saludo!!

  65. Hola a todos, necesito orientacion sobre lo que quiero hacer.
    Quiero usar una conexion bluetooth entre arduino UNO y labview. Por ejemplo realizar un programa en el VI de labview y mandarselo a la placa via bluetooth.
    Quisiera saber como configurar esta tarjeta bluetooth que irá incorporada al Arduino y si ya existe bloques bluetooth en el toolkit que se instala en Labview.

    Pd. No necesito mucha distancia para la comunicación inalambrica

    Gracias

  66. Hola Jhosep!!

    Pues para la configuración de la placa bluetooth te sirve mediante comandos AT, como está explicado en este mismo post, con ellos puedes modificar todas las características de tu placa: nombre, baudios, password, etc.

    En cuanto al Labview, desde la versión 7.1 agregó soporte para la comunicación bluetooth, puedes encontrar los VI’s debajo de All Functions»Communication»Bluetooth. En LabVIEW 8.x, los VIs de Bluetooth se localizan en Functions»Data Communication»Protocols»Bluetooth. Según la web de National Instruments dice que existen varias limitaciones para emplear bluetooth con Labview por lo que ellos sugieren que se revise el siguiente tutorial: http://zone.ni.com/devzone/cda/tut/p/id/3260

    En cuanto a algo más de Labview no creo que pueda explicarte nada más, ya que soy novato en este tema, en la universidad estamos empezando a ver algo de este software, pero solamente llevamos una clase.

    Un saludo y espero haberte ayudado en algo!!

  67. Lo siento, el enlace está en el comentario anterior, no se porque no me pillo el enlace antes, espero te sirva de ayuda!!

  68. Hola, ya he configurado el comando AT pero probado el de LED y solo me deja desde el monitor serial del pc, desde el android no me deja.

  69. No me explicado bien tengo el arduino uno, en el monitor serial del arduino si que me sale «led encendido», etc. pero en el android blueterm solo me aparece la letra w, e , r…
    Tambien desde el blueterm le envio las letras pero no me aparecen en el montior serial. Alguna solucion, gracias!!

  70. Hola omnimusha soy el de arriba, quiero decir que del PC a arduino si me funciona pero de Blueterm (android) a arduino no me funciona. Y si que se comunica porque el bluetooth jy-mcu que la luz permanente.

  71. OK, la verdad que no dispondo del celular con Android. pero se me ocurre la velocidad es que este el dispositivo y arduino. asegurece que tanto arduino como el bluetooch esten a la misma velocidad, aqui el
    autor lo puso a 9600, lo que supongo que todos los celulares pueden leer a esa velocidad.

    otra cosa que se me ocurre, es que cuando envias un caraacter desde el celu, el arduino no interpreta
    el caracter que el autor puso. asi que acegurate que el caracter que envias es realmente el que resives.

    prueba este code, es ma sensillo,, si te vinculas con el celu o la pc, te enviara un mensaje

    void setup() {
    Serial.begin(9600);
    while (!Serial) {

    }

    }

    void loop() {

    Serial.println(«Funciona ??»);
    delay(300);

    }

  72. e sabio regata yo estoy haciendo un programa donde atraves del bluetooth controle 2 servos pero por alguna razon no recibe la señal y cuando parece ke la recibe se mueve un poko y no regresa a su posicion del inicio del programa

    estoy mandando x medio de la pc }
    instale el octoplus pero no tengo internet
    tengo el arduino mega

    no me puedes dar unos tips para usar ese modulo de manera correcta???
    y ke ese programa me salga

    mandarle un numero y el servo se mueva tantos grados (ya la probe sin bluetooth si funciona)
    agradecere tu respuesta

  73. el problema es de programacion, o de software, de conexion o de energia

  74. Hola Baixtor!! Exacto probaría tal y como te comenta el amigo Omnimusha el tema de que tengas correctamente seleccionados los baudios en ambos dispositivos para realizar una comunicación satisfactoria entre tú móvil android y el módulo bluetooth. Yo he vuelto a probar el código en varias ocasiones y me funciona perfectamente.

    Si puedes indicanos más datos sobre la configuración que has realizado al módulo bluetooth y alguna captura de pantalla de la configuración del software blueterm en tú móvil. Además como comentas el módulo bluetooth funciona correctamente ya que con el PC si te ha funcionado, así que tiene que ser algún problema de configuración.

    Un saludo!!

  75. Hola spuak!!

    ¿Podrías pegarme el trozo de código que envías a través del bluetooth para ver como haces el envío? Lo que se me ocurre es que estés intentando enviar números tal que así: 180, 90, 60, 45,… etc, e igual al enviarlos por una comunicación serie lo que recibes a través del módulo sería solo valores de un dígito: 1, 8, 0, 9, 0. ¿No sé si me explico correctamente? Igual te conviene crear unos arrays para ir guardando los datos enviados y luego convertirlos a datos tipo int para poder trabajar con los servos correctamente. (Esto lo hablo desde la ignorancia ya que de momento no he visto tú código, por tanto es sólo una suposición).

    El tema de la alimentación, depende de que tipo de servomotores emplees, ya que tienes que saber las características que tienen estos (sabiendo que los pines de arduino proporcionan como máximo 40mA). Te recomiendo que los alimentes por separado del arduino. Si puedes indica también el modelo del servo que utilizas.

    Un saludo!!

  76. Hola de nuevo jj!!!

    Al fin me he conseguido un Arduino Leonardo y he probado el código bluetooth de esta entrada, primero decirte que tal como está no podrás ver nada aunque estés conectado al módulo bluetooth, ya que el arduino leonardo presenta dos puertos series independientes, uno que está asociado al conector usb y otro que está asociado a los pines RxD y TxD de la placa y he aquí lo que me ha funcionado a mi: el puerto serie asociado al usb se llama Serial, y el puerto serie asociado a los pines RxD y TxD de la placa se llama Serial1. Por tanto tendrás que cambiar en el código todos las instrucciones donde ponga Serial y llamarlas Serial1. Voy a agregar al post un nuevo código para el arduino leonardo.

    Un saludo y espero que te sirva!!

  77. muy buen tutorial, pero tengo un problema espero que me puedas ayudar poseo arduino uno,el hc 05 y el octoplus, mi problema es que si tengo conectado el arduino a mi pc (solo para alimentarlo) y mando a encender un led y el led enciende por medio del octoplus, pero desconecto el arduino y lo alimento por medio de una fuente y mando a que encienda un led, no me funciona, en el octoplus me aparecen dos com selecciono uno pero me aparece como com19c mando algun dato y me aparese error com19c

  78. Hola juicdaniel!!

    ¿Has emparejado antes el módulo bluetooth a través del bluetooth del PC? Yo lo he vuelto a probar, siguiendo los pasos descritos y he alimentado el arduino con el módulo bluetooth a través de una pila de 9V y ha funcionado la comunicación a través del Octoplus terminal. ¿Te has fijado si el led del módulo bluetooth está fija cuando realizas la comunicación (esto indica que el módulo está vinculado a otro dispositivo), si el led está parpadeando es que no hay vinculo que el otro dispositivo. Para realizar la comunicación debe estar alumbrando fijo el led. Si puedes dame más información a ver si solucionamos tu problema. Un saludo!!!

  79. no se conecta el hc05 con el pc que tengo que hacer,?? cargar primero el codigo del at?

  80. Hola estoy buscando donde descargar el octoplus Terminal. alguien puede ayudarme? 🙂 Saludos!

  81. Hola Steven!! Pues para poder conectarte a tú módulo bluetooth, tienes que configurarlo antes, o bien conectarte a él con los parámetros que trae por defecto. Lo mejor es modificarle tú el nombre al módulo, el código pin para vincularlo al pc o al móvil, etc (y esto se hace cargando primero el sketch de comandos AT). Luego el módulo tendrá los parámetros de código pin y nombre que tú le des y al cargar el otro sketch y vincularte al módulo, ya podrás trabajar con él desde el pc.

    Un saludo!!

  82. hola regata, tengo un modulo hc-05, pero necesito cambiar su baud rate a 115200 he probado ya el codigo que pusiste arriba pero no se cambia nada dentro de mi bluetooth, he conectado los pines de rx y tx intercambiados y los conecto despues de que se abre el monitor serial, que crees q deba estar haciendo mal?

  83. Hola nestor!!

    Si te fijas en el sketch de comandos AT tienes un tiempo (creo yo suficiente, aunque lo puedes modificar a tu gusto) de 15 segundos (se mantiene el led L de la placa Arduino encendido) para conectar los cables de RX y TX del módulo bluetooth a la placa Arduino, una vez que se apaga el led L (pasados esos 15 segundos de tiempo de espera) el Arduino configura el módulo bluetooth con los comandos AT que tú le indicas en el sketch. Sigue los pasos correctamente y todo funcionará OK.

    Espero haberte ayudado. Un saludo!!!

  84. NO PUEDE CARGARSE EL PROGRAMA CONFIGURAR EL MODULO BLUETOOTH AL ARDUINO MEGA ¿ME PODRIAS AYUDAR?

  85. perdon, podes explicitar mejor, poque no te entiendo ni «J», Tips: es mejor releer los que escribistes y
    modificarlo si es necesario, para una mejor coherencia de lo que pretendes explicar.

  86. Hola Jorge!!

    Quizás es porque tienes puestos los cables en TXo y RX0 mientras intentas cargar el sketch en el Arduino, y según está puesto en el post, es necesario quitarlos mientras se sube el sketch, una vez hecho eso los vuelves a conectar rápido, ya que el programa tiene un tiempo prudencial para la conexión de los mismo, indicado mientras está encendido el led L de la placa, o un led que conectes al pin 13 del Arduino. Espero que sea eso, sino intenta darnos más datos para poder ayudarte. Un saludo!!

  87. Hola Regata.
    Te cuento que soy nuevo en esto, quiero hacer funcionar una PDA con un equipo de topografía. Tengo el modulo BT (un JY-MCU) y compre el USB para programarlo. Lo instalo en la PC y con la aplicación Putty lo configuro como indican. No tengo problemas hasta ahí. El tema es que no veo el BT en mi PC, Tengo Win XP SP1

  88. Hola Regata.
    De nuevo para consultarte. lo que quiero hacer con el modulo bluetooht es remplazar un cable, yo uso una HP Ipaq como colectora de datos. La HP envia la señal para que el instrumento mida y este devuelve las mediciones, que yo leo en la HP.

  89. ??, supongo que tienes el modulo bluectooch vinculado al pda, osea este tiene bluetoch.
    para conectarlo via bluetooch a la pc , la pc tiene que tener blueech, es lo mismo procedimento
    vincular un celu al pc via blue.

  90. Hola Omni, gracias por responder. La PDA mía viene con BT incluido. Lo que no puedo es hacer que mi PC se conecte a la PDA via BT

  91. Hola Carlos!!Perdón por tardar en contestarte pero es que ando muy liado con mi proyecto para la Universidad y casi no tengo tiempo para nada. Como bien dice Omni, ¿sabes si tú PC tiene un dispositivo bluetooth incorporado para poder conectarte a otros dispositivos? Ya que si este no tiene dicho dispositivo bluetooth es imposible que encuentre tu módulo bluetooth JY-MCU. ¿Tienes algún smartphone (teléfono móvil) que disponga de bluetooth?, sí es así y es un móvil con android puedes descargarte la aplicación Blueterm para probar que tú módulo funciona correctamente y puedes vincularte a él. Me parece muy raro que no puedas ver el dispositivo a través del PC si este tiene Bluetooth incorporado, ¿puedes enseñarnos una foto del módulo en cuestión? Descartamos también que venga defectuoso debido a que comentas que lo has configurado a través de Putty y lo has configurado satisfactoriamente.

    Un saludo!!

  92. Hola Regata. Gracias por responder, por el tiempo no te preocupes, yo tambien estoy con trabajo y por ahi no le levar mucho el apunte.
    Como le decía Omni. al modulo BT lo tengo puesto en la PC, la PDA que quiero conectar (HP Ipaq 2790 b) tiene BT incluido.
    En el link «»http://www.helicopterosrc.net/index.php?topic=21337.0″» esta el modulo que tengo y como lo conecte a la PC.

    Lo que quiero es que el modulo BT me sirva para intercambiar datos con un equipo de medición.

  93. Buenas!

    Está genial la explicación, te comento mi caso:

    He programado el módulo (jy-mcu 1.05) con los comandos AT y todo perfecto. Lo he probado con el móvil y funciona perfecto, pero al probarlo con el ordenador empiezan los problemas…
    Lo he sincronizado y metido el código de pair y queda sincronizado(aunque el led del módulo siempre parpadea) y al abrir PuTTy funciona también perfecto.
    El problema es que Processing no consigue crear un puerto serie ya que al intentar conectarse al COM3 que es donde debe estar el módulo, dice que se ha conectado pero realmente no se conecta, de hecho el led sigue parpadeando.

    Alguna solución?
    Un saludo!

  94. Hola de nuevo Carlos Verce!

    Ahora que he estado mirando tú duda, necesito saber como tienes conectado el módulo bluetooth a tú PC. Porque leyendo los comentarios sigo sin entender la conexión que tienes realizada.

    Una vez solucionado el tema de que tu PC reconozca el módulo la comunicación entre PDA y PC será fácil.

    Un saludo!!

  95. Hola Carlos!! ¿Que sistema operativo estás usando? Yo antes usaba windows xp y me vínculaba el módulo bluetooth perfectamente desde el PC, ahora me he pasado a windows 7 y el mismo módulo soy incapaz de establecer conexión como hacia desde el windows xp, se me crean dos puertos serie y no hay manera. Con un programa que me descargue si que se establece (es parecido al PuTTy). A ver si entre los dos damos con la solución a este problema!!

    Un saludo!

  96. Regata ya he encontrado la solución! ya que lo que yo quería no era usar PuTTy sino un programa que me había hecho en java (Processing concretamente), era cuestión de actualizar las librerias rxtx.

    Aunque de momento sólo lo he conseguido con windows, para Linux todavía no las he encontrado

  97. Regata: Disculpame si no se me expresar pero soy nuevo en estas cosas, uso la PC, pero soy bastante limitado. Ademas tengo que agradecerte a vos y un monton de foristas de distintos temas que se dedican a ayudar a los demas.
    Uso Win XP
    Yo adquirí el modulo BT y el programador, lo programe con putty, tal como se indica en este link: “http://www.helicopterosrc.net/index.php?topic=21337.0”
    Me da el OK a todo. Cuando conecto la PDA (HP ipaq 2790), me indica que se conecta al BT, pero en el modulo sigue parpadeando el led y no se queda fijo como indican en todos lados.
    Tampoco veo en la PC la PDA.
    Mi intención en realidad es utilizar el modulo BT para comunicar una Estación Total (instrumental de medición de topgrafía) con la PDA, para eso entiendo, tengo que tener emparejado los BT de la PDA y el modulo.

  98. Hola buenas tardes, soy nuevo en esto de arduino y me dispongo a iniciar mi primer proyecto, las piezas de las que dispongo son:

    – arduino uno r3 : http://www.electronicaestudio.com/i/f/ArduinoUnoR3Front.jpg
    – modulo bluetooth conectar y listo: http://www.electan.com/images/twigbt00.jpg?osCsid=c5agahgt954jsnnp1iebh6sfe3
    – Groove base shield v1.3 : http://www.seeedstudio.com/wiki/images/b/b5/BaseShield_01.jpg
    – un led
    […]

    Me gustaría conseguir encender el Led a traves del movil, mediante una aplicacion android.

    Mi problema es que no consigo que sea visible el bluetooth desde un dispositivo android o desde el pc,el modulo no creo que este estropeado ya que fui a la tienda y compre otro nuevo para obtener los mismos resultados smiley-sad las pruebas que he hecho an sido las siguientes:

    – Conectar el shield al arduino y utilizar el conector UART para conectar el modulo bluetooth
    – Conectar el shield al arduino y los pines TX[bt]-RX[ard] RX[bt]-TX[ard] GND[bt]-GND[ard] y VCC[bt]-5v[ard]
    – Conectar directamente el modulo bluetooth a arduino TX[bt]-RX[ard] RX[bt]-TX[ard] GND[bt]-GND[ard] y VCC[bt]-5v[ard]
    – Las dos anteriores pero conectando a 3.3v

    Las corriente llega al modulo pues se ilumina parpadea y demás pero no consigo que aparezca para emparejar algun dispositivo. El codigo utilizado para configurar el BT es el siguiente

    Quote
    smiley-cry
    /*
    Nombre proyecto: Configuración de modulo Bluetooth HC-06
    URL proyecto: http://giltesa.com/?p=11738
    Fecha: 09/08/2012
    Licencia: (CC) BY-NC-SA: giltesa.com

    El siguiente código permite configurar el modulo Bluetooth HC-06 desde Arduino.
    Se puede ajustar el nombre, la contraseña y los baudios a usar con el puerto serie.
    La configuración Bluetooth se guarda en el modulo, así que solo es necesario configurarlo una vez.

    Después de grabar el programa en el Arduino se dispone de 10 segundos de tiempo para conectar el
    modulo, una vez se apague el led comenzara el proceso de configuración y al terminar el led comenzara
    a parpadear.

    ** La configuración se ha de hacer con el modulo sin emparejar (sin conectar con nada) **
    */

    // Opciones de configuración:
    char ssid[10] = «YonkiBot»; // Nombre para el modulo Bluetooth.
    char baudios = ‘4’; // 1=>1200 baudios, 2=>2400, 3=>4800, 4=>9600 (por defecto), 5=>19200, 6=>38400, 7=>57600, 8=>115200
    char password[10] = «1234»; // Contraseña para el emparejamiento del modulo.

    void setup()
    {
    Serial.begin(9600);

    // Tiempo de espera:
    pinMode(13,OUTPUT);
    digitalWrite(13,HIGH);
    delay(10000);
    digitalWrite(13,LOW);

    // Ahora se procede a la configuración del modulo:

    // Se inicia la configuración:
    Serial.print(«AT»); delay(1000);

    // Se ajusta el nombre del Bluetooth:
    Serial.print(«AT+NAME»); Serial.print(ssid); delay(1000);

    // Se ajustan los baudios:
    Serial.print(«AT+BAUD»); Serial.print(baudios); delay(1000);

    // Se ajusta la contraseña:
    Serial.print(«AT+PIN»); Serial.print(password); delay(1000);
    }

    void loop()
    {
    // Al parpadear el led se habrá terminado la configuración:
    digitalWrite(13, !digitalRead(13));
    delay(500);
    }
    Codigo obtenido de la pagina de http://giltesa.com/?p=11738

    Y no consigo ningun avance. Espero puedan ayudarme, muchas gracias de antemano y saludos!
    Julio

  99. Carlos Verce: Ok creo que ahora te he entendido, discúlpame porque se me había pasado tú comentario, y lo he visto ahora revisando estos. Tú idea es tener conectado mediante el programador el módulo bluetooth con el PC, y desde la PDA conectarte a este módulo para poder enviar comandos o trabajar desde el PC sobre la PDA. ¿O vas a usar alguna placa de control como Arduino para establecer la comunicación entre BT(PC) y PDA?

    Por las pruebas y proyectos que tengo realizado el led que viene con el módulo BT está parpadeando mientras no está emparejado con ningún dispositivo, una vez que se conecta a algún dispositivo el led permanece encendido (sin parpadeo) hasta que pierde la conexión con el dispositivo. ¿Desde la PDA puedes ver tú módulo BT (con los datos que tenga: Nombre que si se lo has cambiado, contraseña y demás)? ¿Puedes ponerme una foto exacta del módulo (si lo has hecho ya reviso los anteriores comentarios)?

    Como comentas para realizar tu proyecto es necesario tener emparejados tanto la PDA (a través de su BT) como el módulo BT que tengas conectado al PC.

    A ver si se da solucionado el problema del emparejamiento de los dispositivos.

  100. Hola Julio!!

    Tú módulo bluetooth trabaja a 3.3V de alimentación, por lo que veo en la imagen no trae ningún regulador para ponerlo a 3.3V, así que no lo conectes a los 5V del Arduino, ya que podrías quemar el módulo. Ahora bien tú tarjeta es una Arduino UNO R3, que solo trae un único puerto serie. Lo que tienes que hacer es cargar el programa al arduino desde su IDE (o el programa que uses para realizar el programa) pero sin tener conectados los pines Rx y Tx del Arduino UNO (ya que estos se usan a través del chip FTDI para comunicarse a través del USB del PC con el puerto serie del Arduino), una vez que tengas cargado correctamente el programa en el Arduino lo desconectas del PC, conectas tú módulo BT al Arduino según comento en esta entrada (Rx del Arduino a Tx del BT, y Tx de Arduino a Rx de BT, GND del Arduino a GND del BT y 3.3V del Arduino a VCC del BT).

    NOTA: Prueba con el programa de configuración mediante comandos AT que dejo en esta entrada (a mi me ha funcionado perfectamente), tiene un avisador mediante el led L de la placa Arduino que indica cuando acaba de configurar el módulo BT (cuando permanece encendido), también puedes ver la configuración a través de la consola Serie del IDE de Arduino. El programa está diseñado para dejar un tiempo para conectar los cables del módulo BT al Arduino sin necesidad de desconectar el Arduino del PC, pero creo que te será más cómodo hacer como te indico arriba.

    Espero que te funcione. Un saludo!

  101. Muchas gracias no tengo mi arduino que me pillas fuera ahora mismo pero estoy pendiente, publicare los resultados a ver si hay suerte. un saludo!! y muchas graciasss

  102. Hola :). Soy principiante en Arduino, y estoy tratando de comentar el HC-06 con mi compu, que usa Windows 8. No encuentro dónde configurar los puertos COM y, cuando trato de cargar el programa de comunicación en la Arduino 1, me lanza los siguientes errores:

    prueba_print.ino: In function ‘void setup()’:
    prueba_print:1: error: redefinition of ‘void setup()’
    arduino_hc06:6: error: ‘void setup()’ previously defined here
    prueba_print.ino: In function ‘void loop()’:
    prueba_print:6: error: redefinition of ‘void loop()’
    arduino_hc06:15: error: ‘void loop()’ previously defined here
    prueba_print:11: error: expected `;’ before ‘}’ token

    Ya intenté cargando previamente la configuración del módulo y cambiando el puerto COM en Octoplus, y de todos modos sigue sin trabajar :(. ¿Qué puede ser lo que no me deja cargar el programa? Espero me puedas ayudar; saludos :).

  103. LOL, mira bien el error.

    ——————————- redefinition—————————————–
    es decir hay dos funciones con el mismo nombre

    borra todo , deja en blanco, y luego pegas el code

    Octoplus–nunca lo he usado, usa la Ide de Arduino uno.

    busca en google como configurar el bluetooch en windows 8

    estoy tratando de comentar el HC-06 con mi compu ????

    —Omnimusha

  104. Hola esteliflores!!

    Siento no poder ayudarte con los puertos COM, ya que en mis pcs no tengo Windows 8 instalado (ya son bastante viejos y no pueden con él), en uno tengo Windows 7 y para comprobar los puertos COM voy a Administrador de dispositivos en la opción Administrar, a la que se puede acceder a través de Equipo (pulsando con el botón derecho del ratón). Como bien dice Omnimusha puedes buscar información sobre el tratamiento de puertos COM en Windows 8 a través de google.

    Un saludo y disculpas por la tardanza en contestar, no tengo mucho tiempo estos días!!

  105. Disculpa, estoy utilizando Xp, un Arduino Uno y el modulo HC-06, y estoy teniendo muchos problemas para entrar a modo AT. El procedimiento que realizó es conectar mi Dongle Bluetooth y agregar mi móludo HC-06. El puerto que me crea es el COM12. Entonces lo que hago es cargar el programa en el Arduino, esto a través del cable USB, y el Arduino me aparece como COM3. Ahora una vez que tengo cargado mi programa y he realizado las conexiones del HC-06 ¿cuál de los dos puertos debo utilizar? He intentado cargando el programa al arduino a través de COM3, y posteriormente cambiar seleccionar en el software de Arduino el COM12 (Que a veces ni siquiera me aparece), y cuando aparece me sale error al seleccionarlo. Así que no se bien como realizar la conexión, espero que me puedas brindar información más especifica del procedimiento.

    Saludos!!

  106. Hola Mike!! Vamos por partes con tú problema: 1º, para poder cargar el programa a tu arduino, tienes que seleccionar en el IDE de Arduino el puerto COM asignado al arduino (en tú caso por lo que comentas tiene pinta de ser el COM3), cargas el programa de comandos AT (con el módulo bluetooth sin conectar los pines a rx y tx del arduino, por eso pongo un tiempo de espera en el programa, para que te de tiempo a conectarlos y que se realice la programación del módulo bluetooth. Puedes abrir la consola serie del IDE de Arduino para ir viendo los pasos que va ejecutando). 2º, una vez que hayas hecho la carga de programa de comandos AT y la configuración del módulo bluetooth ya debería ser visible (con las nuevas configuraciones: nombre, código pin, etc..).

    Por último, para realizar las cargas de programas a tu arduino, debes desconectar los pines rx y tx (si se trata de un arduino uno, con el arduino mega al tener más puertos serie puedes conectar el módulo bluetooth a otro que no sea el principal) y seleccionar el puerto del arduino COM3, cargas el programa de ejemplo de enceder un led, conectas los pines rx y tx del módulo bluetooth al arduino como indico en el post, y desde el pc, o un móvil buscas el dispositivo bluetooth (con el nombre que le asignaste, creo que te pide el código de vinculación) y ya debería funcionar.

    Creo que tú problema es por intentar cargar el código al arduino con los pines del módulo bluetooth (rx y tx) conectados a tú arduino. Si no es esto que te comento, es que quizás no entendí bien tú problema. Puedes indicarme que placa usas y como tienes conectado todo mientras realizas la carga del programa al arduino.

    Un saludo!!

  107. Gracias por la rápida respuesta.

    No, de hecho hago exactamente lo que mencionas, los pines del HC-06 los conecto una vez que tengo cargado el programa en arduino. Después lo reinició y rapidamente conecto los pines, antes de los 10 segundos del Delay. He probado que los datos del TX del arduino estan siendo enviados al puentear el RX del arduino para hacer un ECO. Pero aún así cuando realizó la conexión con el HC-06 este no me responde pese a que los datos si son enviados por el TX del arduino.

    Algo que note apenas ayer, fue que mi placa HC-06 en la parte trasera dice 3.3v LEVEL en los pines TX y RX, y dado que el Arduino maneja 5V para TX y RX no sé si puede ser que como ya lo he utilizado desde un inicio en esa configuración haya estropeado el pin RX del HC-06, y por ello no recibe los datos? He visto que otras placas no traen esta especificación de 3.3v en RX y TX. Lo que voy a hacer es crear un programa para recibir datos, ya que actualmente he realizado proyectos con este mismo módulo pero sólo enviando datos a la PC. Ahora voy a ver si recibiendo datos no tengo ningún problema, en caso de que no funcione, pues ya se que el problema es que he quemado el puerto RX del HC.

  108. y si quiero que el led se quede parpadeando hasta que yo introdusca otra tecla?

  109. HOLA DISCULPA COMO PUEDO HACER QUE MI MODELO BLUTOOHT HC-5 SE PUEDA CONECTAR O QUE SEA VISIBLE A UN CEL ANDROID POR YA HICE LAS CONFIGURACION O QUE IDEA ME PUEDES DAR TENGO UN ARDUINO UNO

  110. Hola JONAS!!

    Tú módulo debería ser visible desde cualquier dispositivo bluetooth. Si has realizado la configuración, tendrás que buscar dispositivos nuevos desde tú móvil y vincularlo a con el código pin que le pongas. Un saludo!!

  111. hola! No tengo conocimientos en esto de arduino pero lo que tu haces al conectar el arduino a la pc o al movil por medio de bluetooth es controlar el encendido y apagado del led? Agradeseria tu respuesta y de ser asi crees que pueda configurar el arduino(con bluetooth) para manejar servomotores desde mi pc por medio de bluetooth.

  112. Hola amigo, no tengo ni idea de electrónica pero estoy en proceso de un proyecto, tengo algunas preguntas que te agradecería mucho me aclararas; quisiera ponerme en contacto contigo dejo mi correo en busca de una respuesta. Muchisimas gracias. jhoanz94@hotmail.com

  113. Un favor todo en mi proyecto se conecta bien la configuración del modulo, el problema que tengo es que me aparece la conecion celular-modulo pero no me envía ni me escribe caracteres desde la app, les agradezco su ayuda

  114. soy nuevo en esto de la electronica pero tengo un problema con el modulo ( hc06 , ya lo configure ) pero al querer recibir datos desde el arduino , al parecer no lo hace.. ya hice las conexiones correspondientes , pero aun asi no recibe datos … note que al principio alguien tenia un error similar pero lo que hizo fue colocar cada pin del modulo bluetooth rx y tx , con el correspondiente RX yTX del arduino, si hago eso puede que estropee mi modulo ?

  115. Hola un saludo magnifico trabajo. Veras quería comentarte una cosa a ver si me puedes ayudar. La idea de controlar el arduino mediante android a través de un bluetooth ya la tengo clara… pero realmente me lía muchísimo hacerlo al contrario , de arduino pasar datos a android por el bluetooth.

    Además no lo hago en cualquier programa, estoy utilizando basic4android y no consigo un ejemplo claro de como recepcionar de arduino por ejemplo temperaturas etc…

    La idea es muy fácil y es la siguiente:

    Por ejemplo apreto un botón desde el movil y enciendo un led pues me gustaría que cuando lo hiciera en el código de arduino pongo un digitalwrite para el led y un serial.print(«realizado»). Pues es este dato el de realizado el que no soy capaz de obtener en android, por ejemplo, en un label, caja de texto etccc….

    Muchas gracias a ver si me pudieras ayudar…
    Un saludo y gran trabajo

  116. hola les cuento que tengo el modulo bluetooth configurado a la velocidad de 9600 todo conectado correctamente y el programa (ardudroid) de mi celular listo.. este reconoce bluetooth y el mismo deja la luz prendida del mismo indicandome que esta conectado.. pero cuando le doy ordenes de mi celular para que encienda el led no pasa nada… alguien me podria ayudar??

Deja un comentario