lunes, 27 de mayo de 2013

Entrar en AT Mode de un HC-05 / HC-06 con Arduino duemilalove

En este tuto se usa una baseboard para el hc-05:

En caso de no tener la baseboard entonces debes conectar el pin34 a 3.3v y rx a rx y tx a tx


Primero las conexiones:

HC-05 Baseboard    |  Arduino Duemilanove
               KEY -----------> 3.3V
               RX    -----------> TX
               TX    -----------> RX            
               5V    ----------> 5V
               GND -----------> GND
























Importante: Debes despegar el micro atmega del arduino. Si usas un arduino que no se le pueda despegar el micro entonces puedes usar Serial.print() para enviar los comandos al modulo bluetooth (ejemplo: Serial.print("AT")) o puedes usar la biblioteca "HC05". 

Luego de conectar por USB el arduino, el led del módulo debería parpadear a 1 Hz (indicando que está en modo AT):



Cuando esto ocurra abre Arduino ide y luego el monitor serial (en caso de que tengas un duemilanove sin micro)
coloca 38400 Baudios
y NL & CR



Luego escribe los comandos AT que desees:

Por ejemplo:
// Asigna Lenin como_NOMBRE del dispositivo
AT+NAME=Lenin

// Pregunta por el nombre del dispositivo
AT+NAME?

// Asigna el numero 9876 como contraseña al modulo HC-05
AT+PSWD=9876


Cuando termines de configurar, desconectas pin KEY y debería volver a modo datos.

Note que el duemilanove NO TIENE EL MICRO:


Links

http://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/all/?lang=es


http://tallerarduino.wordpress.com/2011/12/06/modulo-bluetooth-hc-06-o-gp-gc021-y-arduino/
http://taktak.co.uk/2013/bluetooth-module-hc-05-bt_board-1-5-configuration/
https://github.com/jdunmire/HC05/blob/master/README.md
http://techwatch.keeward.com/geeks-and-nerds/how-to-configure-and-use-an-iteaduino-bt/

jueves, 2 de mayo de 2013

Comunicación bluetooth Arduino <=> PC Linux con un dongle usb

En este tuto se busca establecer una comunicación bidireccional entre un arduino y una pc usando bluetooth.



Se requiere:
* Dongle usb:

* Arduino + modulo bluetooth (Aqui uso el HC-05)



* Debe tener instalado bluez y moserial. Si usa fedora puede instalarlo con:
     yum install -y blue* moserial*

Vamos a hacer que el Arduino prenda y apague un led según se le indique.

La conexión debe queda así:

Led                ----> Pin 13 Arduino
Bluetootx Tx ----> Arduino Tx
Bluetootx Rx ----> Arduino Rx
Bluetootx Vcc----> Arduino 5v               


Paso 1. Cargar el sketch al arduino: 
Nota: Desconecta el Rx del bluetooth antes de cargar el sketch o te dará problemas en la carga


/** Por Hector Oliveros **/
char inByte;
int  LED = 13; // LED on pin 13

void setup() {
  // El baud rate debe ser el mismo que en el monitor serial y 
  // que el mobulo bluetooth. 
  // para cambiar el baud rate debe entrar en modo AT
  Serial.begin(9600);
}

void loop() {}

// Se activa cuando se detecta escritura en el puerto serial
void serialEvent() {  
  while (Serial.available()) {
    inByte = Serial.read();        
    // Si detecta el caracter '0' entonces apaga el led
    if( inByte == '0' ){
      digitalWrite(LED, LOW);  
      Serial.println("LOW");
    }
    
    // Si detecta el caracter '1' entonces enciende el led
    if( inByte == '1' ){
      digitalWrite(LED, HIGH); 
      Serial.println("HIGH");
    }  
  }
}


Puedes descargar el sketch desde aqui:
Luego de realizada la carga debes volver a conectar el Rx del bluetooth al arduino.

Paso 2: Configurar la PC.
Conecta el dongle usb al equipo.

- Para saber la mac del modulo bluetooth ejecuta:      hcitool scan
- Luego para asociarse al modulo sustituye y ejecuta: rfcomm connect 0 MAC_DEL_MODULO
  donde MAC_DEL_MODULO es la mac del modulo que obtuviste con hcitool.

- Le va a pedir el pin: En el hc-05 es 1234
- Si todo va bien debería mostrar lo siguiente:




Paso 3: Comunicarse con el Arduino:

- Abre moserial y ve a configuración de puerto

- Allí coloca esta configuración: Desmarca imprimir datos recibidos

- Luego se conecta:

- Y prueba intentando prender el led:


Listo 




Notas: Cuando quieras cargar un sketch al arduino desconecta el rx del módulo bluetooth, Puesto que te va a dar fallas.

Probado en Fedora x86_64 

Links de interés :
http://letsmakerobots.com/node/11178
http://www.flickr.com/photos/ricardo_ferreira/4225911933/