Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
La comunicación inalámbrica es una tecnología crucial en el mundo moderno, permitiendo la transmisión de datos sin necesidad de cables. En el contexto de Arduino, la comunicación inalámbrica abre un abanico de posibilidades para proyectos de automatización, robótica y dispositivos IoT (Internet de las Cosas). Este artículo se centrará en la implementación de comunicación inalámbrica utilizando módulos RF (Radio Frecuencia) con Arduino, mostrando cómo enviar y recibir datos de manera eficiente.
Project: En este proyecto, crearemos un sistema básico de comunicación inalámbrica entre dos placas Arduino utilizando módulos RF 433 MHz. El objetivo es enviar datos de un sensor de temperatura desde un Arduino emisor a otro Arduino receptor, donde se mostrará la temperatura en un display LCD. Este proyecto es ideal para aplicaciones de monitoreo remoto.
Components List:
Examples:
#include <VirtualWire.h>
#include <DHT.h>
#define DHTPIN 2 // Pin donde está conectado el sensor DHT11
#define DHTTYPE DHT11 // Tipo de sensor DHT
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
vw_setup(2000); // Velocidad de datos en bits por segundo
vw_set_tx_pin(12); // Pin de transmisión
dht.begin();
}
void loop() {
float temp = dht.readTemperature(); // Lee la temperatura
if (isnan(temp)) {
Serial.println("Error al leer el sensor DHT11");
return;
}
char msg[7];
dtostrf(temp, 6, 2, msg); // Convierte el valor de temperatura a string
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx(); // Espera a que se complete la transmisión
delay(1000); // Espera 1 segundo antes de la siguiente lectura
}
#include <VirtualWire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup() {
Serial.begin(9600);
vw_setup(2000); // Velocidad de datos en bits por segundo
vw_set_rx_pin(11); // Pin de recepción
vw_rx_start(); // Inicia el receptor
lcd.begin(16, 2); // Inicializa el display LCD
lcd.print("Temp: ");
}
void loop() {
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) { // Si se recibe un mensaje
buf[buflen] = '\0'; // Asegura que el buffer termine en NULL
float temp = atof((char *)buf); // Convierte el mensaje a float
lcd.setCursor(6, 0);
lcd.print(temp);
lcd.print(" C");
}
}
En estos ejemplos, el Arduino emisor lee la temperatura del sensor DHT11 y la envía a través del módulo RF. El Arduino receptor recibe estos datos y los muestra en un display LCD. Asegúrate de conectar correctamente los pines según las especificaciones de los módulos y componentes utilizados.