ARDUINO + BLUETOOTH
(03/02/14)
En este tutorial vamos a dotar al Arduino de comunicación Bluetooth usando un módulo Bluetooth, veremos cómo configurarlo y cómo enviar y recibir datos desde un dispositivo Android.
Material
-Arduino Uno Rev 3
-Módulo Bluetooth JY-MCU
-Dispositivo Android con Bluetooth
-Leds rojo, amarillo y verde
-Resistencias 220 ohms x 3, 5K6, 10K
Módulo Bluetooth
El Bluetooth es un estándar de comunicación inalámbrica que permite la transmisión de datos a través de radiofrecuencia en la banda de 2,4 GHz. Existen muchos módulos Bluetooth para usarlos en nuestros proyectos de electrónica, pero los más utilizados son los módulos de JY-MCU, ya que son muy económicos y fáciles de encontrar en el mercado. Son módulos pequeños y con un consumo muy bajo que nos permitirán agregar funcionalidades Bluetooth a nuestro Arduino. Estos módulos contienen el chip con una placa de desarrollo con los pins necesarios para la comunicación serie.
Existen dos modelos de módulos Bluetooth: el HC-05 que puede ser maestro/esclavo (master/slave), y el HC-06 que solo puede actuar como esclavo (slave). La diferencia entre maestro y esclavo es que en modo esclavo es el dispositivo quien se conecta al módulo, mientras que en modo maestro es el módulo quien se conecta con un dispositivo.
Físicamente, los dos módulos son muy parecidos, solo varían algunas conexiones. Los pins que encontraremos son los siguientes:
-Vcc: Alimentación del módulo entre 3,6V y 6V.
-GND: La masa del módulo.
-TXD: Transmisión de datos.
-RXD: Recepción de datos a un voltaje de 3,3V.
-KEY: Poner a nivel alto para entrar en modo configuración del módulo (solo el modelo HC-05)
-STATE: Para conectar un led de salida para visualizar cuando se comuniquen datos.
Comandos AT
Los comandos AT son un tipo de comandos que sirven para configurar el módulo Bluetooth a través de un microcontrolador, un ordenador o con cualquier dispositivo que posea una comunicación serie (Tx/Rx). Son unas instrucciones que nos permiten cambiar los baudios del módulo, el PIN, el nombre, etc. Para usar los comandos AT el módulo Bluetooth no debe estar vinculado a ningún dispositivo (led rojo del módulo parpadeando). Según las especificaciones del módulo, el tiempo que se tiene que respetar entre el envío de un comando AT y otro tiene que ser de 1 segundo. Si se envía un comando AT y en menos de un segundo se envía otro, el módulo no devuelve respuesta.
Ahora vamos a configurar el módulo Bluetooth a través de comandos AT enviados desde el Monitor Serial del Arduino. El código del Arduino necesario tanto por el módulo HC-05 como el HC-06 es el siguiente:
#include <SoftwareSerial.h> //Librería que permite establecer comunicación serie en otros pins //Aquí conectamos los pins RXD,TDX del módulo Bluetooth. SoftwareSerial BT(10,11); //10 RX, 11 TX. void setup() { BT.begin(9600); //Velocidad del puerto del módulo Bluetooth Serial.begin(9600); //Abrimos la comunicación serie con el PC y establecemos velocidad } void loop() { if(BT.available()) { Serial.write(BT.read()); } if(Serial.available()) { BT.write(Serial.read()); } }
Entre los dos modelos de módulo Bluetooth existen diferencias a la hora de enviar los comandos AT:
HC-06
En el HC-06 solo se necesitan cuatro pins: Vcc, GND, TXD y RXD. El pin KEY no es necesario.
Al enviar un comando AT no se debe enviar ningún carácter de LF (nueva línea) ni CR (retorno de carro) al final del comando. En el Monitor Serial del Arduino tenemos que poner No hay fin de líena.
Los comandos AT que se pueden enviar en este módulo son los siguientes:
Comando AT |
Descripción |
Respuesta |
AT |
Test de comunicación. |
Responde con un OK |
AT+VERSION |
Retorna la versión del Modulo |
OKlinvorV1.8 |
AT+BAUDx |
Configura la velocidad de trasmisión del modulo según el valor de “x”1 = 1200 bps
2 = 2400 bps 3 = 4800 bps 4 = 9600 bps (por defecto) 5 = 19200 bps 6 = 38400 bps 7 = 57600 bps 8 = 115200 bps 9 = 230400 bps A = 460800 bps B = 921600 bps C = 1382400 bps |
AT+BAUD4 Configura la velocidad a 9600 baud rate Responde con OK9600 |
AT+NAMEx |
Configura el nombre con el que se visualizara el modulo, soporta hasta 20 caracteres | AT+NAMEDIYMakers Configura el nombre del modulo a DIYMakers Responde con OKsetname |
AT+PINxxxx |
Configura el Pin de acceso al modulo (password).1234 por defecto. | AT+PIN1122 Configura el pin a 1122 Responde con OKsetPIN |
Una vez compilado el código en el Arduino, abrimos el Monitor Serial y enviamos el comando AT, vemos que el módulo Bluetooth nos responde con un OK.
HC-05
El HC-05 es necesario poner el pin KEY del módulo a nivel alto (5V) para enviar comandos AT. Además, al enviar un comando AT hay que enviar un carácter de LF (nueva línea) y de CR (retorno de carro) al final del comando. Por lo tanto, en el Monitor Serial de Arduino pondremos Ambos NL & CR.
En el HC-05 se pueden enviar muchos más comandos AT que en el HC-06. Aquí os dejamos un archivo pdf con todos los comandos AT.
Recibir datos de un dispositivo Android
Ahora que ya sabemos cómo conectar y configurar un módulo Bluetooth en nuestro Arduino, vamos a vincularlo a un dispositivo Android con Bluetooth y enviar datos al Arduino mediante la aplicación BlueTerm, que es un emulador de terminal que permite comunicarse con un dispositivo Bluetooth para enviar y recibir información vía serie. La app es gratuita y se puede descargar desde este enlace.
Conectaremos tres leds de diferentes colores al Arduino y mediante unos comandos que ingresaremos en la app BlueTerm los encenderemos y apagaremos. En este ejemplo hemos usado un módulo HC-06 pero se puede usar también un HC-05 ya que no hay diferencia en este caso.
Código Arduino
/* www.diymakers.es by A.García Arduino + Bluetooth Tutorial en: http://diymakers.es/arduino-bluetooth/ */ #include <SoftwareSerial.h> //Librería que permite establecer comunicación serie en otros pins //Aquí conectamos los pins RXD,TDX del módulo Bluetooth. SoftwareSerial BT(10,11); //10 RX, 11 TX. int green=4; int yellow=5; int red=6; char cadena[255]; //Creamos un array de caracteres de 256 cposiciones int i=0; //Tamaño actual del array void setup() { BT.begin(9600); Serial.begin(9600); pinMode(green,OUTPUT); pinMode(yellow,OUTPUT); pinMode(red,OUTPUT); } void loop() { //Cuando haya datos disponibles if(BT.available()) { char dato=BT.read(); //Guarda los datos carácter a carácter en la variable "dato" cadena[i++]=dato; //Vamos colocando cada carácter recibido en el array "cadena" //Cuando reciba una nueva línea (al pulsar enter en la app) entra en la función if(dato=='\n') { Serial.print(cadena); //Visualizamos el comando recibido en el Monitor Serial //GREEN LED if(strstr(cadena,"green on")!=0) { digitalWrite(green,HIGH); } if(strstr(cadena,"green off")!=0) { digitalWrite(green,LOW); } //YELLOW LED if(strstr(cadena,"yellow on")!=0) { digitalWrite(yellow,HIGH); } if(strstr(cadena,"yellow off")!=0) { digitalWrite(yellow,LOW); } //RED LED if(strstr(cadena,"red on")!=0) { digitalWrite(red,HIGH); } if(strstr(cadena,"red off")!=0) { digitalWrite(red,LOW); } //ALL ON if(strstr(cadena,"on all")!=0) { digitalWrite(green,HIGH); digitalWrite(yellow,HIGH); digitalWrite(red,HIGH); } //ALL OFF if(strstr(cadena,"off all")!=0) { digitalWrite(green,LOW); digitalWrite(yellow,LOW); digitalWrite(red,LOW); } BT.write("\r"); //Enviamos un retorno de carro de la app. La app ya crea una línea nueva clean(); //Ejecutamos la función clean() para limpiar el array } } } //Limpia el array void clean() { for (int cl=0; cl<=i; cl++) { cadena[cl]=0; } i=0; }
El código es bastante simple. Primero creamos un array de 256 posiciones tipo char llamado cadena para almacenar los caracteres que recibiremos de la app. Cuando haya datos disponibles los vamos guardando uno por uno en forma de carácter en la variable dato. Después ponemos estos caracteres por orden en el array cadena. Cuando reciba un carácter de fin de línea (\n), se compara el texto almacenado en el array con el texto que deseamos. Para hacer la comparación se usa la función strstr() que procede de C++ y que permite encontrar partes de texto en un String. Después de esto, se limpia el array poniendo a 0 todas las posiciones usadas para recibir el siguiente comando.
Configurar app Android
Una vez descargada la app la abrimos y en ajustes ponemos Conectarse a un dispositivo.
Pulsamos Buscar dispositivos y escogemos nuestro módulo Bluetooth que en nuestro caso le hemos puesto el nombre DIYMakers. Si no lo habéis cambiado pondrá por defecto LINVOR o HC-06.
Ponemos el PIN del módulo. Si no lo habéis modificado será 1234.
Después de esto, arriba a la derecha pondrá conectado:<nombre> Significa que tenemos asociado nuestro dispositivo Android con nuestro módulo Bluetooth y el led de este deja de parpadear y se queda fijo.
Luego solo hay que poner los comandos para encender y apagar los leds. Cuando se escribe un comando tenemos que pulsar Enter del teclado para enviarlos al Arduino. En el terminal no se pueden borrar caracteres, por lo que si nos equivocamos pulsamos Enter y lo volvemos a escribir.
Willian
Super sensillo, porfavor, me ayudas, diciendo cómo puedo hacer lo mismo pero con un módulo BlueSmirf Silver, por favor, de urgencia ya he provado muchas cosas y no me sale, ayudame plis…..
DIYMakers Post author
Hola William. Lo sentimos, pero no hemos probado el módulo BlueSmirf Silver y no podemos darte explicaciones, aunque no creo que sea muy distinto al funcionamiento de los módulos JY-MCU. Prueba a conectarlo como el HC-06, sin pin KEY, solo usando cuatro pins.
jose
al inicio batalle por que utilice otra app, me arrepenti e instale la de la imagen y funciono gracias
Pingback: LOGSHOCK | Pearltrees
Gino
un favor me conecto bien desde el celular pero la app no me escribe caracteres???
DIYMakers Post author
La app encuentra el modulo Bluetooth y se conecta???
Pablo
A mi me pasa igual. No me escribe caracteres y si se conecta el dispositivo con el bloothooth. Que es necesario hacer?
Kpk
Deben de configurar la parte del echo local, lo habilitan y le permiten el salto de linea eso es en Caracter CR (0x0D) le dan en la opcion de Reemplazar por CRLF (0x0D0A)
marioso24
A mi me pasaba exactamente lo mismo. Qué pasaba? simple. No estaba utilizando el teclado stock del telefono porque tengo SWIFTKEY instalado. Así que lo único que deben hacer es irse a la configuración de su móvil y activar el teclado STOCK (el de fábrica). Funcionando!
Juanduino
A mi tampoco me escribio los caracteres , samsung ace 3
ASDAS
ACTIVA EL ECO
1719abcd
a mi me pasa igual, no me escribe caracteres, si lo pude conectar al modulo bloothooth pero al escribir no pasa nada, no sera algo del clean que me limpie el caracter justo cuando lo escribo.¿?
DIYMakers Post author
El clean () no puede ser porque solo se ejecuta después de enviar una nueva línia desde la app. Debe de ser un problema de la app o del terminal móvil. Nosotros lo hemos probado con varios smartphones y funciona perfectamente.
1719abcd
Oye amigo no es posible usar el bloothooth en las entradas digitales (0,1) RX,TX ¿? lo que pasa es que mi programa ocupa demasiadas entradas y apenas me ajusta si uso del 0 al 13.
DIYMakers Post author
Si, ningún problema. Tendrás que usar la función Serial para comunicarte
andrey
yo tengo un sony xpiria m2 y se conecta al bluetooth pero no escribe caracteres y tiene la configuracion de fabrica
Bogar Ivan Galvan Castañeda
revisa bien tu tutorial, esta mal en la parte donde indicas como conectar del arduino a tx y rx en el codigo arduino indica SoftwareSerial BT(10,11); //10 RX, 11 TX. y en la imagen indica lo contrario.
DIYMakers Post author
No Ivan, el tutorial esta bien. Software Serial BT (10,11) quiere decir que el pin 10 del Arduino es RX del Arduino, y el pin 11 es TX del Arduino. El RX y TX se tienen que intercalar entre el Arduino y el módulo Bluetooth. Por lo tanto, el RX del Arduino (pin 10) se conecta al TX del módulo, i el TX del Arduino (pin 11) se conecta a RX del modulo Bluetooth tal como se indica en la imagen.
Walter Ramirez
y los pines 1 y 0 del arduino que significan
brutal
ahhh si seras menso!!!
Jota
lol
eliso
A los que no os salga los caracteres en la aplicacion dadle a preferencias y marcais echo local.
Ohz Dan
Hola, crees que se podría hacer un proyecto en el cual se mandará un archivo mp3 a los dispositivos que estén en rango del Bluetooth ?? Es decir programar la arduino para que automáticamente mande un archivo vía Bluetooth. Gracias
DIYMakers Post author
El Arduino en principio no puede con archivos mp3. Tendrías que usar una shield mp3 para reproducir los archivos de musica. Si los quieres mandar a través de Bluetooth pues creo que no se puede, aunque esto no lo hemos probado, aún.
eliaz
buenas tardes, gracias por la info, mi duda es la siguiente: tengo un módulo bluetooth hc-05 configurado como MASTER y un arduino UNO, quiero mandar CARACTERES, (letras) de manera inalámbrica hacia una laptop con bluetooth interno, y que esos caracteres se escriban por ejemplo en el BLOC DE NOTAS, de la laptop,¿COMO SERÍA LA CONFIGURACIÓN? es decir, SIN usar un arduino y bluetooth slave pegados a la laptop, ya que mi laptop tiene un bluetooth interno
Saludos.
DIYMakers Post author
Podrías hacerlo con Processing. Te permite guardar datos y texto en un archivo de texto (.txt) del ordenador como ya hicimos en este tutorial http://diymakers.es/arduino-processing-primeros-pasos/ . A través de una librería Bluetooth de Processing, tendrías que comunicar el PC con el Arduino vía Bluetooth.
daniel
el bluethoot conecta pero no se puede escribir.
DIYMakers Post author
Problema de la configuración de la app. Prueba dándole a preferencias y marca Echo local
Augusto
Hola, excelente tuto. Estoy tratando de leer distancias con un sensor de Ultrasonido y enviar estas lecturas por bluetooth al Celular, no sé si necesito otra librería o con lo puedo hacer, vi por allí el comando «blue.print(…, …); » ¿Podrías darme una mano por favor?
Rafael
Hola….
estoy tratando de compilar el código tal cual y me da los siguientes errores
error: ‘class SoftwareSerial’ has no member named ‘write’
error: ‘class SoftwareSerial’ has no member named ‘available’
¿Me faltaría configurar algo en el compilador????? o la clase ‘SoftwareSerial’ no la tengo actualizada?????
victor
escribo ATpero no hay respuesta… qué puede ser? gracias!
Isra
Hola. Lo primero genial el tutorial! Lo he probado y todo perfecto
Tengo un problema con la configuración del nombre y pin del HC05. Lo intento configurar, pero nunca me devuelve el OK cuando escribo AT. Sabes a que se puede deber?
Gracias!
felipe
la aplicación permite comunicación half duplex?
es decir, recibir datos desde la tarjeta hacia el terminal
Omar Lopez
olle me podrias porfavor ayudar con un programa par encender un servo por medio de 2 sensores IR
VanDerMoe
Hola, buen tuto. Despues de leer el pdf de los comandos AT del nmodulo 05. Mi pregunta es si se puede saber la intensidad de la señal de los dispositivos bluetooth que se encuentren al alcance del arduino. En el pdf hace una vaga referencia a esto, pero no termino de entenderlo. Mi intencion es estimar la posicion del arduino por triangulacion. Es muy posible que haya algo mas especifico para esto, pero ando bastante perdido en el tema. Gracias
IsraFer10
Hola, me gustaría saber si encontraste la forma y si me pudieras orientar donde leer.
Onuba
Primero enhobuena por este tutorial. A mi se me conecta Arduino con el módlo, me escribe la app…pero no se enciende nada!!. Tengo el módulo HC-06. Gracias
Eréndira Covix
Oye una pregunta, en tu tutorial muestras cómo comunicar el teléfono para que este prenda o apague los leds en la Arduino, yo busco hacer lo contrario, tengo un sensor de temperatura conectado a la arduino y quiero que me mande las mediciones al teléfono ¿Se podría hacer o qué modificaciones son pertinentes?
Mario Garcia
Hola si aun no lo has resuelto favor envíame tu correo yo tengo desarrollado algo que permite enviar en ambas vías
JUAN CORTEZ
Yo lo necesito tambien.
betsy parra
hola, yo necesito enviar por medio del celular al arduino la orden para controlar 3 motores y que estos me giren en ciertos grados, sera que tu programa me puede servir? te envio mi correo para que por favor me envies el programa.
De antemano gracias.
parrabetsy@gmail.com
Boned
Hola, me gustaría saber si cabe la posibilidad de que en lugar que el dispositivo android envié datos o instrucciones, sea el quien reciba un dato enviado desde el arduino, en este caso una cadena de caracteres… Gracias
Alejandra
A mi me conecta y todo pero no me prende los leds cuando envio los datos por el bluetooh
eduardo Navarro
muy bueno, muchas gracias, es mi 2 circuito
hubo algun problema conla configuracion pero al final todo bien
ENHORABUENA Y GRACIAS
Agustin
Hola,
tengo un HC05 y no siempre logro conectar con la App, a veces me conecta sin problemas, pero otras veces se queda parpadeando y la App nunca me conecta.
He cambiado de terminal móvil y el problema se mantiene. No tengo claro cuál puede ser el motivo por el que hay veces que no le da la gana. ¿alguien puede saber por donde van los tiros?
Agustín
DiegoFS
El circuito funciona excelente…. Muchas gracias. estuve investigando bastante y este Tutorial fue el que mas me ayudó lejooooosssss !!!
Yo pruebo con mi HC05 y pongo el cable de Enable, pero la verdad no entiendo cual es la diferencia entre ponerlo y no ponerlo.. si lo saco sigo teniéndo comunicación en los dos sentidos.
Por otro lado no utilicé las resistencias para bajar los 5v a los 3v3 porque no las veo en otras implementaciones… Es por un tema de seguridad y de Buena conservación del circuito o tiene alguna finalidad mas allá de esto.
Me podrían aclarar estas dos cositas???
Nuevamente gracias !!!
Angel Avalos
hace tiempo hice una practica similar con un HC-06 sin necesidad de configurar nada del BT…. lo puedo hacer con el 05 sin necesidad de configurar??
no sé si me expliqué…
Arturo González
Una duda, eso es para recibir caracteres ‘char’ existe alguna manera de recibir datos ‘int’ o ‘float’? agradeceria la ayuda
Edgard
Estoy intentando utilizar el programa del HC-06 con un arduino DUE,sabes como se puede hacer?
Gracias
Jeffry M. Rivera
Hola si quiero cambiar o modificar la app android para agregarle mas cosas?
de casualidad no tienes un código android que sirva ?
Aitor
Para eso tienes que hacer tu app con android estudio, facil no es
José Ismael
NO ME SALE ESTA PRACTICA…
POR MAS QUE INTENTO NO SALE…
MI MODULO NO ES UN JY-MCU…
ES UN FC-114, Y SE MANEJA A 38400 BAUDIOS, PERO CONFIGURO Y NADA…
José Ismael
Ademas BlueTerm no me escribe nada…
por mas que presiono las letras, blueterm no escribe ni manda nada…
Pilar Nuñez
Hola.
Alguien podría explicarme como es que el arduino lee los datos que recibe del bt? Necesito enviar un color, pero la app que he creado en android me los muestra como elementos de una lista (R G B A) A: Atenuacion. Como puedo enviar esto al bt y que el arduino no lea?
Diego Quimbert
Hola Pilar, bueno hiciste esto??? para la recepcion de datos?? y una pregunta tu imagen RGBA las envias desde tu android a tu arduino y tu arduino las enviara a donde?? bueno adjunto un codigo.
if(Serial1.available()>0) //Comprobamos si en el buffer hay datos
{
int dato=Serial1.read(); //Lee cada carácter uno por uno y se almacena en una variable
Serial.write(dato); //Imprimimos en la consola el carácter recibido
Pilar Nuñez
Hola que tal Diego? 🙂
Pues la app ya la he modificado un poco después de tanto investigar. Lo que hace es tomar el color del pixel que toco en la pantalla (en este caso de una imagen de una rueda de colores), luego con un bloque que se llama «split color» el expresa en la misma app en forma texto, el color seleccionado de esta manera «(R G B A)». Ahora bien, este texto es lo que envía hacia el bt para luego ser leído por arduino. En arduino lo que he tratado de hacer es leer esa cadena de texto para lograr la modulación PWM y conectar un modulo de leds rgb y variar su color.
Aun no he logrado hacerlo 🙁
Josevi
Hola buenas, mira yo estoy estudiando electronica en un GS y bueno voy hacer un pequeño equipo de musica, haciendo yo el aplificador etc. Pero yo quiero ir mas haya y poder desde mi smarphone a traves de bluetoohn reproducir mi musica. Es decir que el ampli tenga un dispositivo bluetoo y pueda conectarme con mi movil y reproduzca mi musica. Tipo cascos inalambricos que venden. Y estado mirando y queria saber si con esto de arduino podria valerme y en su caso como hacerlo. Gracias.
Pablo
Los HC-05 y HC-06 son bluetoohs digitales. Necesitas un bluetooth que te permita pasar datos de forma analógica.
Pingback: BlueTooth Ballet a Dos - David Albiol Pedregal
Jose Tarazona
amigos una pregunta en que programa puedo hacer esos diagramas de la protoboard conectada con el arduino y el modulo bluettoh ? muchas gracias
Carlos Ruiz
Hola buenas muy buena información, gracias, estoy haciendo un dispositivo arduino + bluetooth + android para medir la distancia entre mi android y el arduino pero solo logro comunicar con el bluetooth y controlar leds o pequeños motores pero no he logrado medir la distancia entre el movil y el arduino, en las APP de android hay varias apps que miden los dBm de la señal y de esa forma se puede calcular, pero no se como hacer para medir los dBm con mi arduino nano, si me puedes ayudar te lo agradecería muchisimo
Marco Monreal
llevo bastante tiempo buscando un ejemplo, y aun no lo encuentro, el ejemplo que quiero es del codigo android
Pingback: Movilidad Urbana 2da Parte. | Equipo Ozono
jesus gilabert
buenas tardes , tengo un problema con el bluetooth consigo emparejarlo con el movil y consigo tambien entrar en los AT no consigo con ningun steck poner alguna de las salidas digitales a uno y he probado dos modulos hc06 y hc05 me hace exactamente lo mismo me podria ayudar gracias
rafael tigrero
Buenas tardes tengo un problema con el modulo hc05 fc 144 he seguido los pasos pero nisiquiera enciende..no hay mucha informacion pero si lo conecto a vcc ha 5v hay si enciende pero nolo puedo conectar..
rafael tigrero
Como hago para conectar el modulo hc05 fc144 es diferente tiene un boton y no consigo que encienda aunque conectando a vcc a 5v si enciende pero no puedo configurar la at
Pingback: BlueTooth Ballet : Un prueba Simple - David Albiol Pedregal
joc
Buen dia…Me podria colaborar ..requiero hacer un karaoke a traves de arduino. y con la interfaz processing. y que la cancion de puntajes
lucas
necesito ayuda, tengo un zs-040 no tiene pin key sino un botón con el cual entrar en modo AT, el problema esta que cuando envió a AT o AT+ no recibo ninguna respuesta, ya probe con varios códigos de la red y no logro que funcione, agradecería la ayuda, si saben cual es el problema por favor díganme como solucionarlo.
Gracias de antemano
Jorge
Hola. Tengo un modulo de ese fabricante, el HM10. ¿se puede configurar para que sea reconocido como MIDI BLE Device por un dispositivo IOS? ¿mediante comandos AT?
Oswaldo
lograste algo con eso?
Pingback: ARDUINO + BLUETOOTH - GOLEM ELECTRONICS
diego
como puedo usarlo para manejar dos motores en directiva y reversa?
Moisés Armando
Muy buen tutorial, en mi caso, me gustaría que cuando un led se prenda, me llegue una notificación. ¿Cómo podría hacer eso utilizando un HC-05?
alex
muy buen tutorial amigo solo una pregunta no tendras el tuto para que la comunicacion sea mandar datos del arduino a la Aplicacion?
javier gómez
Enhorabuena por el tutorial, soy novato en este mundillo de arduino y me ha surgido un proyecto y necesito de vuestra ayuda y consejo.
Mi proyecto es el siguiente: tengo una maquina de construcción con la cual me comunico con su controlador electrónico a través de un comunicador y éste conectándolo al PC a través del puerto rs232. Mi intención es hacerlo de forma inalámbrica, lo he intentado con dos xbee s2 que una vez configurados se comunican perfectamente y los convierto a rs232 pero no consigo que funcionen.
También he probado con dos HC-05 y consigo que conecten entre ellos pero no que transmitan la señal.
En los dos casos los he intentado con los comunicadores xbee y hc-05 sólos, he pensado que a lo mejor conectándolos con arduino podría funcionar.
Por favor darme vuestra opinión de como podría conseguir que funcionase.
Estas son las señales que he medido con el osciloscopio en Rx y Tx de los cables que llegan al r232 del pc.
Me tienen un poco despistado porque no cumplen el protocolo de señal de rs232, creo lo mismo estoy equivocado lo digo porque la señal debería ser entre +/- 15 v. con una zona muerta de +/- 3v.
https://s2.resellty.com:2078/public_html/sites/default/imagenes/RX%20COMUNICADOR.jpg
https://s2.resellty.com:2078/public_html/sites/default/imagenes/TX%20COMUNICADOR.jpg
La comunicación es bidireccional y el protocolo de comunicación lo tengo puenteado y funciona perfectamente solamente con los tres cables (negativo, Rx y Tx).
La verdad es que estoy bloqueado y no se me ocurre como seguir.
Un saludo y muchas gracias.
bryan
como puedo hacer para activar una alarma desde mi celular…ya tengo la programación pero no se como ad herirla a mi programación….ayuda por favor……soy un estudiante y recién estamos iniciando con esto de arduino y es nuestro proyecto para graduarnos…
Luis Pimentel
En la App BlueTerm no me aparece el menú para poder conectarme a un dispositivo. Cómo le puedo hacer ?
carlos sanchez
Buenas, tengo una duda, estoy usando un Arduino UNo con ardunio IDE y tambien un modulo HC-05 ZS040 (No tiene el PIN key) quisiera saber como accdeo al modo AT, quisiera saber como accedo a este modo por medio del IDE de arduino, he provado todo y anda me resulta…
Uso este simple codigo pero el modulo no me responde:
#include
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
Serial.begin(9600);
pinMode(9,OUTPUT); digitalWrite(9,HIGH);
Serial.println(«Enter AT commands:»);
mySerial.begin(38400);
}
void loop()
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
8parga8
Hay un pequeño detalle en la descripcion del HC05 que me ha liado un poco. Segun este articulo, el HC05 viene configurado de fábrica a 9600 baudios, pero tras consultar en otras paginas he encontrado que podría estar preconfigurado a 38400 baudios (como es el caso del HC05 que me han vendido) Tras modificar este detalle en vuestro código, he recibido el ansiado «OK» por el puerto serie.
Estupendo articulo.
Luisant
Excelente tutorial , tengo el HC06 , no soy capaz de poder encontrarlo con el Bluetooth de mi tlf iPhone , es posible probar con otro módulo Bluetooth o todo depende de la programación ???
andres
amigo una pregunta se podrá enviar la variación en la resistencia de un potenciómetro a través de un master y con un slave leerla y posicionar un servomotor? te agradecería la ayuda!
Jose
hola, llevo poco con arduino y me apasiona. Compre recientemete los modulos HC05 y 06 para jugetear un poco y quisiera saber si hay forma de emprelarlo para saber a que esta el movil del modulo y actuar en consecuencia, a 2 metros hacer una cosa a 5 otra…
Miguel Maurel
si alimento con los 3,3v que entrega el arduino no hay necesidad de colocar las resistencias ??
le_yo :v
de que forma puedo, desde un arduino, mandar una letra correspondiente a un pushbottom a otro arduino para que este reaccione
trato de usar dos arduinos leo para encender 2 led por medio de una letra para cada led (así mando un solo dato identificable para su variable)
es casi lo mismo a lo tuyo, pero con otro arduino en lugar de un celular, y una letra en lugar de una frase
puedes asesorarme?
no he podido encontrar algo similar a lo que busco, y (mentalmente) no logro adaptar lo que encuentro para hacer mi programa :/
regino
Buenas! Lo primero gracias por esta guia, me ha servido de mucho en mi proyecto, pero tengo una problema que no soy capaz de resolver. ¿Como hago para controlar lo que envio mediante un evento?, me explico. Mi intención es mandar una señal desde arduino a una aplicacion android mediante bluetooth, la señal proviene de un sensor de movimiento. Lo que hago es controlarlo mediante un if, enviado en dato cuando el sensor esta en high, hago toda la conexion y el envio del dato dentro de este if. Pero me encuentro con el problema de que una vez que entra en el, se queda ahi enviando high todo el rato, aunque el sensor este en low. ¿Como podria hacer para que en el else parara de enviar datos sin cortar la conexion con el smartphone?
Un saludo!
Raul
Necesito hacer lo mismo, pero no he podido. Has encontrado alguna solución?
Aitor
El articulo es bueno, pero como pongo una intensidad especifica del 1 al 255 sin poner switch case o cosas asi
Danny Iglesias
Es programa se puede aplicar rele en ve de led.
uriel hernandez solis
como crear mi propia applicacion para diferentes comandos
Pingback: Bluetooth en Arduino | Aprendiendo Arduino
Francisco Rivas
Hola, muy buen tutorial gracias.. pero tengo un problema, en vez de encender los LEDs mi arduino sólo envía los comandos que le escribo al monitor serie, qué hice mal? Saludos.
Omar Chivata
Hola, buen dia, quisiera saber si puedo formar un red de dispositivos bluetooth, teniendo 1 maestro y varios esclavos… y si es posible, cual es la cantidad maxima de esclavos que puedo tener
Gracias!!
Elda Mónica Gómez Morales
Hola, en donde descargo la app para instalarlo en mi teléfono?
dalia
hola, tengo un problema en cuestión de comunicación bluetooth, necesito emparejar 2 bluetooth para que pueda existir comunicación entre ambos , sin embargo lo manipulo de 2 arduinos distinto, el enlace de los 2 bluetooth ya lo hace , pero el detalle esta cuando quiero ver los datos que se envían los 2 bluetooth en una aplicación ya que solo puedo ver el dato de 1 bluetooth, menciono que los bluetooth están enviando la información del monitoreo de 2 sensores de carga, mi problema es que no puedo ver los valores de los 2 sensores en la app. como puedo hacerle ??
configure los 2 módulos, uno como maestro y otro como esclavo, y el bluetooth que puedo visualizar es el de configuración modo esclavo.
Diego Jesus
Hola buenas, estoy haciendo un proyecto y me gustaria saber si de un dispositivo bluetooth hc-05 o el otro, conectandose a un android, podria hacer que este android reciba videos y/o audio? Me es urgente. Gracias!!
Pingback: Bluetooth con Arduino | My Blog
cesar
tengo un problema con un proyecto que usa dmd matriz de leds p10 que usa un modulo bluetooth, pero solo me despliega un maximo de 63 caracteres y necesito mas y no se como resolver eso
Cajo Morales
donde hiciste la apilcacion?
Cajo Morales
me interesa como fue que hiciste la aplicacion para ver codigo
Oliver
como podría hacer que mis dos módulos HC-05 funcionen como transmisor y receptor al mismo tiempo,necesito que el receptor me regrese unos datos al transmisor