Uno de los módulos más interesantes que podemos probar es sin duda el de comunicación Bluetooth. Primero porque se puede encontrar a muy buen precio en comparación con el de WiFi, también es verdad que en cuanto a funcionamiento no tienen nada que ver el uno con el otro, y segundo porque podremos usarlo para infinidad de proyectos.
Además es sumamente sencillo de usar, pues solo necesitamos los pines del puerto serie, el 0 y el 1, y todos los datos que enviemos, haciendo uso de la librería Serial, se transmitirán al aparato con el que hayamos emparejado el modulo, por ejemplo el ordenador o un móvil.
Por defecto suele venir configurado para trabajar a 9600 baudios, y como contraseña tiene 1234. Esta configuración puede cambiarse mediante comandos AT ya sea desde el propio Arduino o desde el ordenador.
Para configurar el modulo desde el Arduino se necesita el siguiente código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
/* 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] = "Arduino1"; // 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] = "0001"; // 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); } |
Si queremos hacerlo desde el ordenador necesitaremos un adaptador TTL para conectar el modulo al PC, también un programa que nos permita mandar los comandos, por ejemplo Terminal. Una vez lo tengamos configurado y emparejado podemos probarlo por ejemplo con este código. Debemos recordar que el modulo va conectado al Arduino de «forma cruzada», el pin Tx del modulo con el Rx del Arduino, y el Rx con el Tx.
1 2 3 4 5 6 7 8 9 10 |
void setup() { Serial.begin(9600); } void loop() { Serial.print(millis()); Serial.print("\r\n"); delay(1000); } |
Muy interesante el documento que has compartido.
Por cierto suscribirse a tu blog esta un poco más complicado que lo normal porque el reader no reconoce tu página como un blog. Salu2
Gracias por el aviso.
He estado haciendo pruebas con 5 navegadores de internet.
Los que tienen lector RSS de serie, Opera, abre el Feed y permite la suscripción directamente.
En el caso de Internet Explorer, Chrome, Firefox y Safari, abren el Feed RSS desde Feedburner (un analizador de trafico), en este caso solo hay que, o bien copiar la URL en el Reader que uses como por ejemplo Google Reader, o pulsar los botones de suscripción que se facilitan.
Este sistema lo usan otras páginas, por ejemplo Neoteo o Engadget.
Si no te referías a eso házmelo saber.
Saludos!
Eso es la segunda opción es la que tuve que usar para suscribirme. Normalmente con compiar la url en el google reader suele ser suficiente pero con tu blog dice que no hay feeds.
Me parecen unos proyectos muy interesantes e instructivos. Un saludo desde Sevilla.
para configurarlo con arduino, ¿como debe conectarse el modulo bluetooth al arduino?
Hola,
Pues para conectarlo tienes que unir los pines así:
ARDUINO – MODULO:
VCC – VCC
GND – GND
TX – RX
RX – TX
Saludos!
y despues de esto ya se carga el programa que escribiste arriba en el arduino?
Si, así eso. Pero solo es necesario configurar el modulo una vez.
Tengo un modulo HC-06 ya conectado al arduino y configurado.
Desde la pc conecto con él con el hiperterminal y todo funciona bien. Le envio datos desde la pc y recibe el arduino.
Mi problema es que desde un movil android no consigo ni siquiera ver el dispositivo HC-06. ¿ por que ?
¿ Que me falta ?
Si has podido emparejarlo desde el PC también deberías de poderlo hacer dese el móvil. Prueba con otro móvil a ver si ese ese el fallo.
Saludos.
Si claro, pero no funciona.
Conecto desde la pc con el arduino a traves de bluetooh usando el hyperterminal. Nada de cables. El arduino lo alimento con bateria.
Todo funciona perfecto. Comunicacion bluetooh perfecta.
Pero luego he probado con varios moviles y ninguno detecta el HC-06.
No se si es que me falta algo para que sea visible a los moviles o que.
Debes descargar la aplicación en el telefono en mi caso fue con blueterm, se procedió a activar el bluetooth del telefono para conseguir los cercanos y solicita la contraseña
Ok vere que puedo hacer, estoy algo desbordad con estoooo!! gracias!!
Me pasa lo mismo, configuro pero no logro visualizar el HC-06. Lo alimento desde la PC, pero en la configuración del sketch configuro pines de TR y RX mediante una librería específica…..pero sigue sin andar…es decir, no o veo desde un telefono
Asegúrate que tu modulo no sea maestro o maestro y esclavo al mismo tiempo. Podría ser ese el motivo de que no te aparezca para emparejarlo con el móvil. Si tu caso fuera el segundo se cambia el rol con AT+ROLE=0 (esclavo) o AT+ROLE=1 (maestro).
Saludos.
Giltesa, muchas gracias ya lo configure, ahora lo pruebo con alguna de las aplicaciones que tengo. Gracias nuevamente
Lamentablemente sigue sin funcionar, esta configurado pero no conecta, en realidad no es visible. Pido la configuración por comandos At y me responde tal como deben estar. Sabe alguien que puede ser?
Mira si la parte de configuración de este tutorial te sirve:
http://makezine.com/projects/diy-arduino-bluetooth-programming-shield/
disculpe, como se la velocidad a la que trabaja mi modulo bluetooth? o que es lo que me falla porque no transmite nada al arduino one? a pesar de tener bien la coneccion fisica y la coneccion inalambrica con el celular
Para saber la velocidad tendrás que probarlas una a una hasta que veas que la elegida te funciona haciendo que el modulo te responda a los comandos AT.
Después de eso puede que tengas que configurar el modulo mediante comandos AT.
buenas tardes tengo un problema no consigo que el bluetooht me responda los comandos AT, estoy trabajado con HC 05 (FC-114), a decir verdad aun no pruebo con el rx y el tx trocados, tambien tengo un arduino mega 2560, pero no consigo hecharlo a andar adjunto el codigo cualquier ayuda me caerá de perlas
void setup() {
Serial.begin(9600);
Serial2.begin(38400);
pinMode(8,OUTPUT);
digitalWrite(8,HIGH);
Serial.println(«Inicio de comandos AT: «);
}
void loop() {
if(Serial.available())
Serial2.write(Serial.read());
if(Serial2.available())
Serial.write(Serial2.read());
}
Hola,
Prueba este codigo, se parece mucho al tuyo pero no es igual. Ajusta los baudios a la velocidad que necesites, si no sabes la del BT prueba con todas las posibles. No olvides cruzar los cables TX y RX, y lo del pin 8 yo no he tenido que usarlo, asegurate que con tu modulo si hace falta.
Hola, yo he podido. muchas gracias. Supongo que ya sabréis que para subir el código desde el arduino es necesario interrumpir la alimentación del modulo HC-06. Justo cuando termina conectas y todo se sincroniza
a los nuevos valores.
El problema que tengo que cuando te alejas del modulo tienes que vincularlo para trabajar, quisiera que esto fuese automatico, que el modulo bluetooth sincronizase sólo al acercarse al teléfono.
Hola, tengo tres módulos Bluetooth supuestamente HC-05, concretamente están serigrafiados con JY-MCU BT_BOARD V1.2pro, (el chip que lleva es de CSR BC417). El caso es que soy capaz de entrar en modo AT, ni ver el módulo para intentar emparejarlo, solo responde a los comandos AT, AT+BAUD y AT+PIN, he probado la mayoría de cosas que hay publicadas en internet. Incluso he soldado unos switches para controlar por hardware los modos del módulo (pin 34 modo AT, pin 28 Master/Slave, pin 27 Master(Software/Hardware), pin 26 RESET, la alimentación de estos switches es a 3,3v). Por más combinaciones que he probado, no soy capaz de entrar a programarlo el comando AT+NAME no funciona, al encender el módulo entra el led en parpadeo rápido, con lo cual estaría preparado para emparejarlo. Con el switch pin 34 en HIGH no entra en modo AT, pues el led no parpadea lentamente. Si tienes alguna solución te lo agradecería.
Hola Ajuanelo,
Pues así de primeras y con todo lo que ya has probado no se me ocurre nada mas.
Quizás podrías contactar con el vendedor, tal vez te facilite el datasheet con información de como configurarlos..
Saludos.