Arduino - Bluetooth de bajo consumo (BLE)
En este tutorial, vamos a aprender:
- Cómo utilizar la tecnología Bluetooth Low Energy (BLE) con Arduino
- Cómo enviar datos desde Arduino a una aplicación para teléfono inteligente mediante BLE
- Cómo recibir datos en Arduino desde una aplicación para teléfono inteligente mediante BLE
- Cómo controlar Arduino desde una aplicación para teléfono inteligente mediante BLE

El alcance de este tutorial:
- Intercambio de datos entre Arduino y una aplicación para smartphone mediante BLE. La comunicación entre dos Arduinos vía BLE se cubrirá en otro tutorial.
- Uso del del ampliamente popular módulo HM-10 Bluetooth Low Energy.
- Demostración de la app Bluetooth Serial Monitor en Android, pero se puede usar cualquier app para Android/iOS.
- Control de varios dispositivos conectados a Arduino a través de la aplicación para smartphone, con ejemplos que incluyen un LED y un servomotor.
Cabe señalar que este tutorial cubre específicamente Bluetooth Low Energy (BLE, Bluetooth 4.0). Si estás buscando información sobre Bluetooth Clásico (Bluetooth 2.0), consulta un tutorial similar Arduino - Bluetooth.
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 HM-10
El HM-10 es un módulo BLE serie que funciona como un convertidor de serie a Bluetooth de baja energía. Realiza las siguientes acciones:
- Recibe datos desde el pin Serial RX y los transmite a un dispositivo emparejado, como un teléfono inteligente, mediante BLE
- Recibe datos de BLE (del dispositivo emparejado) y los envía al pin Serial TX
Específicamente, cuando se utiliza un Arduino para comunicarse con una aplicación para teléfonos inteligentes (Android/iOS), ocurre lo siguiente:
- El Arduino se conecta al módulo Bluetooth HM-10 a través de los pines Serial/SoftwareSerial
- El módulo Bluetooth HM-10 está emparejado con una aplicación de teléfono inteligente
- El Arduino envía datos a la aplicación de teléfono inteligente enviándolos al Serial/SoftwareSerial
- El Arduino recibe datos de la aplicación de teléfono inteligente leyéndolos desde el Serial/SoftwareSerial
- No se requiere código BLE adicional en el Arduino
Diagrama de pines

El módulo BLE HM-10 tiene 6 pines:
- Pin BKR: para controlar el comportamiento del módulo. Ignora este pin si eres principiante.
- Pin RX: pin de datos en serie, conecta este pin al pin TX del Arduino. Los datos recibidos desde este pin se enviarán a Bluetooth.
- Pin TX: pin de datos en serie, conecta este pin al pin RX del Arduino. Los datos recibidos vía BLE serán enviados a este pin como datos en serie.
- Pin GND: pin de alimentación, conecta este pin al GND de la fuente de alimentación.
- Pin VCC: pin de alimentación, conecta este pin a 3.3V de la tensión de suministro.
- Pin STATE: Indica los estados de funcionamiento:
- Parpadea en modo de espera - pulso de 500 ms;
- Encendido en estado de conexión - nivel alto.
- Solo necesitamos usar 4 pines: VCC, GND, RX, TX
- Algunos fabricantes producen el HM-10 con solo cuatro pines.
※ Nota:
Acerca de la aplicación Bluetooth Serial Monitor
La aplicación Bluetooth Serial Monitor es una aplicación móvil que imita la apariencia del Monitor Serial en el IDE de Arduino. Permite la comunicación con una placa Arduino a través de Bluetooth sin necesidad de código adicional en el sketch de Arduino. Para usarla, siga estos pasos:
- Conecta el Arduino al módulo Bluetooth HM-10
- Descarga e instala la Bluetooth Serial Monitor App en tu teléfono inteligente
- Abre la aplicación y conéctala al módulo Bluetooth HM-10
Con estos pasos completos, ahora puedes enviar y recibir datos desde el Arduino como si estuvieras usando el Monitor Serial en el IDE de Arduino, sin necesidad de modificar tu código de Arduino existente ni añadir código específico para Bluetooth.
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
La tabla de cableado
| Arduino Pins | HM-10 Bluetooth Pins |
|---|---|
| RX (Pin 0) | TX |
| TX (Pin 1) | RX |
| 5V | VCC |
| GND | GND |
| BKR (NOT connected) | |
| STATE (NOT connected) |
※ Nota:
El código de Arduino puede usar otros pines reemplazando el objeto Serial por una alternativa como Serial1, Serial2 o SoftwareSerial (si está disponible).
Cómo programar para Bluetooth
No se necesita ningún código Bluetooth especializado; solo se necesita código serie.
Arduino envía datos a la aplicación Bluetooth en el teléfono inteligente
Para transmitir datos desde una placa Arduino a una aplicación Bluetooth en un teléfono inteligente, se puede usar el siguiente código de Arduino. Este ejemplo demuestra enviar el mensaje “Arduino aquí, ¡dame órdenes!” desde el Arduino a la aplicación del teléfono cada segundo.
Pasos R\u00e1pidos
Para usar el código y conectar una placa Arduino a un teléfono inteligente mediante BLE, siga estos pasos:
- Instala la Bluetooth Serial Monitor App en tu teléfono inteligente.
- Conecta el módulo Bluetooth HM-10 a la placa Arduino de acuerdo con el diagrama de cableado proporcionado.
- Abre el IDE de Arduino, copia el código proporcionado arriba y súbelo a la placa Arduino. Si no puedes cargar el código, 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.
- En tu teléfono inteligente, abre la Bluetooth Serial Monitor App y selecciona el modo BLE.

- Empareja el teléfono inteligente con el módulo Bluetooth HM-10.

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

- Observe el resultado en el Monitor Serial del IDE de Arduino.
Si sigues los pasos y ejecutas el código, verás que los datos mostrados en el Monitor Serial del IDE de Arduino y en la aplicación de Android coincidirán.
Aplicación Bluetooth Enviar datos a Arduino
El código a continuación realiza las siguientes acciones:
- Enviar datos desde la aplicación Bluetooth a la placa Arduino
- La placa Arduino leerá los datos entrantes y luego enviará una respuesta de vuelta al dispositivo Bluetooth.
Pasos R\u00e1pidos
A continuación se presentan los pasos para usar el código con Arduino y una aplicación de Android:
- Abra el IDE de Arduino y pegue el código proporcionado arriba.
- Haga clic en el botón Subir para subir el código a la placa Arduino.
- Abra el Monitor Serial en el IDE de Arduino.
- Abra la aplicación de Android y empareje con el módulo Bluetooth HM-10 siguiendo las instrucciones proporcionadas en un ejemplo anterior.
- Una vez conectado, escriba "LED ON" o "LED OFF" en la aplicación de Android y pulse el botón "ENVIAR".

- La placa Arduino recibirá los datos, imprimirá una respuesta en el puerto Serial. Estos datos se enviarán a la aplicación Bluetooth.
- Verifique el resultado en la aplicación de Android.

- Comprueba el resultado en el Monitor Serial del IDE de Arduino.
Cuando completes los pasos anteriores, notarás que la información mostrada en el Monitor Serial del IDE de Arduino y en la aplicación de Android será la misma.
Código de Arduino - Controlar un LED con una aplicación para smartphone mediante BLE
El siguiente código de ejemplo de Arduino utiliza comandos “ON” y “OFF” recibidos a través de la aplicación Bluetooth Serial Monitor para encender/apagar un LED incorporado.
Puedes ver las instrucciones con más detalle en el tutorial Arduino controla LED vía Bluetooth/BLE.
Código de Arduino - Controlar el servomotor con una aplicación para teléfono inteligente vía BLE
El siguiente código de Arduino recibe un valor de ángulo desde la aplicación Bluetooth Serial Monitor para controlar el ángulo de un servomotor.
Puede ver las instrucciones con más detalle en el tutorial Arduino controla el servomotor vía Bluetooth/BLE
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.