He tenido un avance, pero no he dado solución del todo a mi problema.
He podido enviar Datos de un Sensor de Humedad el Cual tengo conectado al A0 (Analog Input 0) por bluetooth al BlueTerm
pero aún no he podido Lograr que desde consola (BlueTerm) envíe datos 'H' - 'L' y que arduino los reciba para encender un Led conectado al PIN 13
les comparto el código que me ha servido hasta ahora.
const int ledPin = 13; //LED conectado al pin13
void setup()
{
Serial.begin(9600); //Inicializamos la consola serie
pinMode(ledPin, OUTPUT); // declaro el pin13 como salida
}
void loop()
{
int a = analogRead(A0); // Tomo la lectura del pin A0 ( este no se declara pq automaticamente Lo hace Arduino)
/*El arduino leonardo, y la mayoria de arduinos (sino todos), disponen de otro puerto serie por el que podemos
emitir mas información. En este caso, enviaremos la temperatura a ese puerto serie extra, al cual estara conectado
el emisor BT y que la emitirá al mundo*/
Serial1.begin(9600);
Serial1.println(a); //enviamos la cadena por el puerto serie 1, que es el conectado al emisor/receptor BT.
Serial1.end();
delay(1000);
}
Uso la pc de mesa, solamente tengo ese módulo de bluetooth // con el que hago los test de conectar y probar es con mi celular ( Samsung Galaxy s4 i9500)
Amigo tienes un error en el dibujo... la conexión es de este modo:
Es importante Notar el cruce en las conexiones, el pin 2 de Arduino (Rx en el Software Serial) se conecta al pin Tx de Bluetooth y el pin 3 de Arduino (Tx en el Software Serial) se conecta al pin Rx del Bluetooth.
Tu los señalaste invertidos.
y nada, Estoy igual que como quedé anoche, Puedo enviar datos desde la consola hacia el celular con BlueTerm, pero no puedo Enviar nada desde la Consola de BlueTerm hacia consola del Pc
Alguien me podría indicar que estoy haciendo mal ?
Saludos
Yo hice prueba con blueterm y también tuve el mismo problema al final usar Sena Bterm y fue muy rápido que logre la comunicación. En mi caso use HC-06
Hola, tal vez ya solucionaron algo con el arduino leonardo sin embargo quiero ofrecer una solución adicional a la que pude llegar y que de haberla encontrado acá, me hubiera facilitado todo y son cosas que uno no nota, y no les ve la importancia que pueden tomar.
Estuve haciendo lo mismo, una aplicación súper sencilla de prender y apagar un led, digamos el led 13 que el arduino leonardo también lo tiene como L, y pues también se puede añadir. Este no funcionaba hiciera lo que hiciera, encontrado por foros, y si es cierto que debemos usar Serial1, para que sirva pero yo haciendo esto aún no funcionaba, al final de muchos intentos logré descubrir que había omitido un paso, que fue configurar mi modulo de bluetooth por comandos AT, es obvio que cambie el nombre, y contraseña pero omití cambiar el UART pensando que no era necesario ni pasaría nada, pero esto hizo que el modulo tuviera configurado un UART 38400,0,0 predeterminado y al cargar el programa de arduino, si pueden ver se inicializa
con serial1.begin(9600); y con esto no funcionará, parecerá que esta conectado al celular y todo pero no envía datos, se soluciono configurando en AT, AT+UART=9600,0,0
Bueno puede que sea un paso muy sencillo pero esto me paso y así lo arreglé, ojalá esto sea una solución para al menos a una persona como me paso a mi. Solo dejo mi experiencia. Gracias.
fabianchoxD:
Amigo tienes un error en el dibujo... la conexión es de este modo:
Es importante Notar el cruce en las conexiones, el pin 2 de Arduino (Rx en el Software Serial) se conecta al pin Tx de Bluetooth y el pin 3 de Arduino (Tx en el Software Serial) se conecta al pin Rx del Bluetooth.
Tu los señalaste invertidos.
y nada, Estoy igual que como quedé anoche, Puedo enviar datos desde la consola hacia el celular con BlueTerm, pero no puedo Enviar nada desde la Consola de BlueTerm hacia consola del Pc
Alguien me podría indicar que estoy haciendo mal ?
Gracias.
Hola, porque hay que invertir rx y tx? yo hice una coneccion pare prender y apagar, conectados tx y rx normalmente y no respondia, los inverti y wala, todo a la parfeccion, porque??? espero alguien me pueda responder, muchas gracias!