Los microcontroladores son pequeños ordenadores de bajo costo que pueden interactuar con el mundo físico a través de sensores, actuadores y interfaces de comunicación. Forman la columna vertebral de los sistemas modernos integrados, desde los centros de automatización de casa a los aparatos portátiles. Una de las maneras más accesibles y prácticas para dar una conectividad inalámbrica de microcontrolador es emparejarlo con un módulo Bluetooth. Estos módulos permiten que su microcontrolador hable con smartphones, tabletas, laptops

Comprender los módulos Bluetooth

Bluetooth Classic vs. Bluetooth Low Energy (BLE)

No todos los módulos Bluetooth son los mismos. Las dos categorías principales que se encontrarán son Bluetooth Classic y Bluetooth Low Energy (BLE)].

  • Bluetooth Classic] está diseñado para la transmisión continua de datos – piensa en altavoces inalámbricos, auriculares y reemplazo de puerto serie. Los módulos como HC‐05 y HC‐06 funcionan en este modo. Son simples, baratos y perfectos para el envío de lecturas de sensores o comandos de control a velocidades de datos moderadas (hasta aproximadamente 2.1 Mbps).
  • Bluetooth Low Energy (BLE)] está dirigida a aplicaciones que necesitan una larga vida de batería y sólo envían pequeñas ráfagas de datos, por ejemplo, un sensor de temperatura que transmite una lectura cada minuto. Módulos BLE como el HM‐10, CC2541 o el BLE incorporado en ESP32 y NRF52 son comunes en los proyectos modernos de uso y Iocap directamente.

Para muchos proyectos hobbyist, los módulos Bluetooth Classic como el HC‐05 son el punto de partida más fácil porque pueden ser utilizados como un cable serial virtual. Sin embargo, si planeas correr en baterías durante meses, considera cambiar a BLE.

Módulos Bluetooth populares

Los módulos más utilizados en la comunidad de fabricantes incluyen:

  • HC‐05] – Bluetooth 2.0 Clásico, configurable como maestro o esclavo, soporta los comandos de AT, buenos para aprender.
  • HC‐06] – Como el HC‐05, pero sólo puede ser un dispositivo de esclavos. Más barato y más simple, pero no puede cambiar su nombre o tasa de baud sin herramientas adicionales.
  • HM‐10] – Un módulo BLE 4.0 común basado en el TI CC2541. Muy popular para proyectos BLE con Arduino.
  • Built‐in Bluetooth en ESP32 – El microcontrolador ESP32 incluye soporte de Classic y BLE a bordo, eliminando la necesidad de un módulo separado.

Para una lista completa y hojas de datos, compruebe la documentación Arduino Bluetooth.

¿Por qué agregar Bluetooth a un microcontrolador?

Integrar Bluetooth abre una amplia gama de posibilidades. Aquí están las razones más convincentes:

  • Control y monitoreo ininterrumpido – Luces, motores o bombas de tu smartphone sin estar atado a un cable.
  • Remplazar la registro de datos – Lograr datos de sensores (temperatura, humedad, GPS) a un teléfono o computadora en tiempo real.
  • Prototipado fácil – Usa Bluetooth como un enlace serie inalámbrico para depurar tu código sin cables USB.
  • Interfacing with mobile applications – Construir tu propia aplicación (usando MIT App Inventor, Android Studio o Swift) para interactuar con tu hardware.
  • Menor costo y disponibilidad – Los módulos Bluetooth cuestan sólo unos pocos dólares y son almacenados por la mayoría de los distribuidores electrónicos.
  • Unos opciones de potencia – Con BLE, puedes ejecutar proyectos en pequeñas baterías de monedas por meses.

Fundamentos de Interfacing: Fundamentos Eléctricos y de Comunicación

Antes de la conexión, usted necesita entender algunos conceptos críticos: niveles de tensión, comunicación serial (UART) y tasa de baud.

Niveles de tensión

Muchos microcontroladores (por ejemplo, Arduino Uno) operan en 5V, mientras que muchos módulos Bluetooth (especialmente HC‐05, HM‐10) son dispositivos 3.3V. Connectar un pin de lógica 5V directamente a una entrada 3.3V puede dañar el módulo. Para las líneas de datos (TX y RX), utilice un separador de nivel o una simple tensión.

  • Utilice un divisor de tensión de resistencia de 1kΩ + 2kΩ en la línea TX del microcontrolador al pin RX del módulo.
  • O utilice un módulo dedicado de convertidor de nivel lógico 3.3V/5V.
  • Conecta VCC a 3.3V (algunos módulos pueden tomar 5V en VCC, pero comprueba la hoja de datos).
  • Conecte siempre GND a GND.

Comunicación en serie de UART

Los módulos Bluetooth se comunican normalmente sobre una interfaz UART en serie. El microcontrolador envía datos en su pin TX, y el módulo lo recibe en su pin RX, y viceversa. Esto significa que usted necesita conectar:

  • Microcontrolador TX → Módulo RX
  • Microcontrolador RX → Módulo TX
  • Y cruce las líneas para que cada dispositivo hable en el otro’s recibe el pin.

La mayoría de las tablas de Arduino tienen al menos un puerto serie de hardware (pins 0 y 1) que puede utilizar, pero que también une el convertidor de serie USB. Para proyectos avanzados, utilice en dos pines digitales para mantener el hardware serie libre para depurar.

Tasa de Baud

La tasa de baudio debe coincidir entre el microcontrolador y el módulo Bluetooth. Los predeterminados comunes: HC‐05 y HC‐06 vienen en baud 9600. Puede cambiarlo utilizando comandos AT en el HC‐05, pero el HC‐06 no puede ser cambiado sin un programador especial. Cuando se conecta primero, establece el puerto serie de su microcontrolador a la misma tasa de baud que el módulo.

Guía de cableado de paso a paso (HC‐05 + Arduino Uno)

Envíe un módulo HC‐05 Bluetooth a un Arduino Uno como ejemplo maestro/esclavo. Debido a que el HC‐05 es un dispositivo 3.3V, tenemos que tener cuidado con el voltaje.

Materiales

  • Arduino Uno (o cualquier tabla lógica 5V)
  • HC‐05 Módulo Bluetooth
  • Cables de pan y saltador
  • Dos resistencias de 1kΩ y una resistencia de 2kΩ (para un simple divider de tensión)

Diagrama de cableado

  1. Poder:] Módulo VCC → 3.3V en Arduino (o 5V si la hoja de datos del módulo permite – prueba primero). GND → GND → GND.
  2. TX connection (module envía a Uno): Módulo TX → Uno RX (pin 0). Esta línea es 3.3V, que es segura para el Uno.
  3. Conexión RX (Uno envía al módulo): Uno TX (pin 1) → divider de tensión → Módulo RX. Construir un divider de tensión: un extremo de resistencia 1kΩ a Uno TX, luego a una unión con un extremo de resistencia 2kΩ. El otro extremo de 2kΩ va a GND. La unión va al módulo RX.
  4. Opcional:] Si está usando un HC‐05 en modo de comando AT, también puede necesitar conectar el pin EN o tirarlo alto – compruebe el pinout de su módulo.

Una alternativa más limpia es utilizar un módulo convertidor de nivel lógico, que es barato y evita resistencias de soldadura.

Configuración del modo de comando (HC‐05)

Para cambiar el nombre del módulo, la tasa de baudio o la contraseña, debe introducir el modo de comando AT. Siga estos pasos:

  1. Asegúrese de que el módulo no está conectado a ningún otro dispositivo Bluetooth.
  2. Mantenga el pin EN (o llave) mientras se enciende. O agréguele el pin EN a 3.3V.
  3. Abra el Monitor de serie Arduino en 38400 baud (en baud de AT predeterminado para muchos HC‐05s) y seleccione “Tanto NL " CR”.
  4. Tipo – usted debe recibir .
  5. Usar comandos: para cambiar el nombre, para cambiar la tasa de baud, para establecer PIN.
  6. Más detalles pueden encontrarse en la hoja de datos y tutorial HC‐05].

Programación del Microcontrolador para la Comunicación Bluetooth

Una vez conectado, es necesario escribir un simple boceto para enviar y recibir datos. La idea es sencilla: los datos procedentes del módulo (recibidos desde el teléfono) aparecen en el búfer serie, y puede escribir datos al módulo para enviar de vuelta.

A continuación se muestra un esqueleto conceptual – no copiar código de paso directamente, pero adaptarlo a sus necesidades.

En su :

  • Inicializar el puerto serie: (si utiliza el hardware serial) o entonces .
  • Si utilizas la serie de software, conecte el TX del módulo al pin 2 y RX al pin 3.

En tu :

  • Compruebe si los datos están disponibles en el módulo Bluetooth: .
  • Léalo y quizás haga eco al Monitor de serie: .
  • También reenvíe los datos del Monitor de serie al módulo: .

Este puente de dos vías le permite controlar su microcontrolador de cualquier aplicación de terminal Bluetooth serie en su teléfono (como “Serial Bluetooth Terminal” para Android). Prueba enviando “ON” para encender un LED, o “OFF” para apagarlo. Ahora tiene un enlace de serie inalámbrico.

Par y comunicación con un dispositivo móvil

La unión de un módulo Bluetooth Classic es similar a la unión de cualquier dispositivo Bluetooth:

  1. Potencia tu microcontrolador y módulo.
  2. En su teléfono, vaya a la configuración Bluetooth y escanee para los dispositivos.
  3. Busque el nombre del módulo (por defecto “HC‐05” o “HC‐06”). Toque a par – el PIN predeterminado es a menudo 1234 o 0000.
  4. Una vez emparejado, abra una aplicación de terminal de serie, seleccione el dispositivo y debe ver una conexión. El LED del módulo se parpadeará rápidamente cuando no se ven y se ralentizan cuando se conecta.

Para los módulos BLE como el HM‐10, el proceso es ligeramente diferente: necesita una aplicación BLE (por ejemplo, “BLE Scanner” o “Adafruit Bluefruit LE Connect”) para escanear y conectar. BLE utiliza un modelo de servicio/uuid en lugar de un perfil de puerto serie, pero muchos módulos BLE simulan un enlace serial (servicio UART) para mantener la compatibilidad.

Desafíos comunes y cómo resolverlos

Daños de la Mismatch de tensión

Como se mencionó, la lógica 5V puede destruir entradas 3.3V. Siempre nivel-desplazar la línea TX desde microcontrolador hasta módulo. Utilice un convertidor de nivel o el separador de resistencia mostrado anteriormente. Si el módulo no responde, compruebe si sigue vivo midiendo tensión en VCC.

Tasa de Baud Mismatch

El problema más común: el módulo y el boceto se fijan a diferentes tarifas de baudio. Para HC‐05, el baud AT predeterminado es de 38400, pero el baud de comunicación después del modo AT es a menudo 9600. Doble-ver. Puede verificar el baud del módulo conectando con varias velocidades hasta que vea “OK” en respuesta a “AT”.

TX/RX Crossed Wrongly

Recuerde: TX va a RX, RX va a TX. Muchos recién llegados alambre TX‐to‐TX y RX‐to‐RX, que resulta en ninguna comunicación. Si en duda, use un multimetro para probar continuidad, o cambiar las líneas de datos.

Interferencia y alcance

Bluetooth Classic tiene una gama de unos 10 metros de interior. Muros y otros dispositivos 2.4 GHz (Wi-Fi, hornos de microondas) pueden reducir esto. Si experimenta la pérdida de paquetes, trate de mover el módulo de objetos de metal grandes o cambiar a un módulo con una antena externa (por ejemplo, HC‐05 con pin de antena).

En modo de comando no funciona

Asegúrese de que el pin de EN se ha tirado alto o que mantiene el botón durante el encendido. También confirme la tasa de baudio para el modo AT – la mayoría HC‐05s espera 38400, pero algunos clones pueden usar 9600. Prueba los precios comunes de baudio.

Ideas de proyecto en el mundo real con módulos Bluetooth

Una vez que usted tiene comunicación básica trabajando, las posibilidades son infinitas. Aquí están algunos proyectos para empezar:

1. Controlador de la tira LED inalámbrico

Utilice un módulo HC‐05 o BLE para controlar una tira LED RGB a través de una aplicación de smartphone. Envíe comandos como “rojo”, “azul”, “partido” para cambiar los colores. Combina con un MOSFET para manejar la corriente superior.

2. Monitor remoto de temperatura y humedad

Conecta un sensor DHT22 y un módulo BLE (como HM‐10) a un Arduino o ESP32. Tenga la información de temperatura y humedad emitida por la junta cada pocos segundos. Utilice una aplicación de escáner BLE o cree una aplicación personalizada para mostrar las lecturas. Perfecto para un monitor de invernadero o cuarto de bebé.

3. Coche robot de control Bluetooth

Interface un conductor de motor L298N con HC‐05 y un Arduino. Envía caracteres como 'F' (para adelante), 'B' (de atrás), 'L' (izquierda) para conducir el robot. El código simplemente lee el comando serial y establece los pines de motor en consecuencia. Agregue un sensor ultrasónico para evitar obstáculos y usted tiene una bota semiautonomosa.

4. Cerradura inteligente con proximidad del BLE

Usa un baliza BLE (ESP32 o nRF52) que envía un ID único. Un dispositivo central (por ejemplo, teléfono inteligente) escucha la fuerza RSSI del beacon. Cuando el teléfono está lo suficientemente cerca, envía un comando desbloqueo. Este es el principio detrás de muchas cerraduras inteligentes.

Conclusión y pasos siguientes

Interfacing un microcontrolador con un módulo Bluetooth es una habilidad gratificante que puentea la brecha entre hardware integrado y conectividad móvil. Al entender las diferencias entre Classic y BLE, dominar el cableado (incluyendo el cambio de nivel de tensión), y aprender a configurar el módulo con comandos AT, puede transmitir de forma fiable los datos de forma inalámbrica.