Furacos: Bluetooth en la placa base de Arduino
La placa base para Arduino de la plataforma FURACOS precisa de un Arduino/Genuino UNO o de un Arduino Nano para funcionar así como de una alimentación externa a través del conector de 2,1mm y se puede apagar completamente la corriente mediante un interruptor.
Dispone de 20 conectores tipo “GVS”, con lo que expone todos los puertos disponibles en una placa Arduino UNO/Nano.
El módulo Bluetooth puede ser apagado con un interruptor y permite ser reconfigurado completamente, aunque ya viene configurado y es un paso opcional.
Configuración avanzada del Bluetooth
El módulo Bluetooth se configura mediante comandos AT.
El módulo Bluetooth viene configurado para comunicarse con el Arduino mediante una conexión de puerto serie, pero también existe la posibilidad de comunicarse con el módulo Bluetooth directamente para cambiar esa configuración, a continuación se explica el proceso y las opciones disponibles.
Preparación
Para comunicarse con el módulo BLK-MD-BC04-B son necesarios los siguientes pasos, que en resumen consisten en tener el hardware bien configurado y el Arduino desactivado para que no interfiera en la comunicación.
- Arduino con puertos 0 y 1 como entradas (usar el código que se muestra a continuación).
- Selector: ambos en modo “ON”.
- Interruptor de Bluetooth: encendido (el LED azul parpadeando).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
const byte led=9; //Número de pin para el LED opcional //(admite números enteros entre 2 y el 13, incluidos) void setup() { pinMode(0, INPUT); //Desactivar RX pinMode(1, INPUT); //Desactivar TX pinMode(led, OUTPUT); //LED opcional delay(5000); //Tiempo sin parpadeo (5 segundos) } void loop() { digitalWrite(led, HIGH); //Encender el LED delay(250); //Esperar unos milisegundos digitalWrite(9, LOW); //Apagar el LED delay(250); //Esperar unos milisegundos } |
El programa anterior configura los pines según lo necesitamos. Para programar el código anterior en la memoria del Arduino será necesario que el Bluetooth esté apagado y los selectores apagados. Opcionalmente utiliza un puerto para un LED que empezará a parpadear después de un reinicio del Arduino, la conexión de este LED es opcional.
Como opción al anterior programa: se puede conectar el RESET del Arduino a GND.
Comandos AT del Bluetooth
Una vez que se tiene el Arduino “durmiente” y los selectores correctamente configurados los siguientes comandos AT funcionarán escribiéndolos en el ordenador usando el puerto serie. Por comodidad se puede utilizar el Arduino IDE en su apartado de “Monitor serie” (icono de lupa).
La configuración que se ha de elegir es: “Ambos NL & CR” y “19200 baudio” estando situados estos selectores en la parte inferior derecha del Monitor serie.
Ahora en la parte superior del Monitor serie se pueden escribir los comandos AT (todos en mayúsculas), una vez escrito el comando se pulsará ENTER para enviarlo al módulo Bluetooth (el botón “Enviar” también es válido).
Los comandos más destacados son:
- AT
- Respuesta: OK
- Uso: Comprobar que la comunicación es correcta, si no se recibe el “OK” los demás comandos tampoco funcionarán.
- AT+VERSION
- Respuesta: +BOLUTEK Firmware V2.44, Bluetooth V2.0,…
- Uso: Informa de la versión del software del dispositivo.
- AT+NAME
- Respuesta: Diableco
- Uso: Muestra el nombre que se muestra a otros dispositivos Bluetooth que intenten emparejarse con él. Se puede cambiar el nombre escribiendo el comando seguido del nombre nuevo, por ejemplo: AT+NAMEDiableco (el nombre ha de ir junto al comando, sin espacios entre ambas palabras).
- AT+PIN
- Respuesta: +PIN=1234
- Uso: Permite cambiar la contraseña de la comunicación Bluetooth, por defecto es “1234”.
- AT+HELP
- Respuesta: Listado de todos los comandos disponibles y una pequeña descripción de cada uno de los comandos.
- Uso: Acceso rápido a la escritura de un comando concreto, para una información más detallada se ha de ver el listado de comandos AT oficial (sólo disponible en inglés).
- AT+BAUD
- Respuesta: +BAUD=5
- Uso: Cambiar la velocidad de comunicación del puerto serie, cualquier valor diferente del 5 dejará inservible la programación del Arduino mediante Bluetooth. Para dejar el valor correcto el comando a escribir será: AT+BAUD5
- Posibles valores:
- AT+BAUD1 => Velocidad de 1200 baudios
- AT+BAUD2 => Velocidad de 2400 baudios
- AT+BAUD3 => Velocidad de 4800 baudios
- AT+BAUD4 => Velocidad de 9600 baudios
- AT+BAUD5 => Velocidad de 19200 baudios (usar esta con Arduino)
- AT+BAUD6 => Velocidad de 38400 baudios
- AT+BAUD7 => Velocidad de 57600 baudios
- AT+BAUD8 => Velocidad de 115200 baudios
- AT+BAUD9 => Velocidad de 230400 baudios
- AT+BAUDA => Velocidad de 460800 baudios
- AT+BAUDB => Velocidad de 921600 baudios
- AT+BAUDC => Velocidad de 1382400 baudios
Una vez establecida una velocidad habrá que cambiar la configuración de velocidad en el Monitor Serie para seguir introduciendo comandos pues ya estará trabajando a la nueva velocidad de comunicación indicada.
Cabe destacar que si se borra la memoria del Bluetooth (existe un comando para ello) la velocidad que tendrá es la de 9600 y para volver a poder programar por Bluetooth habrá que escribir el comando AT+BAUD5 para dejarlo en 19200. En este caso, habrá que configurar el Monitor Serie a 9600 para que entienda dicho comando.
NOTA: Al finalizar la configuración del BT mediante los comandos AT es imprescindible poner los 2 microinterruptores en el lado contrario al “ON” para poder seguir utilizando la placa.
Advertencias de uso y errores
Encendido: Además de la alimentación, la placa dispone de un interruptor para el encendido. Cuando está funcionando correctamente habrá un LED rojo encendido constantemente.
Alimentación: No utilizar el puerto de alimentación del Arduino pues la placa consume más energía de la que el Arduino puede proporcionar.
2 Arduinos: Sólo permite un Arduino conectado a la vez ¡no conectar un UNO y un Nano a la vez o podrías dañar ambas placas!
Letras “GVS” ó “SVG”: Son las iniciales de “Señal”, “Voltaje” y “Ground”. Estos pines trabajan a 5V (tanto en la “S” como en la “V”).
Arduino IDE: Para poder programar por Bluetooth el Arduino requiere un bootloader personalizado. Por lo que al ir a “Herramientas => Placa” se ha de elegir la opción de “Arduino BT”, cualquier otra configuración impedirá el correcto funcionamiento de la comunicación entre el Arduino IDE y la placa.
Micro interruptores: La posición de “ON” sólo es válida para reconfigurar el módulo Bluetooth. Lo normal será tener ambos microinterruptores en la posición opuesta al “ON”.
Borrado de Bluetooth: Si se ejecuta el comando AT de borrado la velocidad de trabajo será 9600 baudios y será necesario volver a configurar el módulo BT según se indica en el apartado correspondiente.