Go Down

Topic: modulo bluetooth hc5 (Read 5044 times) previous topic - next topic

knibal

Hola a todos!
TEngo un arduino mega y dos modulos hc-05. No consigo que los modulos respondan a los comandos at.
He probrado a poner en el rx unas resistencias 5,6kom y 10 kom pero sigue sin responder. consigo que el modulo entre en modo AT y el led parpadea lentamente pero no responde. El monitor serial esta como NL & CR y he probado a 9600 baud y 38400.
Los he conectado en rx1,tx1 y rx0tx0 con el mismo resultado.
He probado distintos codigos pero ninguno responde. Ya no se que mas intentar.
Uno de los codigos que he probado seria este.

Code: [Select]
#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(19,18); //19 RX, 18 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());
 }


un saludo

max_saeta

Saludos.
Ante todo la ventaja del Mega es que posee 4 puertos seriales. POr lo cual no tienes que usar Sotware Serial.

Segundo yo utilice este sketch para configurar mi bluetooh, aunque era una HC-06, prueba a ver si te funciona bien. Coloco el codigo modificado pero sin quitar los creditos. Otrea cosa recuerda que debes conectar RX del BleTooth con TX del Arduino y viceversa.

Code: [Select]
/*
    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[11]        = "Grua_Torre";    // 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]    = "1455";        // Contraseña para el emparejamiento del modulo.


void setup()
{
    Serial3.begin(9600);
    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:
            Serial3.print("AT"); delay(1000);

        // Se ajusta el nombre del Bluetooth:
            Serial3.print("AT+NAME"); Serial3.print(ssid); delay(1000);

        // Se ajustan los baudios:
            Serial3.print("AT+BAUD"); Serial3.print(baudios); delay(1000);

        // Se ajusta la contraseña:
            Serial3.print("AT+PIN"); Serial3.print(password); delay(1000);   
            Serial.print("Configurada");
}

void loop()
{
    // Al parpadear el led se habrá terminado la configuración:
    digitalWrite(13, !digitalRead(13));
    delay(500);
   
}

knibal

muchas gracias max_seata mañana mismo lo pruebo.

Un saludo

hcostanzo

Hola, buenas tardes.
Además de conectar TX en RX y RX en TX , tenes que poner el terminal KEY del hc5 en nivel HIGH para que entre en modo programación. Una vez que terminaste de programarlo, tenes que volver a poner el KEY en estado LOW para entrar en modo
comunicación. Si queres te puedo mandar esta noche el Sketch que uso yo, solo tendría que tocarlo un poquito porque lo tengo hecho para Arduino Uno. Espero te sirva mi comentario. Cordiales saludos.

knibal

Hola! Hago como me comentas. pongo el key a 3.3v y el led comienza parpadear una vez por segundo pero no responde a los comandos. Segun tengo entendido si esta el led a esa frecuenda es que esta esperando comandos pero no responde. Si no te importa pasamelo a ver si consigo algo porque esto desesperado ya con los modulos.

un saludo y gracias

hcostanzo

Hola, mira yo lo estoy alimentando con 5 volts , en un momento por error lo hice con 3.3 volts y no funciono.
Te paso sketch que uso para programarlo desde el monitor serie. Lo estoy probando en este momento y
funciona correctamente. Esta conectado así :

Arduino Mega             Módulo hc5

5 VOLTS                           VCC
GND                                  GND
RX1                                    TXD
TX1                                     RXD
PIN 5                                 KEY

Aqui empieza el Sketch  Suerte y avisame como vas. Saludos, Hugo.


#define KEY 5


void setup()

  pinMode(KEY, OUTPUT); 
  digitalWrite(KEY, HIGH);
   
  delay(500);
   

  delay(500);
  Serial.begin(9600);
  Serial1.begin(9600);
  Serial1.flush();
  Serial.println("Ingresar Comandos AT s:");

  Serial1.print("AT\r\n");
  delay(100);
}


void loop()

   if (Serial1.available())
      Serial.write(Serial1.read());

   if (Serial.available())
      Serial1.write(Serial.read());
}


knibal

#6
Sep 18, 2014, 10:57 am Last Edit: Sep 18, 2014, 11:48 am by knibal Reason: 1
Funciona perfecto!!!! Muchisimas gracias  :D :D :D

El problema lo tenia en la libreria softwareserial. no se porque si le incluyo esta libreria y le especifico los puerto tx y rx deja de funcionar.
Podrias decirme el pin led como se utiliza. Me imagino que sera una replica del led que tiene la placa pero si lo conecto a un led esta encendido continuamente.

un saludo

hcostanzo

Me alegro haber podido ayudar. No es necesario usar la librería de softwareserial  en el caso de usar un MEGA ya que este tiene
varios serial disponibles. Yo lo uso con un UNO y me funciona correctamente, igualmente me fijo esto y lo del LED (Yo no lo utilizo)
y te comento. Recorda que para entrar en modo comunicación tenes que poner el KEY en LOW. Cualquier duda consultame.
Saludos. Hugo.

knibal

hola de nuevo hconstanzo!
No tendras un codigo sencillo para poder utilzarlo de ejemplo para ver como se intercambian datos entre los modulos?

un saludo

proof_enrique

Buenas!!

Yo tengo una duda, y es que estando en UK ( Reino Unido ) me compre en Maplin un device de bluetooth para Arduino, el Shield de bluetooth N97DG.

http://www.ebay.co.uk/itm/BLUETOOTH-SHIELD-ARDUINO-NEW-/191303580197?pt=UK_BOI_Electrical_Components_Supplies_ET

El tema es que tengo un viejo ARduino Duemilanove que quisiera usar para un proyecto muy basico pero que quiero implementarlo con bluetooth, y no consigo que lo detecte.......

¿Es compatible este bluetooth con Duemilanove? ¿Creeis que es mejor usar un Arduino Uno o otro mas nuevo?

Gracias!

Go Up