Descripción
Una vez visto cómo usar los comandos AT para programar los módulos Bluetooth, podemos pasar a usar el móvil Android para controlar cualquier proyecto con BlueTooth. Es tan sencillo como conectarnos al módulo y escribir un pequeño programa que gobierne el flujo de control.
Podríamos hacerlo con comandos de texto directos, pero es poco elegante y aquí nos gustan las cosas presentables por eso vamos a descargar en el movil la aplicación btcontrol, que es la que voy a usar aquí. Se pueden usar otras aplicaciones, pero aquí voy a explicar el btcontrol, que está escrito por Chandusurisetty.
Básicamente es un programa Android con botones, deslizadores, etc que podemos usar para enviar y recibir comandos de una forma presentable, y que además funciona muy bien.
Una vez descargada en el movil, la dejamos y la usaremos más tarde.
Materiales
Placa de Arduino
1 módulo HC-05
4 Resistencias 330
4 Diodos LED (de distintos colores)
1 Smartphone Android
Protoboard, Cables para conexiones y un cable USB para conectar Arduino al PC y sirve además de alimentación.
Esquema
Vamos a montar inicialmente un pequeño circuito con 4 diodos LED para que veamos cómo controlarlos desde el móvil. Solo hay que seguir el esquema
Montaje
Nota importante, una vez tengas configurado el módulo HC-05, puedes retirar el cable naranja, porque este cable se usa solo para enviar los comando AT y configurar el módulo.
Código
Una vez montado el circuito vamos a cargar el siguiente código que nos permitirá por un lado encender los led con interruptores de la aplicación y por otro lado nos permitirá graduar el brillo de los led con los slider de la aplicación. Por eso están conectados a los pines con PWM.
Una vez montado el circuito vamos a cargar el siguiente código que nos permitirá por un lado encender los led con interruptores de la aplicación y por otro lado nos permitirá graduar el brillo de los led con los slider de la aplicación. Por eso están conectados a los pines con PWM.
#include <SoftwareSerial.h> // Librería oficial para usar otros pines como Bluetooth
// Configuramos los pines del Bluetooth (TX en 10, RX en 12)
SoftwareSerial miBluetooth(10, 12);
// Definimos los pines de los 4 LEDs (Todos tienen el símbolo ~)
const int led1 = 3;
const int led2 = 5;
const int led3 = 6;
const int led4 = 11;
const int pinVCC_BT = 8; // Pin que dará energía al Bluetooth
void setup() {
// Encendemos el módulo Bluetooth dándole energía desde el pin 8
pinMode(pinVCC_BT, OUTPUT);
digitalWrite(pinVCC_BT, HIGH);
// Configuramos los pines de los LEDs como salidas de electricidad
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
// Arrancamos la comunicación con el Bluetooth a su velocidad real (9600)
miBluetooth.begin(9600);
}
void loop() {
// Si el móvil ha enviado algún dato...
if (miBluetooth.available() > 0) {
// Leemos la primera letra para saber qué queremos hacer
char comando = miBluetooth.read();
// --- CONTROL DE ENCENDIDO / APAGADO (Letras Mayúsculas y Minúsculas) ---
if (comando == 'A') digitalWrite(led1, HIGH); // A mayúscula = Enciende LED 1
if (comando == 'a') digitalWrite(led1, LOW); // a minúscula = Apaga LED 1
if (comando == 'B') digitalWrite(led2, HIGH);
if (comando == 'b') digitalWrite(led2, LOW);
if (comando == 'C') digitalWrite(led3, HIGH);
if (comando == 'c') digitalWrite(led3, LOW);
if (comando == 'D') digitalWrite(led4, HIGH);
if (comando == 'd') digitalWrite(led4, LOW);
// --- CONTROL DE BRILLO (Números del 1 al 4) ---
// Si enviamos el número del LED, leeremos el valor de brillo que va detrás
if (comando == '1') {
int brillo = miBluetooth.parseInt(); // Lee el número de brillo (0 a 255)
analogWrite(led1, brillo); // Cambia el brillo del LED 1
}
if (comando == '2') {
int brillo = miBluetooth.parseInt();
analogWrite(led2, brillo);
}
if (comando == '3') {
int brillo = miBluetooth.parseInt();
analogWrite(led3, brillo);
}
if (comando == '4') {
int brillo = miBluetooth.parseInt();
analogWrite(led4, brillo);
}
}
}
Vamos con la aplicación. Abre la aplicación y en la pantalla principal te saldrá esto
Junto a título de BT Controller, sale el símbolo del Bluetooth, pulsamos sobre él nos llevará a una nueva pantalla
donde la aplicación buscará todos los dispositivos que esten con bluetooth, pulsamo sobre el nombre que le hayamos dado a nuestro módulo o en su defecto pondrá HC-05 y la aplicación se conectará, nos pedirá el pin, le introducimos el pin que le hayamos configurado y se habrá conectado.
Ahora podemos ver que se han emparejado porque el símbolo de bluetooth ha cambiado, por dos símbolos, el primer es la calidad de la señal bluetooth y el segundo es el símbolo del bluetooth conectado. Deslizamos el menú hasta llegar al icono de Relay Switches y pulsamos sobre él.
Ahora podemos ver que se han emparejado porque el símbolo de bluetooth ha cambiado, por dos símbolos, el primer es la calidad de la señal bluetooth y el segundo es el símbolo del bluetooth conectado. Deslizamos el menú hasta llegar al icono de Relay Switches y pulsamos sobre él.
Para configurar los botones solo tenemos que hacer una larga pulsación sobre cualquiera de ellos hasta que se habre el menú de configuracion
En Command for ON ponemos A mayúsculas, pero solo porque si miramos el código, esta letra es la que usamos para encender el LED 1 y en el Command for OFF es la letra a minúscula tal y como se puede ver en el código de programación. Le damos a Save y listo. Repetimos esto con los otros tres botones restante poniendo el correspodiente comando B y b para el LED2 y C y c, etc. Y ya está configurado, ya podemos encender y apagar los 4 led del protoboard.
Al pulsar los botones se verán encederse los LEDs y lo botones de la aplicación cambia de color indicando cuales de ellos están conectados.
Ahora nos vamos a los Sliders controls
Pulsamos sobre uno de los iconos en color cyan de sliders y se abre el menú de configuración. Aquí podemos cambiar el nombre del slider por LED1 por ejemplo. Luego le ponemos el comando de activación que si miras el código de programación es 1. Luego en Min Value ponemos el 0 y en Max Value te recomiendo que pongas 255, es mejor que 1023. Acontinuación elige vertica u horizontal y pulsa sobre Apply.
Ya solo desliza los diferente slider y verás que los led se encienden a diferentes intensidades según se desliza sus correpondientes Sliders
Y eso es todo.
No hay comentarios:
Publicar un comentario