Añadir nuevo comentario

Arduino y Bluetooth

Español

Hoy os vamos a comentar como podemos usar el modulo de Bluetooth HC 06 en Arduino para realizar comunicaciones entre ordenador y Arduino en pins diferentes a los de comunicación.

Como hemos comentado, el modulo que vamos a usar es el HC 06 4,7 € (pero posiblemente es valido para otras versiones anteriores).

El módulo funciona entre 3,3V y 6V.  Tal como vemos en la fotografia lo hemos conectado directamente a los pins de arduino pero NO en los de transferencia de Arduino , pin 0 RX o pin 1 TX, ya que si está conectado en esos pins, cuando hagamos la comunicación entre el ordenador y Arduino deberemos desconectar constantemente el módulo Bluetooth. Es por ello que conectamos el módulo en el pin 2 ( RX) y el pin 3 ( TX).

Correcto, pero si hemos cambiado la ubicación de los pines debemos informar a Arduino de ello no ? . Pues así es, en nuestro programa vemos como podemos "reconfigurar" esos pins. 

#include <SoftwareSerial.h>
 
#define txPin 3 // definimos txpin en que pin de arduino se encuentra
#define rxPin 2 // definimos rxpin en que pin de arduino se encuentra 
 
SoftwareSerial bluetooth(rxPin, txPin); // el puerto nuevo de comunicacion se llamar bluetooth
 
char NOMBRE[10]  = "TEST1";  // asignamos un nombre a nuestro modulo bluetooth para cuando lo veamos en linea 
char BPS         = '4';           // 1=1200 , 2=2400, 3=4800, 4=9600, 5=19200, 6=38400, 7=57600, 8=115200
char PASS[10]    = "1234";   // password para realizar la conexion. Sino funciona 0000
 
char INBYTE;
int  LED = 13; // LED on pin 13 // hacemos que el led 13 de Arduino integrado nos sirva de prueba
 
void setup() {
  Serial.begin(9600); // velocidad de la comunicacion entre arduino y ordenador 
 Serial.println("Estoy preparado"); //mensaje de comprobacion
   pinMode(LED, OUTPUT);
  bluetooth.flush();            // Borramos el buffer del serial para evitar errores
  pinMode(rxPin, INPUT);     // Configuramos los pines del bluetooth 
  pinMode(txPin, OUTPUT);
  bluetooth.begin(9600);  // marcamos la velocidad del puerto bluetooth 
 
}
 
void loop()
{
  while (!bluetooth.available());   // mientras el puerto este disponible ejecuta el programa
  INBYTE = bluetooth.read();        // lee la comunicacion bluetooth
  if( INBYTE == '3' ) 
    {
      digitalWrite(LED, LOW);  // si pulsas el numero 3 escribe en el led apagado
      bluetooth.println("Has presionado 3"); //muestra en el ordenador que tecla se ha pulsado
    }
  if( INBYTE == '4' ) 
  {
    digitalWrite(LED, HIGH); // si pulsas el numero 4 escribe led encendido
    bluetooth.println("Has presionado 4");
  }
  delay(50);
  
  if( INBYTE == '2' ) // si pulsas 2 vamos a encender y apagar el led dos veces seguidas
  {
    digitalWrite(LED,HIGH);
    delay(100);
    digitalWrite(LED,LOW);
    delay(100);
    digitalWrite(LED,HIGH);
    delay(100);
    digitalWrite(LED,LOW);
    delay(100);
    bluetooth.println("Has presionado 2"); //muestra en el ordenador la tecla pulsada
  }
  
}

Cuando tenemos el programa cargado en el Arduino, vamos a proceder con el ordenador. Nosotros hemos realizado la conexión con CoolTerm para MAC OSX pero en la misma web podeís descargar la versión necesaria para vuestro SO.

Primero conectaremos el bluetooth de nuestro ordenador a el módulo de Arduino. Para ello seleccionamos Asistente de Configuración de dispositivo Bluetooth  y encontraremos el modulo con el nombre que nosotros hemos asignado, en nuestro caso TEST1.

Lo seleccionamos y sincronizamos. Si nos pide el código recordar que es 1234. Si teneís problemas al conectar usar el 0000 o simplemente decirle que no tiene codigo (a veces aparecen errores de este tipo).

Una vez sincronizamos ejecutamos CoolTerm . Vamos al menu Connection / Options y tendremos una pantalla así :

Como podemos ver aparece en el menú desplegable Port el módulo "TEST1". Lo seleccionamos, miramos que la velocidad sea 9600 y aceptamos. Presionamos el botón connect de la aplicación, y automaticamente sincronizará con nuestro módulo (en la parte superior derecha del finder podreis ver el símbolo del bluetooth con unos puntos en el centro indicando la conexión). El led rojo del módulo bluetooth se quedará fijo .

Tal como podemos ver en la pantalla del terminal, aparecen las pulsaciones que hagamos en la pantalla. 

Lo mas importante de este pequeño tutorial es el hecho de que puedes actualizar el programa mientras usas el módulo bluetooth sin tener que desconectar nada y realizar las pruebas "en caliente". 

 

 


Programa : Led Bluetooth

 

 

 

 

Plain text

  • No se permiten etiquetas HTML.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Saltos automáticos de líneas y de párrafos.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.