El módulo HC-05 es un módulo Bluetooth que permite la comunicación inalámbrica entre dispositivos electrónicos.
El HC-05 es un módulo Bluetooth con capacidad para actuar como maestro o esclavo. Puede establecer conexiones inalámbricas con otros dispositivos habilitados para Bluetooth, como teléfonos móviles y computadoras.
El HC-05 generalmente tiene cuatro pines:
El HC-05 puede operar en diferentes modos:
Aquí tienes un ejemplo sencillo de cómo interactuar con el HC-05 desde Arduino:
void setup() { Serial.begin(9600); } void loop() { if (Serial.available() > 0) { char incomingData = Serial.read(); Serial.print("Dato recibido: "); Serial.println(incomingData); } }
Este ejemplo demuestra cómo recibir caracteres por puerto serie en Arduino y mostrarlos en el Monitor Serie.
Antes de ejecutar este ejemplo, asegúrate de haber configurado correctamente la comunicación serie en Arduino y en tu dispositivo emisor.
void setup() { Serial.begin(9600); // Iniciar comunicación por USB } void loop() { if (Serial.available()) { char receivedChar = Serial.read(); // Leer el carácter recibido Serial.print("Carácter recibido: "); Serial.println(receivedChar); } }
Este ejemplo es básico y está diseñado para ilustrar la recepción de caracteres por puerto serie en Arduino. Puedes adaptar y expandir este concepto para proyectos más complejos.
Este código lee datos del módulo HC-05 y los imprime en el Monitor Serie de Arduino.
Recuerda revisar las especificaciones del módulo y consultar la documentación para obtener información detallada sobre los comandos y modos de operación.
Este ejemplo demuestra cómo utilizar la función Serial.readString() para recibir un string por puerto serie en Arduino y mostrarlo en el Monitor Serie.
Antes de ejecutar este ejemplo, asegúrate de haber configurado correctamente la comunicación serie en Arduino y en tu dispositivo emisor. Envía un string seguido de un salto de línea.
void setup() { Serial.begin(9600); // Iniciar comunicación por USB } void loop() { if (Serial.available()) { String receivedString = Serial.readString(); // Leer el string completo // Mostrar el string recibido Serial.print("String recibido: "); Serial.println(receivedString); } }
Este ejemplo es básico y está diseñado para ilustrar el uso de Serial.readString() en Arduino. Puedes adaptar y expandir este concepto para proyectos más complejos.
La biblioteca SoftwareSerial es una biblioteca estándar en el entorno de programación de Arduino que permite crear puertos serie virtuales en pines digitales que normalmente no están designados para la comunicación serial. Esto es especialmente útil cuando tu Arduino tiene un número limitado de pines de comunicación serie hardware (como los pines RX y TX que generalmente se utilizan para la comunicación con USB o Bluetooth), y deseas comunicarte con varios dispositivos serie a la vez. Aquí hay algunos puntos clave sobre la biblioteca SoftwareSerial: Puertos Serie Virtuales: SoftwareSerial permite crear hasta múltiples puertos serie virtuales en pines digitales específicos de tu elección. Comunicación Half-Duplex: A diferencia de la comunicación serie hardware, que puede ser full-duplex (es decir, enviar y recibir al mismo tiempo), SoftwareSerial generalmente solo admite comunicación half-duplex, lo que significa que solo puede transmitir o recibir a la vez. Inconvenientes: Debido a limitaciones de tiempo y procesamiento, la comunicación serial por software puede ser más lenta y menos confiable que la comunicación serial hardware, especialmente a velocidades de transmisión más altas. Configuración: Para usar la biblioteca SoftwareSerial, necesitas crear una instancia del objeto SoftwareSerial y configurarlo con los pines que deseas usar para la comunicación. Métodos Principales: Los métodos principales que puedes usar con SoftwareSerial son: begin(baudRate): Inicia la comunicación a una velocidad de baudios específica. available(): Devuelve la cantidad de bytes disponibles para ser leídos. read(): Lee el próximo byte disponible. write(byte): Escribe un byte en el puerto serie virtual. Aquí hay un ejemplo sencillo de cómo utilizar SoftwareSerial para comunicarte con un módulo HC-05 en pines digitales no estándar:
La biblioteca SoftwareSerial es una biblioteca estándar en el entorno de programación de Arduino que permite crear puertos serie virtuales en pines digitales que normalmente no están designados para la comunicación serial. Esto es especialmente útil cuando tu Arduino tiene un número limitado de pines de comunicación serie hardware (como los pines RX y TX que generalmente se utilizan para la comunicación con USB o Bluetooth), y deseas comunicarte con varios dispositivos serie a la vez.
begin(baudRate)
: Inicia la comunicación a una velocidad de baudios específica.available()
: Devuelve la cantidad de bytes disponibles para ser leídos.read()
: Lee el próximo byte disponible.write(byte)
: Escribe un byte en el puerto serie virtual.#include <SoftwareSerial.h> SoftwareSerial mySerial(10, 11); // RX, TX void setup() { Serial.begin(9600); // Iniciar comunicación por USB mySerial.begin(9600); // Iniciar comunicación por SoftwareSerial } void loop() { if (mySerial.available()) { char data = mySerial.read(); Serial.print("Recibido desde HC-05: "); Serial.println(data); } if (Serial.available()) { char data = Serial.read(); mySerial.print("Enviado desde USB: "); mySerial.println(data); } }
En este ejemplo, SoftwareSerial se utiliza para establecer una comunicación serie virtual con un módulo HC-05. La comunicación se inicia tanto a través de USB (con Serial) como a través de SoftwareSerial (con mySerial). Ten en cuenta que este es un ejemplo simple y, dependiendo de tu caso de uso, podrías necesitar ajustar la velocidad de comunicación, los pines utilizados y el manejo de datos.