bclose

Módulo BlueTooth HC-06

Algunos conceptos básicos de BlueTooth

Objetivos

 

 
    • Presentar los conceptos básicos del BlueTooth.
    • Presentar los comandos AT.
    • Introducir el modulo BlueTooth HC-06.
    • Presentar un programa básico de comunicación, entre un teléfono externo y un Arduino mediante el modulo Bluetoth.
 

Material requerido.

 

 

Imagen de Arduino UNOArduino UNO o equivalente
imagen frontalUn módulo BlueTooth HC-06
conexionesAlgunos cables de protoboard, preferiblemente Dupont macho/hembra

 

Las redes BlueTooth

Logo BlueTooth

Pocos de los que estén leyendo estas líneas, no tendrán un teléfono móvil en el bolsillo, y muy probablemente será del tipo Smartphone, que incluirán un sistema operativo como Android o Apple IOS equipados con Wifi y Bluetooth.

Por eso la posibilidad de integrar conexión WIFI o BlueTooth en nuestros proyectos, nos abre unas posibilidades inmensas. Poder controlar nuestros proyectos desde el propio móvil, bien con WIFI o bien con BlueTooth, es algo muy interesante para controlar montajes de diferentes tipos.

En las sesiones previas, vimos cómo usar el móvil conectado a la red local para gobernar múltiples salidas digitales, y en próximas sesiones veremos cómo usar el WIFI como sistema de control desde nuestros teléfonos.

Pero como los grandes viajes deben empezar con pequeños pasitos, vamos a dedicar un par de capítulos al BlueTooth, para ver de qué posibilidades disponemos, como configurarlos y demás. De modo que seamos capaces de integrar el BlueTooth con nuestros Arduinos.

Y para ello empezaremos hablando un poco, de que es el BlueTooth y de cómo funciona, así como unos pocos conceptos básicos claves, para poderlo usar con garantías de éxito.

Para empezar diremos que los dispositivos BlueTooth pueden actuar como Masters o como Slaves (Amos o esclavos).

La diferencia es que un BlueTooth Slave solo puede conectarse a un master y a nadie más, en cambio un master BlueTooth, puede conectarse a varios Slaves o permitir que ellos se conecten y recibir y solicitar información de todos ellos, arbitrando las transferencias de información ( Hasta un máximo de 7 Slaves)

nodos Bluetooth

Cada uno de los dispositivos que se identifican vía BlueTooth presentan una dirección única de 48 bits y además un nombre de dispositivo que nos sirva para identificarlo cómodamente a los humanos. Por eso cuando configuras tu móvil puedes especificar n nombre propio que será el que mostraras a los demás cuando busquen tu teléfono en la inmediaciones.

La dirección propia también se puede identificar pero lógicamente, es un poco menos cómoda y tiene menos utilidad. Tampoco es raro establecer un protocolo IP sobre transporte BlueTooth, con lo que además de su identificación interna BlueTooth (Equivalente al MAC Ethernet) dispondrá de una dirección IP para conectarse a Internet.

Por eso puedes conectarte vía Bluetooth a tu PC, por ejemplo, y a través de el conectarte a internet.

Así pues un nodo BlueTooth puede ser Master o Slave y dispone de una dirección única, así como de un nombre para identificarse y muy habitualmente también incluye un PIN de conexión o número de identificación que debe teclearse para ganar acceso al mismo.

Como el BlueTooth lo desarrolló Nokia para conectar teléfonos móviles, a otros dispositivos como auriculares, micrófonos o conexiones al audio del coche, existe un procedimiento definido que se llama Pairing (o emparejamiento) que vincula a dos dispositivos Bluetooth.

Cuando vinculas dos dispositivos BT, se inicia un proceso en el que ellos se identifican por nombre y dirección interna y se solicitan la clave PIN para autorizar la conexión.

Si el emparejamiento se realiza con éxito, ambos nodos suelen guardar la identificación del otro y cuando se encuentran cerca se vuelven a vincular sin necesidad de intervención manual. Por eso el CD de tu coche reconoce el móvil de tu bolsillo en cuanto te subes y puedes reproducir la música que tienes en tu Smartphone.

 
  • Aunque para que tu BlueTooth pueda enviar o recibir música, debe aceptar otra norma posterior llamada Advanced Audio Distribution Profile (A2DP) y que en caso de ser algún sistema antiguo te impedirá la reproducción.
 

Naturalmente, a lo largo de los años la norma ha ido variando y existen varias versiones de la misma, con compatibilidad siempre con las versiones anteriores que se diferencian en la distancia que pueden alcanzar (entre 50 y 100 metros, teóricamente y sin obstáculos) además de la velocidad de transferencia.

 

Módulos BlueTooth disponibles para Arduino

 

Hace ya un tiempo que disponemos de módulos BlueTooth sencillos y económicos, que resultan muy prácticos para todo esto, y en esta sesión, vamos a empezar viendo cuales tenemos disponibles y como trabajar con ellos.

Los más frecuentes en el mercado son los módulos HC-06 y HC-05 que si hacéis una búsqueda por eBay o similares veréis que se consiguen por poco dinero, y están disponibles independientes o en modo SHIELD y para zocalo XBEE (ya hablaremos).

Hay bastante confusión en la red acerca de cómo diferenciar uno de otro y en muchas ocasiones sobre las prestaciones de unos y otros. Vamos a ver si podemos aclarar un poco el tema.

Lo primero es que el hardware de ambos modulos es el mismo. No hay diferencia hardware, pero el software que incorporan es diferente

 
  • De hecho, parece que es posible reprogramar uno para covertirlo en el otro, aunque el procedimiento es aparentemente bastante pesado.
 

Ademas el modulo de conexión se monta sobre un soporte que a su vez puede presentar diferencias notables según el fabricante y las conexiones que realice, pero por lo que he podido comprobar con un par de modulos de los que dispongo, hay una diferencia obvia, el numero de pines del modulo montado.

Dispositivos bluetooth

 

El modelo HC-06 dispone de 4 pines, en lugar de los 6 que incluye el modelo HC-05, pero hay además importantes diferencias de funcionalidad y de manejo que hace que merezca la pena dedicar una sesión a cada modelo.

Basicamente el modelo HC-06 solo puede actuar como esclavo y además dispone de un juego reducido de instrucciones a las que atiende, mientras que el modelo HC-05 puede actuar  como master o como Slave y acepta un número mayor de órdenes de configuración.

En esta sesión vamos a usar el modelo HC-06, pero antes necesitamos hablar de la cuestión de los comandos AT.

 

Los comandos AT

 

En la época heroica, para enviar mensajes (de texto exclusivamente, por supuesto) de un ordenador a otro, usabas las líneas o puertas serie. Muy al estilo de la comunicación que hoy tu Arduino hace con tu PC a través del USB.

El interface no era USB sino RS232, que aunque físicamente diferente, comunicaban vía serie dos puntos próximos hasta un máximo, de digamos, unos 100 metros.

Pero cuando querías enviar información a otro equipo situado en una oficina remota de tu empresa,  la única posibilidad era utilizar las líneas telefónicas, mediante un adaptador  diabólico, que se llamaba Modem.

La idea básica, era codificar el 0 binario con un tono grave de audio (que se pudiera enviar por la línea de teléfono) y los unos binarios como un tono agudo.

Así con la sucesión más o menos rápida de tonos graves y agudos por la línea telefónica se podían enviar un mensaje binario codificado en frecuencia de audio, de un punto a otro.

 
  • La palabra Modem, que tal vez hayáis oído, deriva del apocope de MODulador DEModulador, y si veis pelis de los años 80 y primeros 90 eran esos chismes que hacían los ruiditos típicos de audio, asociados a la informática.
 

Naturalmente, las líneas telefónicas eran analógicas, lo que implicaba una cantidad indecente de ruido térmico, que aumentaba exponencialmente con la distancia, obligando a disminuir la velocidad en función del ruido que te encontraras y a retransmitir una y otra vez el mensaje hasta que conseguías que llegara correctamente (algo que rara vez pasaba a la primera)

 
  • La velocidad de los módems empezaron sobre los 300 baudios o bits por segundos y fueron aumentando con la revolución tecnológica hasta 1.200, 2.400, 9.600 y que yo sepa los últimos que se comercializaron con el ese nombre fueron de 56.000 baudios. (Compara esos 56k de máximo con las redes de cable modernas de 100 Mbps, casi 1.800 veces más rápidas)
 

Por eso, los módems necesitaban una especie de comandos, que nos permitiera modificar la velocidad según necesitáramos, léase bajarla, cuando el ruido impedía una comunicación fiable y ya de paso modificar algún que otro parámetro sobre la marcha.

Y como el RS232 solo disponía de dos hilos de comunicaciones, no había más remedio que  incorporar una orden de atención que significara que a continuación venia una orden de programación del modem, que no debía ser transmitida al otro extremo.

Es decir que las ordenes eran del tipo “AT+Orden”, donde AT era el comando especificado de atención. En un santiamén todos los  módems y demás máquinas de comunicación serie empezaron a aceptar este tipo de órdenes, y al conjunto de ellas se llamó comandos AT, por extensión.

Con el tiempo, mucho del hardware sencillo que se comunica con otros equipos vía una humilde puerta serie, siguen aceptando ordenes AT para configurarlos y este es el caso de los módulos BlueTooth HC-05, HC-06 y otros pequeños dispositivos que veremos en el futuro.

 

Conexión del BlueTooth HC-06 al Arduino

 

Pues es cantidad de fácil. Fíjate que el modulo tiene rotulado el nombre de los pines, y simplemente conectar tensión y GND al módulo y después conectamos Txd y Rxd a los pines digitales 2 y 4 respectivamente de tu Arduino. Eso es todo

Eszquema de protoboard
 
  • Como el modulo HC-06 funciona a 3,3 V hay bastante controversia en internet respecto a  si debemos o no, poner divisores de tensión para acceder a los pines del módulo con Arduino. Por las pruebas que he hecho no parece necesario y no veo ninguna razón para que a largo plazo deban surgir problemas, por lo que yo conecto directamente los pines al Arduino.
 

Fijaros que al hacer esta conexión, el LED del módulo HC-06, parpadea continuamente. Esto indica que no está pareado o vinculado.

Cuando conectes algo al módulo, esta luz se quedará fija y es la forma de saber si hay conexión o no.

 

El programa de control

 

Como el modulo BlueTooth es básicamente un nodo BT conectado a un interface serie, podríamos en principio conectar los pines RX y Tx a los equivalentes de Arduino en los pines 0 y 1 digitales, sin más que cruzarlos (BT Tx  a Arduino Rx y BT Rx a Aduano Tx) y de hecho muchos ejemplos en Internet utilizan este esquema y se comunican con el BT mediante las familiares instrucciones de Serial.print ().

Sin embargo, prefiero desaconsejar hacerlo así, porque los pines 0 y 1 se utilizan en la comunicación serie de Arduino con el PC a través del USB y por tanto, si los usamos para comunicar con el modulo BT, perderíamos la conexión con el PC.

Por ello prefiero destinar otro par de pines cualesquiera a la transmisión, aunque para ello tenemos que importar una librería que habilite la comunicación serie con otros pines como es la librería SoftwareSerial.

Para ello importamos la librería que viene de serie en el IDE y creamos un nuevo objeto serie llamado BT1 conectado a los pines 4 y 2:

#include <SoftwareSerial.h>
SoftwareSerial BT1(4,2); // RX, TX

Y después, podemos usar BT1 exactamente igual a como usamos Serial.

Vamos a escribir un programa para comunicarnos con el modulo BT que simplemente lee lo que se escribe en la puerta BT1 y si hay algo lo manda a la consola Serial.

A su vez si hay algo en la consola, lee una línea con GetLine() y finaliza con intro  antes de enviar la línea completa al BT1

 
  • El motivo es, que el modulo HC-06, a diferencia del HC-05, no espera un terminador de línea como \n, si no que salta por tiempo, lo que nos fuerza a escribir muy deprisa los comandos largos y resulta incómodo..
  • Si no escribimos el comando completo a tiempo, simplemente lo ignorará y ni siquiera dará error. Por eso prefiero mandar comandos completos directamente y no carácter a carácter.
 

El programa queda algo así: Prog_70_1

#include <SoftwareSerial.h>
SoftwareSerial BT1(4,2); // RX, TX recorder que se cruzan

void setup()
   {
       Serial.begin(9600);
       Serial.println("Enter AT commands:");
       BT1.begin(9600);
   }

void loop()
   {
       if (BT1.available())
           Serial.write(BT1.read());
       
       if (Serial.available())
          {  String S = GetLine();
             BT1.print(S);
             Serial.println("---> " + S);
          }
}

String GetLine()
   {   String S = "" ;
       if (Serial.available())
          {    char c = Serial.read(); ;
                while ( c != '\n')            //Hasta que el caracter sea intro
                  {     S = S + c ;
                        delay(25) ;
                        c = Serial.read();
                  }
                return( S + '\n') ;
          }
   }

Según el manual el modulo HC-06 viene de serie configurado a 9600 y por eso usamos

BT1.begin(9600);

Si por cualquier motivo, no consigues establecer comunicación con el modulo BT, vete cambiando la velocidad hasta que veas que hay conexión.

Fíjate ahora, en el modulo, verás una luz roja parpadeando. Eso significa que el modulo está listo para vincularse a un dispositivo BlueTooth o para aceptar comandos AT, el modulo HC-06 no necesita nada mas para entrar en modo de aceptar comandos AT.

 
  • De hecho siempre que veas la luz parpadeando significa que el modulo no retransmitirá los comandos AT, sino que los interpretara como ordenes internas.
  • Pero si realizas una conexión (y la luz roja se queda fija, ignorará los comandos AT y los transferirá sin más.
 

Si no te has vinculado aún, y la luz roja parpadea, ya podemos enviar comandos AT. Veamos algún ejemplo.

El primero y más básico es enviar (siempre en mayúsculas) un simple AT desde la consola. Se supone que debería responder con OK, pero en mi caso y con mi modulo no es así. Y si vuestro caso es el mismo deberéis probar con más comandos.

AT+VERSION, Requiere la versión del Firmware

AT+NAMEXXX, Programa el nombre que queremos presentar cuando alguien nos busque:

AT+NAMEPROMETEC

AT+BAUDX, Fija la velocidad de comunicación entre el modulo y la consola según a la siguiente tabla:

1 configura        1200bps
2 configura        2400bps
3 configura        4800bps
4 configura        9600bps (Default)
5 configura        19200bps
6 configura        38400bps
7 configura        57600bps
8 configura        115200bps

Ejemplo: AT+BAUD7 configura la comunicación a 57600 baudios

AT+PINXXXX, configura el número de identificación personal, que se requerirá para establecer la vinculación

AT+PIN4516, establece 4516 como PIN

En caso de que probando varios de estos comandos, no obtuvierais respuesta, o vierais caracteres extraños en la consola, probad con otras velocidades hasta conseguir una que funcione. Probad diferentes velocidades en la línea:

BT1.begin(9600);

Y me temo que parece no haber más comandos disponibles para un módulo HC-06 y desde luego no dispone de los comandos de interrogación de los que si dispones su hermano mayor HC-05.

 

Probando la conexión con el modulo HC-06

 

Una vez volcado el programa anterior a nuestro Arduino, con una velocidad de comunicación correcta con el modulo vamos a probar a enviar y recibir información desde y hacia, un teléfono  móvil.

Para ello voy a utilizar un teléfono Android y un programa Android llamado Bluetooth SPP, pero en realidad servirá cualquier terminal BT.

 
  • Debo indicar que no he sido capaz de vincular este módulo a mi Iphone 4S, porque este insiste en que no existe nada en los alrededores con lo que vincularse y en cambio mi viejo HTC Android 2.1 lo ve a la primera y sin problemas.
 

Lo primero es confirmar que el LED del módulo BT parpadea, indicando que está en modo AT o esperando vinculación con otro dispositivo. Después asegúrate de que el BlueTooth del teléfono está activo y por último, dependiendo del programa que uses como terminal, pídele que busque dispositivos BT en los alrededores y vincúlate al que encuentres.

Si todo va bien ya podrás enviar y recibir mensajes de texto entre tu móvil y Arduino en ambas direcciones.

Aquí os dejo un pequeño mini video con el resultado:

 

Resumen de la sesión

 

 
    • Hemos presentado algunos conceptos básicos del mundo Bluettoth y su relación con Arduino.
    • Vimos lo que son los comandos AT y de donde provienen, asi como algunos de ellos que sirven para programar el modulo HC-06.
    • Empezamos viendo algunasd diferencias entre el HC-05 y el HC-06.
    • Escribimos un programa básico para comunicar un teléfono Bluetooth con Arduino mediante un programa de terminal BlueTooth.
 
 
 

 

 

 

 

(211) Comments

    • Itzel Lopez

    Hola, disculpa como podria convertir que el teléfono celular vinculado al bluetooth del módulo no se desvincule y se puede utilizar en caso de que el teléfono que envía los mensajes pueda hacer una llamada automática cuando reciba algun caracter desde el módulo?

    • Hola Itzel, en teoría una vez que los vinculas no tienen por qué desvincularse, quizás tengas algún ajuste en el teléfono que haga que se desvinculen. Por otra parte igual que hay apps para enviar datos del móvil al Arduino quizás haya para recibir en el smartphone datos desde el hc-06, pero no he probado ninguna. Un saludo.

    • Sam

    Hola, buenos días. Estoy haciendo un trabajo de recerca (2BTX) y tenia pensado hacer lo siguiente.

    He creado un circuito que simula un semáforo, y estaría muy agradecido saber como hacer que, al encenderse uno de los LEDs en concreto, (el verde de pasajeros), el módulo bluetooth conectado envíe una señal al móvil para que este vibre y avise que el LED verde está encendido. No tengo experiencia con esto así que buscaba lo más sencillo (Que al encenderse el LED, el movil vibre) Gracias.

    Si pudiera recibir algo de ayuda estaría muy agradecido y me sería útil para darle un final al trabajo. Muchas gracias.

    • Hola Sam, veras que es muy facil enviar un mensaje pactado via bluettoth al movil celular con arduino y cualquiera de los tutoriales sobre el HC-05 y HC-06

      Hacer la aplicacion del movil no deberia ser mucho mas complicado con appinventor pero es una cuestion que se nos escapa un poco de la intencion de esta pagina por ahora

    • Aleix

    Hay alguna funcion que puedas llamar para saber si alguien esta conectado a tu dispostivo buletooth?¿

    • Alberto Munizaga Vergara

    hola!
    Excelente manual. Estoy trabajando con BT HM-10, y me gustaría saber si conectaste más de un slave a un master. Si ya lo hiciste, ojalá nospuedas contar como se hace. Muchas gracias!

    • Hola Alberto, pues no lo he intentado nunca, pero me lo apunto para hacer la prueba en cuanto pueda

      • Que bien! estaré atento!

      • Yo no he podido hacerlo. lo que estoy haciendo mientras tanto es ordenar los BT en un pool de conexiones, así se conecta a uno, el master se conecta al slave1, lee una de las puertas y se desconecta, y pasa al siguiente y hace los mismo, así infinitamente.

    • Joeldavidacuna

    Tengo una app que conecta con el bluetooth, pero al momento de ejecutarla con el proyecto que estoy haciendo, no ejecuta ninguna orden

    • Hola Joel, a falta de más información puede que se deba a la velocidad de comunicación del Bluetooth. Un saludo.

    • No nos das muchas pistas Joel

  • hola amisgo, adquiri el HC-06 pero no puedo conectarme al programa que cree en app invetor es mas e descargado varios de la app y pasa lo siguiente, descargo uno y me voy a buscar el modulo y si parece pero me pide un pin de 4 digitos y le pongo 1234 y se conecta, los led dejan de parpadear yme voy a otro progrma que descargue busco el bluetooth y ahora si me aparece pero le doy concectar y se queda pega y no conecta y despues me aparece error

    • Siento decirte Nuno que no he usado el appinventor y poco puedo decirte

    • Neither

    excelente explicacion….una pregunta amigos intento hacer un apk en andoid de tal forma que yo pueda programar el toque de timbre , sin necesidad de hacerlo desde el entorno de desarrollo de arduino…sera posible ?,ya tengo el dispositivo que automatiza timbres y tiene integrado un modulo bluetooth

    • Deberias poder manejar ese modulo de timbre con bt del que dispones, pero claro, sera dificil que te diga nada de el sin conocerlo

  • Hola, Apenas me encontré con esta pag. y es fabulosa!, tengo un proyecto en mente, y leyendo en esta pag me entere del hc08 o hc-10 para el bluetooth 4.0, pero tengo una duda

    mi idea es hacer un aparato que sea un altavoz bluetooth + arduino + android, quiero que reproduzca música de mi teléfono y ademas que obedezca ciertas ordenes con una apk de mi creacion( por ejemplo encender y apagar un foco) al mismo tiempo, es esto posible con estos modulos?

    Saludos y gracias de antemano!!!!

    PD: hc-08 puede emparejarse con teléfonos con bluetooth de menor versión?

    • Ten cuidado con una cosa Froilan, para que un BT pueda enviar y recibir musica necesita cumplir con la norma A2DP y hasta donde yo conozco no hay muchos modulos disponibles, y estos de los que hablamos no lo permiten lo siento.
      Tambien creo que los BT 4.0 de por si no permiten hablar con BT 2.0 aunque hay algunos en el mercado que aceptan las dos normas pero debes asegurarte

    • Hernán

    Hola! Excelente tutorial, muy bueno!
    He establecido la conexión correctamente y puedo enviar mensajes; lo que no estoy viendo es la manera en que debería recibirlos por consola. Justo en el video no se ve esa parte ¿Tienes otro video en el que se vea esto? Realmente es mi primer proyecto en Arduino, y tengo muchos huecos en mi conocimiento sobre el tema aún.
    Desde ya, felicitaciones por el video. Es simple, conciso y muy explicativo. Excelente tu trabajo.
    Saludos desde Buenos Aires, Argentina!

    • Hola Hernan, el programa que dispones en el tutorial envia y recibe en ambos sentidos por lo que si te aseguras de tener bien las conexiones veras en la consola de arduino lo que envies desde el telefono

  • Buenos dias, por favor sera que me puede ayudar, necesito un modulo de bluetooth de corto alcance, q podria ser un bluetooth de clase 3, el problema es q no lo encuentro.

    • Hola Jonathan, la clase de un bluetooth indica simplemente la potencia de emision y cualquiera de los modelos que ofrecemos en la tienda son de clase 1 que permite llegr a unos 100 m con bt 2.0 y hasta unos 25 metros con BT4.0

    • Sergio

    Buenas. Tengo una pequeña duda.
    He estado escribiendo un código para controlar un pequeño motor desde una app que he creado para móvil, a través del módulo bluetooth. Pues en principio todo bien pero al pulsar el botón de ”hacia delante” el motor empieza a girar y se queda girando continuamente, la duda es que ¿Como podría hacer para que solo girase mientras estoy pulsando el botón?.
    Supongo se sera añadir unas lineas de código, pero no doy con ellas jajaj.
    Gracias y un saludo 😉

    • ¿Que aplicacion usas para enviar los mensajes del BT Sergio?

    • Nico

    Hola! soy nuevo en arduino y quería saber si puedo conectar un modulo BT de un autoestereo a la placa arduino… puedo hacer que el modulo BT encienda y que se conecte a mi celular pero solo eso. estoy trabajando con S4A (scratch for arduino)
    cuando se conecta al celular me dice que puede transmitir música y llamadas… no se si eso sirve de algo..
    en el modulo la única información que me dice son unas letras: BM55V02 y varios pines que dicen: ROUT, LOUT, SGND, MIC+, MIC-, VDD, GND TXD, RXD.
    SI ME PUEDE DAR UNA MANO CON ESTO ESTARIA MUY AGRADECIDOOOO!!
    Un Saludo.

    • Hola Nico, puedes enviar y recibir audio a tu bluetooth, pero no si no dispone de la funcion y los que tenemos en la tienda no lo hace. Del que tienes tu no puedo decirte nada porque lo desconozco

  • Buenas tardes a todos, he estado probando el código para configurar mi módulo HC-06 pero cuando en la consola de comandos introduzco, por ejemplo, AT+NAMELUIS y le doy a enviar no me sale nada, únicamente se mantiene el mensaje ” Enter AT commands: ”

    He probado a cambiar las velocidades de BT1.begin() desde 1200 hasta 115200 bps, pero sigue igual. Luego probé a cambiar la velocidad de Serial.begin() para que al subirlo me saliera esa modificación en la velocidad de consola y nada. También he probado cambiando a la vez la velocidad de BT1 y Serial pero sigue sin funcionar… ¿Me queda algo más que pueda probar a ver que está pasando?

    Un saludo.

  • Hola;
    Resulta que deseo comunicarme con un Android con Arduino, para leer datos de un sensor (pero obviemos el sensor por el momento). Buscando como hacerlo, encontré este excelente tutorial aquí en PROMETEC, donde en el video se puede ver como el resultado del código propuesto y posteado es una especie de chat entre un android y Arduino (que es justo lo que necesito), sin embargo, no me funciona como en el video, y pues me pasa lo siguiente:

    1. No encontré en el PlayStore la aplicación Bluetooth SPP (que se utiliza en el ejemplo), sin embargo, en el video dice que sirve cualquier aplicación, así que estoy utilizando una que se llama Arduino bluetooth Controller.
    2. Conecté todo como lo indican en el ejemplo, y estoy utilizando el código del ejemplo tal cual.
    3. Logro bien la conexión Android-Arduino, pero solamente puedo ver en el monitor serial que llega el texto que envío desde el Android, pero no me llega al Android el texto que envío desde el monitor serial de Arduino.
    4. He realizado las recomendaciones de cambiar las velocidades (lo hice tanto para el serial como para el Bluetooth) y nada.

    Quisiera si es posible alguien me oriente al respecto, ¿por qué no me llega el texto que envío desde el monitor serial al Android?…

    Esto lo postee en el foro, pero no recibí comentarios hasta el momento…

    • tiene buena pinta, tranquilo q noarece grave. me recuerda mas a algun problema de cables qje a otra cosa , comprueba las conexiones y cambia los cables a ver que pasa

    • Julio

    Hola espero me pueda ayudar esque el proyecto q qiero hacer es igual solo q mi prioridad es la distancia y conectado por bt no creo q haya conexion a una distancia de 40 metros el problemabes ese alguna respuesta q hacer xfa ayuda maestro

    • Hola Julio, supuestamente no deberias tener problemas para conectar a 40 m por BT 2.0 ya que su alcance teorico es de 100 m, si no hay obstaculos,Pero no podrias hacerlo con BT 4.0

      Pruebalo, deberia funcionar

  • Hola buenos dias llevo un par de dias intentando enviar datos al Bluetooth hc-06 que tengo pero no consigo que reciba, he seguido todos los pasos que hay en este proyecto y consigo que el modulo envie datos pero a la hora de recibir no entran los datos he probado desde aplicaciones creadas por mi hasta las mas comunes de la app store, e incluso probado con diferentes dispositivos moviles. Tambien he intentado seguir el proyecto de arrdudroid lo he seguido tal cual viene y no he conseguido que funcione.
    Espero que me puedan ayudar tambien he vuelto a configurar la velocidad a la predeterminada pero seguia sin funcionar gracias de antemano.

    • Aupa Javichu, Si consegues enviar pero no recibir, significa que la velocidad de comunicacion es correcta, asi que puedes descartar ese problema al menos

      Lo siguiente para el problema de recepcion son los pines de entrada a yu arduino. COmprueba que el cable es bueno (o sea pon otro) asegurate de que en el soft el pin es el que corresponde (Y puedes probar con otro) y por ultimo recuerda que cualquier cosa puede estropearse y a veces hay que aceptar que nuestro hard esta joido

  • Hola en tu experiencia, crees que sea posible diseñar un arduino que pueda soportar flyer digitales con el fin de enviarlos de forma masiva a todo los celulares con bluetooth activado a la redonda?
    Saludos!

    • Hola Marcio, no seria muy elegante hacer eso porque al final es enviar publicidad no deaseada y algunos pueden no tomarselo muy bien. De cualquier modo, paraenviar un mensaje debes conectar con los telefonos y cada uno te exigira su propia contraseña, asi que segun entiendo no veo factible de salida el tema que me comentas

    • Abdrés

    La cuestión es que si establezco la comunicación serial entre mi pc y arduino no tengo problemas con ningún caracter, pero si establezco la comunicación entre el celular y arduino por bluetooth, el celular es incapaz de enviar caracteres especiales propio del lenguaje castellano cmo la ‘ñ’ o vocales acentuadas, a su vez también es incapaz de recibirlas en el caso de que arduino las envíe (muestra simbolos raros). Por lo anterior pienso que el problema está en la aplicación desarrollada en app inventor, es como si fuera incapaz de enviar éstos caracteres como texto. Hay alguna solución para poder enviar y recibir cualquier tipo de caracter desde la aplicaciòn?

    • Parece pues que tanto arduino como tu PC manejan correctamente el juego de caracteres extendidos para castellano mientras que es el problema está en el telefono.

      Me sorprende que un telefono relativamente moderno(Supongo) tenga este problema pero habria que asegurarnos de configurar tanto el telefono como la propia app inventor esten configuradas con el juego de carcateres extendidos

Give a Reply

WordPress Anti-Spam by WP-SpamShield