Arduino - Bluetooth
En este tutorial, vamos a aprender:
- Cómo usar Bluetooth con Arduino
- Cómo enviar datos desde Arduino a una aplicación para teléfono inteligente mediante Bluetooth
- Cómo recibir datos en Arduino desde la aplicación para teléfono inteligente mediante Bluetooth
- Cómo controlar Arduino desde la aplicación para teléfono inteligente mediante Bluetooth

El alcance de este tutorial:
- Arduino intercambia datos con la aplicación del teléfono inteligente. La comunicación entre dos Arduino a través de Bluetooth se presentará en otro tutorial.
- El módulo Bluetooth HC-05 se utiliza en este tutorial. Este módulo es muy utilizado y popular
- Puedes usar cualquier aplicación para Android/iOS. Este tutorial usará la aplicación Bluetooth Serial Monitor en Android para la demostración.
- Puedes controlar cualquier cosa conectada a Arduino desde la aplicación del teléfono. Este tutorial tomará como ejemplos un LED y un servomotor.
Este tutorial trata sobre el uso de Bluetooth clásico (Bluetooth 2.0). Si está buscando Bluetooth Low Energy - BLE (Bluetooth 4.0), vea este tutorial similar: Arduino - Bluetooth Low Energy
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del módulo Bluetooth HC-05
HC-05 es un módulo Bluetooth serial. Funciona como un convertidor de serie a Bluetooth. Hace:
- Recibir datos desde el pin RX serial y transmitirlos al dispositivo emparejado (como un teléfono inteligente) vía Bluetooth
- Recibir datos desde Bluetooth (del dispositivo emparejado) y enviar los datos al pin TX serial
Más específicamente, en el contexto de que Arduino se comunique con una aplicación para teléfonos inteligentes (Android/iOS):
- Arduino se conecta al módulo Bluetooth HC-05 a través de pines Serial/SoftwareSerial
- El módulo Bluetooth HC-05 está emparejado con una aplicación para smartphone
- Arduino envía los datos a la aplicación para smartphone simplemente enviando datos a Serial/SoftwareSerial
- Arduino recibe los datos de la aplicación para smartphone simplemente leyendo datos desde Serial/SoftwareSerial
- No se necesita código Bluetooth específico en Arduino
Diagrama de pines

El módulo Bluetooth HC-05 tiene 6 pines:
- Pin de habilitación/clave: Este pin se usa para alternar entre el modo de datos (configurado en LOW) y el modo de comando (configurado en HIGH). Si no está conectado, por defecto está en modo de datos.
- Pin VCC: Pin de alimentación; conecta este pin al +5V de la fuente de alimentación.
- Pin GND: Pin de tierra; conecta este pin al GND de la fuente de alimentación.
- Pin TX: Pin de datos en serie; conecta este pin al pin RX de Arduino. Los datos recibidos vía Bluetooth serán enviados a este pin como datos en serie.
- Pin RX: Pin de datos en serie; conecta este pin al pin TX de Arduino. Los datos recibidos desde este pin serán enviados a Bluetooth.
- Estado: El pin de estado está conectado al LED a bordo; puede usarse como retroalimentación para comprobar si Bluetooth funciona correctamente.
Sin embargo, para funciones básicas, solo necesitamos usar 4 pines del módulo Bluetooth HC-05 para conectarlo al Arduino.
El módulo Bluetooth HC-05 también cuenta con dos componentes integrados:
- Un LED: indica el estado del módulo
- Parpadea una vez cada 2 segundos: El módulo ha entrado en el Modo de Comandos
- Parpadea repetidamente: Esperando conexión en el Modo de Datos
- Parpadea dos veces por 1 segundo: Conexión exitosa en el Modo de Datos
- Botón: puede usarse para controlar el pin Key/Enable para seleccionar el modo de operación (Modo de Datos o Modo de Comandos)
Cómo funciona
El módulo Bluetooth HC-05 tiene dos modos de operación:
- Modo de datos: se utiliza para intercambiar datos con el dispositivo emparejado.
- Modo de comandos: se utiliza para configurar parámetros.
Afortunadamente, el módulo Bluetooth HC-05 puede funcionar con Arduino usando la configuración predeterminada sin necesidad de configurarlo.
Configuración predeterminada de HC-05
| Default Bluetooth Name | “HC-05” |
|---|---|
| Default Password | 1234 or 0000 |
| Default Communication | Slave |
| Default Mode | Data Mode |
| Default Data Mode Baud Rate | 9600, 8, N, 1 |
| Default Command Mode Baud Rate | 38400, 8, N, 1 |
Acerca de la aplicación Bluetooth Serial Monitor
La aplicación [Bluetooth Serial Monitor] es una aplicación móvil que tiene una interfaz de usuario que se parece al Monitor Serial del IDE de Arduino. Se comunica con Arduino mediante Bluetooth. Puedes interactuar con Arduino mediante esta aplicación como si fuera el Monitor Serial de tu PC, sin añadir ningún código especial para el módulo Bluetooth en tu código de Arduino, siguiendo el siguiente paso:
- Conecta Arduino al módulo Bluetooth HC-05
- Instala la Bluetooth Serial Monitor App en tu teléfono inteligente
- Abre la App y empareja con el módulo Bluetooth HC-05
Y ahora puedes enviar y recibir datos desde Arduino, igual que el Monitor Serial del IDE de Arduino. No necesitas modificar el código existente de Arduino ni añadir código Bluetooth al nuevo código de Arduino.
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Tabla de cableado
| Arduino Pins | HC-05 Bluetooth Pins |
|---|---|
| RX (Pin 0) | TX |
| TX (Pin 1) | RX |
| 5V | VCC |
| GND | GND |
| Enable/Key (NOT connected) | |
| State (NOT connected) |
※ Nota:
Puedes usar otros pines de Arduino cambiando el objeto Serial en el código de Arduino a otro Serial1, Serial2, ..., o SoftwareSerial si está disponible.
Cómo programar para Bluetooth
No se necesita código dedicado a Bluetooth. Solo necesitamos usar el código Serial.
Arduino envía datos a la aplicación Bluetooth en el teléfono inteligente
Para enviar datos desde Arduino a la aplicación Bluetooth en un teléfono inteligente, necesitamos usar el siguiente código de Arduino:
En este ejemplo, enviaremos la “Arduino aquí, ¡mándame!” desde Arduino a la aplicación Bluetooth en el teléfono inteligente cada segundo
Pasos R\u00e1pidos
- Instala la Bluetooth Serial Monitor App en tu teléfono inteligente
- Conecta el módulo Bluetooth HC-05 al Arduino según el diagrama de cableado anterior
- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Subir en el IDE de Arduino para cargar el código en el Arduino. Es posible que no puedas cargar el código en el Arduino. Si es así, desconecta los pines TX y RX del módulo Bluetooth, carga el código y luego vuelve a conectar los pines RX/TX
- Abre el Monitor Serial en el IDE de Arduino
- Abre la aplicación Bluetooth Serial Monitor en tu teléfono inteligente
- Selecciona el modo Bluetooth Clásico

- Emparejalo con el módulo Bluetooth HC-05

- Ver el resultado en la aplicación de Android.

- Vea el resultado en el Monitor Serial del IDE de Arduino.
Verás que los datos en el Monitor Serial del IDE de Arduino y en la aplicación de Android son idénticos.
Aplicación Bluetooth Envía Datos a Arduino
Lo que hace el código de abajo:
- La aplicación Bluetooth envía datos al Arduino
- El Arduino lee los datos y envía la respuesta de vuelta a Bluetooth:
Pasos R\u00e1pidos
- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Subir en Arduino IDE para subir el código a Arduino
- Abre el Monitor Serial en Arduino IDE
- Abre la aplicación de Android y empareja la aplicación de Android con el módulo Bluetooth HC-05 (similar al ejemplo anterior)
- Después de conectar, escribe "LED ON" o "LED OFF" en la aplicación de Android y haz clic en el botón "Enviar"

- Arduino recibe los datos y imprime la respuesta en el puerto serie. Estos datos se enviarán a la aplicación Bluetooth
- Ver el resultado en la aplicación Android

- Ver el resultado en el Monitor Serial del IDE de Arduino
Verás que los datos en el Monitor Serial de Arduino IDE y en la aplicación de Android son idénticos.
Código de Arduino - Controlar el LED con la app para el teléfono inteligente vía Bluetooth
El siguiente código de ejemplo de Arduino acepta dos comandos (“ON” y “OFF”) desde la aplicación Bluetooth Serial Monitor para encender/apagar un LED incorporado.
Puede ver las instrucciones con más detalle en el tutorial Arduino controla LED vía Bluetooth/BLE.
Código de Arduino - Controlar el motor servo con la app de teléfono inteligente mediante Bluetooth
El siguiente código de Arduino recibió el valor del ángulo desde la aplicación Bluetooth Serial Monitor para controlar el ángulo del servomotor.
Puedes ver las instrucciones con más detalle en Arduino controla el motor servo vía Bluetooth/BLE tutorial.
Si la aplicación Bluetooth Serial Monitor te resulta útil, por favor dale una calificación de 5 estrellas en Play Store. ¡Gracias!
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.