Go Down

Topic: Arduino uno bluetooth (Read 630 times) previous topic - next topic

karlospv94

BUenas, estoy siguiendo este manual:
http://tallerarduino.wordpress.com/2011/12/06/modulo-bluetooth-hc-06-o-gp-gc021-y-arduino/

Mi duda es si en vez de Serial lo puedes definir como Serial1 ya que en realidad Serial no es el usb?
quiero decir, como escribir en el móvil a través de bluetooth cualquier cosa, si si pones serial.println() lo escribe en pantalla del ordenador?

Regata

En un arduino uno, solo tienes un puerto serie por hardware que se comparte con la comunicación usb-serie (el Serial), si fuera en el arduino leonardo o en el arduino mega tendrías más puertos serie por hardware para trabajar con ellos, en el arduino puedes añadir otro puerto serie por software con la libreria SoftwareSerial e indicando los pines que quieres usar para ese nuevo puerto serie. Te pongo un ejemplo muy básico:

Code: [Select]
#include <SoftwareSerial.h>

SoftwareSerial bluetooth(10, 11); // RX, TX

void setup()
{
  bluetooth.begin(115200);  //tengo el bluetooth configurado para estos baudios
}

void loop()
{
  bluetooth.println("Datos");  //Envio de datos
  delay(1000); 
}


Como tienes en esa entrada del blog, te funcionaría perfectamente, lo que pasa es que verías los mismos datos tanto por el monitor serial del IDE de Arduino como a través del móvil. Espero que te sirva la aclaración.
Visita: http://www.tallerarduino.com

karlospv94

#2
Jun 21, 2013, 04:20 pm Last Edit: Jun 21, 2013, 04:50 pm by karlospv94 Reason: 1

En un arduino uno, solo tienes un puerto serie por hardware que se comparte con la comunicación usb-serie (el Serial), si fuera en el arduino leonardo o en el arduino mega tendrías más puertos serie por hardware para trabajar con ellos, en el arduino puedes añadir otro puerto serie por software con la libreria SoftwareSerial e indicando los pines que quieres usar para ese nuevo puerto serie. Te pongo un ejemplo muy básico:

Code: [Select]
#include <SoftwareSerial.h>

SoftwareSerial bluetooth(10, 11); // RX, TX

void setup()
{
 bluetooth.begin(115200);  //tengo el bluetooth configurado para estos baudios
}

void loop()
{
 bluetooth.println("Datos");  //Envio de datos
 delay(1000);  
}


Como tienes en esa entrada del blog, te funcionaría perfectamente, lo que pasa es que verías los mismos datos tanto por el monitor serial del IDE de Arduino como a través del móvil. Espero que te sirva la aclaración.


A pues esto me viene perfecto, así puedo elegir lo que quiero que se vea por el puerto conectado al bluetooth, como el móvil y también lo que quiero que se vea por pantalla del ordenador. Gracias!

Otra pregunta es si en vez de un 'char' puedo utilizar una string para dar una orden al bluetooth. En vez de escribir 'a' para encender un led escribir "encender led"

De todas formas, el pin tx y rx del bluetooth no deben ir al 0 y 1 respectivamente del arduino?? Por qué los has puesto en el código en el 10 y 11?

Go Up