0% encontró este documento útil (0 votos)
13 vistas8 páginas

Bluetooth Documento

Bluetooth es un protocolo de comunicación inalámbrica creado en 1998 para reemplazar cables en la transmisión de datos entre dispositivos. Se utiliza en una variedad de dispositivos y opera en la banda ISM a 2.4GHz, con diferentes clases que determinan su alcance y velocidad. El documento también detalla la configuración y uso de módulos Bluetooth con Arduino, incluyendo diferencias entre módulos esclavos y maestros, así como ejemplos de programación para controlar LEDs.

Cargado por

yulimari.otaku
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas8 páginas

Bluetooth Documento

Bluetooth es un protocolo de comunicación inalámbrica creado en 1998 para reemplazar cables en la transmisión de datos entre dispositivos. Se utiliza en una variedad de dispositivos y opera en la banda ISM a 2.4GHz, con diferentes clases que determinan su alcance y velocidad. El documento también detalla la configuración y uso de módulos Bluetooth con Arduino, incluyendo diferencias entre módulos esclavos y maestros, así como ejemplos de programación para controlar LEDs.

Cargado por

yulimari.otaku
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

MCCT

BLUETOOTH
Transmisión inalámbrica

Es un protocolo de comunicaciones. Se creó por varias empresas comerciales (Ericsson,


IBM, Intel, Toshiba y Nokia) sobre 1998. El objetivo era sustituir los cables para
transmitir datos de un teléfono móvil al ordenador.

Hoy en día, este grupo está formado por miles de empresas y se utiliza no sólo para
teléfonos sino para cientos de dispositivos.

Su curioso nombre viene de un antiguo rey Noruego y Danés, y su símbolo, de las


antiguas runas que representan ese mismo nombre.

Bluetooth es una red inalámbrica de corto alcance pensada para conectar pares de
dispositivos y crear una pequeña red punto a punto, (sólo 2 dispositivos).

Utiliza una parte del espectro electromagnético llamado “Banda ISM”, reservado para
fines no comerciales de la industria, área científica y medicina. Dentro de esta banda
también se encuentran todas las redes WIFI que usamos a diario. En concreto
funcionan a 2,4GHz.

Hay 3 clases de bluetooth que nos indican la máxima potencia a la que emiten y por
tanto la distancia máxima que podrán alcanzar:

También es muy importante la velocidad a la que pueden enviarse los datos con este
protocolo:

Recuerda que:

Mbps : Mega Bits por segundo

MBps: Mega Bytes por segundo


MCCT

Bluetooth y Arduino

Vamos a utilizar en estos ejemplos un módulo esclavo de bluetooth JY-MCU muy


común y económico. Al ser esclavo, está configurado para conectarse a un maestro y
recibir órdenes de él.

Como ya sabrás los dipositivos de este tipo tienen que “emparejarse” y tienen que
compartir una contraseña para que los datos puedan intercambiarse. Por defecto, estos
módulos tienen la contraseña 1234, aunque tanto esto como el nombre, pueden ser

actualizados mediante unos comandos especiales, llamados AT y que veremos un poco


más adelante.

Arduino tiene 2 pines que permiten enviar y transmitir datos serie (uno datos tras
otro).

Lo usamos continuamente cuando enviamos un programa desde nuestro ordenador a


Arduino o cuando hacemos una lectura desde el monitor serie (con un Serial.print();).

Arduino tiene definidos estos pines como:

pin digital 0: RX <- (arduino recibe a través de este pin)

pin digital 1: TX -> (arduino envía a través de este pin)

El módulo bluetooth tiene 4 patillas. 2 para la alimentación y 2 para la comunicación.

Es MUY IMPORTANTE conectar de manera correcta estos pines con Arduino para la
correcta comunicación. La patilla que emite los datos (TX) en el bluetooth debe estar
conectada a la que recibe los datos (RX) en arduino, y viceversa.
MCCT

Aunque el módulo funciona a 3.3v, normalmente las placas comerciales, (como la que
estamos usando), llevan un regulador y las podemos conectar directamente a los 5v de
arduino.

NOTA:
Ten en cuenta que estamos usando los 2 mismos pines que arduino usa para la comunicación USB con el
ordenador (0, 1), así que siempre que quieras usar el cable para pasar el código o para leer datos desde
el monitor, el bluetooth deberá estar DESCONECTADO.

CONFIGURACIÓN DEL MÓDULO

Inicialmente no necesitas configurarlo, sino que al cargar el código desde el ordenador,


conectarás el módulo y este empezará a parpadear indicando que está buscando un
master al que conectarse, (por ejemplo tu teléfono o una llave bluetooth usb

conectado a un pc).

Pero si quieres modificar cosas como la velocidad de conexión, el nombre o la


contraseña de tu módulo, aquí te dejamos un código para que subas a tu arduino y
mediante el monitor serie lo configures.

Para ello hemos creado un nuevo puerto serie para que no interfiera con el USB y
podamos usarlo simultáneamente, lo haremos en las patillas 10 y 11.

Deberás conectar el módulo como ves en la figura, y luego cargar el código. Una vez
súbido, abre la consola serie y (EN MAYÚSCULAS) ejecuta los comandos que necesites.

Una vez finalizado, puedes desconectar el módulo BT y usarlo con normalidad.


MCCT

Bluetooth Maestro

Vamos a hacer una especial mención a este tipo de módulos.

Hemos comentado que las redes bluetooth se crean entre 2 dispositivos. Normalmente
uno emite y el otro recibe, pero puede darse que los dos emitan y reciban. Para esto el
módulo tiene que ser capaz de poder cambiar de modo master a slave. No todos los BT
permiten hacer esto. Si compramos algún módulo económico para arduino,
Seguramente estaremos comprando un módulo SLAVE. Este sólo podrá recibir datos de
otro dispositivo. Si queremos que nuestra arduino envíe datos deberemos usar un

módulo MASTER.

El módulo master es físicamente igual que el esclavo , aunque incorpora un firmware


distinto HC-05 (firmware: las instrucciones que hacen que funcione al hardware). Otra
diferencia es que lleva soldado al menos un pin más. Este pin llamado key, es necesario

para que el módulo entre en modo de “comandos AT”, y así podamos programar su
funcionamiento. Esto lo podemos hacer con el mísmo código que te hemos mostrado
en el punto anterior.

Para acceder a este modo especial en el master lo podemos hacer de 2 formas:

1: Conectando Key a 3.3v y encender el módulo. Así funciona a 38400bauds

2: Encendiendo el módulo y después conectando el key a 3.3v. Así funciona a 9600


bauds, (es más sencillo pues es el que usa por defecto).

Los comandos AT en HC-05, al contrario que en el HC-06 (esclavo), que es el que tendrá
mucha gente , tienen que llevar el símbolo "=", por ejemplo:

En HC-06: AT+NAMEnombre

En HC-05: AT+NAME=nombre
MCCT

El datasheet indica que por defecto vienen con el modo CMODE=1 (para conectarse a
cualquier esclavo disponible), sin embargo hay que comporbarlo (AT+CMODE?) por si
tienen el CMODE=0 por lo que se intenta conectar al último emparejado, (en este caso
no se emparejaría con ningún esclavo), así que hay que cambiar el

CMODE con AT+CMODE=1)

Puedes utilizar el código de la sección anterior para configurar el módulo master.

La lectura se hace mediante 2 funciones:

● la función Serial.available() nos indica si hay un dato disponible en el puerto serie


(verdadero/falso)

● con la función dato= Serial.read(); guardamos el dato en una variable (de typo byte)

EJEMPLOS DE PROGRAMACION

Comandos AT módulo HC-05 con pulsador

Para entrar en el modo comandos AT en este caso es muy sencillo. Lo primero que
tienes que hacer es cargar el siguiente código a tu placa Arduino UNO.

CÓMO CONTROLAR LEDS CON ARDUINO Y BLUETOOTH HC-06

- Código

Comenzamos el código añadiendo la librería para utilizar dos pines digitales como
pines RX y TX de comunicación serial. Este es opcional si quieres ahorrarte líneas de
código y utilizar los pines 0 y 1 de la placa.
MCCT

Abrimos un nuevo objeto SoftwareSerial con el nombre de “mySerial”, abrir paréntesis


para definir cuáles serán los pines digitales que vamos a ocupar para la comunicación.
Para este ejemplo, se utilizaron los pines 7 y 8.

Antes del pasar a las configuraciones, abriremos una variable de tipo char para
almacenar los caracteres de ambos puertos seriales e inicializamos las variables que
almacenarán los pines de los LEDS.

Dentro del void setup(), iniciamos el nuevo puerto serial a 9600 y enviamos un mensaje
para corroborar que la conexión fue exitosa. Después declaramos los pines de los LEDS
como salida.

En la función loop() haremos la misma lógica como cuando queremos obtener valores
desde el monitor serial de la PC. Cuando se obtenga información, la variable “myChar”
almacenará el carácter.
MCCT

Con la condicional Switch ordenaremos todas nuestras condiciones dependiendo del


carácter leído desde el puerto serial. Cada condición tendrá instrucciones de cómo se
comportarán los encendidos y los apagados de los LEDS.

void loop(){
if(mySerial.available()){
myChar = mySerial.read();
switch(myChar){
case 'a':
digitalWrite(LED1,HIGH);
break;
case 'A':
digitalWrite(LED1,LOW);
break;
case 'b':
digitalWrite(LED2,HIGH);
break;
case 'B':
digitalWrite(LED2,LOW);
break;
case 'c':
digitalWrite(LED3,HIGH);
break;
case 'C':
digitalWrite(LED3,LOW);
break;
case 'd':
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,HIGH);
break;
case 'D':
digitalWrite(LED1,LOW);
MCCT

digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
break;
default:
mySerial.println("Opcion invalida");
break;
}
}
}

También podría gustarte