Arduino y Módulo Bluetooth HC-05 Tutorial Completo
En este tutorial de Arduino Bluetooth, aprenderemos cómo usar el módulo HC-05 para controlar Arduino a través de la comunicación Bluetooth. Puede ver el siguiente video o leer el tutorial escrito a continuación para obtener más detalles.
Para este tutorial hice dos ejemplos, controlando el Arduino usando un teléfono inteligente y controlando el Arduino usando una computadora portátil o una PC. Para no sobrecargar este tutorial, en mi próximo tutorial aprenderemos cómo podemos configurar el módulo Bluetooth HC-05 y hacer una comunicación Bluetooth entre dos placas Arduino separadas como dispositivos maestros y esclavos.
Antes de comenzar con el primer ejemplo, controlar un Arduino usando un teléfono inteligente, echemos un vistazo más de cerca al módulo Bluetooth HC-05. Comparándolo con el módulo HC-06, que solo se puede configurar como esclavo, el HC-05 también se puede configurar como maestro, lo que permite establecer una comunicación entre dos placas Arduino separadas. Hay varias versiones diferentes de este módulo, pero recomiendo el que viene en una placa de conexión porque de esa manera es mucho más fácil estar conectado. El módulo HC-05 es un módulo Bluetooth SPP (Protocolo de puerto serie), lo que significa que se comunica con el Arduino a través de la comunicación serie.
Puede obtener los componentes necesarios para este tutorial de Arduino en cualquiera de los siguientes sitios:
Así es como necesitamos conectar el módulo a la placa Arduino.
El módulo particular que tengo puede alimentarse de 3,6 a 6 voltios, porque viene en una placa de conexiones que contiene un regulador de voltaje. Sin embargo, el nivel de voltaje lógico de los pines de datos es de 3,3 V. Por lo tanto, la línea entre Arduino TX (Pin de transmisión, que tiene una salida de 5 V) y el módulo Bluetooth RX (Pin de recepción, que solo admite 3,3 V) debe conectarse a través de un divisor de voltaje para no quemar el módulo. Por otro lado, la línea entre el pin TX del módulo Bluetooth y el pin RX de Arduino se puede conectar directamente porque la señal de 3,3 V del módulo Bluetooth es suficiente para ser aceptada como lógica alta en la placa Arduino.
Entonces, ahora estamos listos para crear el código Arduino para habilitar la comunicación entre la placa Arduino y el teléfono inteligente. Haremos un ejemplo simple, simplemente encendiendo y apagando un LED, pero será lo suficientemente bueno para entender la comunicación.
Descripción: Primero debemos definir el pin al que se conectará nuestro LED y una variable en la que almacenaremos los datos provenientes del teléfono inteligente. En la sección de configuración, debemos definir el pin LED como salida y establecerlo bajo de inmediato. Como se mencionó anteriormente, usaremos la comunicación en serie, por lo que debemos comenzar la comunicación en serie a una velocidad de transmisión de 38400 baudios, que es la velocidad de transmisión predeterminada del módulo Bluetooth. En la sección de bucle con la función Serial.disponible() comprobaremos si hay datos disponibles en el puerto serie para leer. Esto significa que cuando enviemos datos al módulo Bluetooth, esta afirmación será cierta, por lo que, al usar la función Serial.read(), leeremos esos datos y los colocaremos en la variable "estado". Entonces, si el Arduino recibe el carácter '0', apagará el LED y usando la función Serial.println () enviará de vuelta al teléfono inteligente, a través del puerto serie, la cadena "LED:APAGADO". Además, restableceremos la variable "estado" a 0 para que las dos líneas anteriores se ejecuten solo una vez. Tenga en cuenta aquí que la variable de "estado" es un número entero, por lo que cuando recibimos el carácter '0' que proviene del teléfono inteligente, el valor real de la variable de "estado" entero es 48, que corresponde al carácter '0', según el ASCII table.. Es por eso que en la instrucción "si" estamos comparando la variable "estado" con un carácter '0'. Por otro lado, si el carácter recibido es '1', el LED se encenderá y se devolverá el String "LED:ON".
Ahora el código está listo para ser cargado, pero para hacerlo necesitamos desconectar las líneas TX y RX porque al cargar el Arduino usa la comunicación serial, por lo que los pines RX (pin digital 0) y TX (pin digital 1) están ocupados. Podemos evitar este paso si usamos los otros pines TX y RX de la placa Arduino, pero en ese caso tendremos que usar la biblioteca SoftwareSerial.h para la comunicación serial.
Relacionado: Cómo configurar y emparejar dos módulos Bluetooth HC-05 como maestro y esclavo | Comandos AT
Ahora estamos listos para conectar el teléfono inteligente al módulo Bluetooth y al Arduino. Lo que debemos hacer aquí es activar el Bluetooth y el teléfono inteligente encontrará el módulo Bluetooth HC-05.
Luego necesitamos vincular los dispositivos y la contraseña predeterminada del módulo HC-05 es 1234. Después de vincular los dispositivos, necesitamos una aplicación para controlar el Arduino. Hay muchas aplicaciones en Play Store para este propósito que funcionarán con el código Arduino que escribimos. Sin embargo, hice mi propia aplicación personalizada para este tutorial utilizando la aplicación en línea MIT App Inventor. Esta es una aplicación excelente y fácil de usar para crear aplicaciones de Android y en mi próximo tutorial puede encontrar una guía detallada paso a paso sobre cómo crear su propia aplicación de Android personalizada para su proyecto Arduino.
Puedes descargar la aplicación que hice para este ejemplo aquí:
Con el botón conectar conectaremos el smartphone al módulo Bluetooth y el texto de estado debajo del botón nos indicará si nos hemos conectado correctamente. Mediante los botones “Turn ON” y “Turn OFF” podemos encender y apagar el LED. El texto encima de los botones es el que Arduino envía al teléfono inteligente cuando se presiona un botón en particular.
Veamos cómo podemos controlar el Arduino a través de Bluetooth usando una computadora portátil o una PC. Entonces, primero debemos emparejar nuestra computadora portátil con el módulo Bluetooth HC-05 y podemos hacerlo desde la Configuración de Bluetooth de la computadora portátil. La computadora portátil descubrirá el módulo HC-05 y usando la contraseña '1234' emparejaremos los dispositivos.Resumen
Esquemas del circuito
Código fuente de ejemplo de comunicación Bluetooth de Arduino
#define ledPin 7
int state = 0;
void setup() {
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
Serial.begin(38400); // Default communication rate of the Bluetooth module
}
void loop() {
if(Serial.available() > 0){ // Checks whether data is comming from the serial port
state = Serial.read(); // Reads the data from the serial port
}
if (state == '0') {
digitalWrite(ledPin, LOW); // Turn LED OFF
Serial.println("LED: OFF"); // Send back, to the phone, the String "LED: ON"
state = 0;
}
else if (state == '1') {
digitalWrite(ledPin, HIGH);
Serial.println("LED: ON");;
state = 0;
}
}
Code language: Arduino (arduino)Conectando el Smartphone al Módulo Bluetooth HC-05 y al Arduino
Aplicación Android de ejemplo del tutorial de Arduino Bluetooth
1 archivo(s) 1.38 MB Descargar Controlar Arduino usando una laptop o PC mediante comunicación Bluetooth
Proceso de manufactura
- Tutorial de bloqueo RFID de Arduino
- Generador de ondas JX
- Módulo GPS u-blox LEA-6H 02 con Arduino y Python
- Un sistema de detección de caídas basado en Arduino, Windows y Azure
- Control de coche con Arduino Uno y Bluetooth
- Tutorial del sensor de huellas dactilares Arduino
- Reloj de alarma ArduRadio
- Máquina de café inteligente con Arduino y Bluetooth
- Raspberry Pi y portátil Arduino
- rDUINOScopio
- Control inteligente de termostato, ventilación y luces con Bluetooth