Arduino - Comunicación inalámbrica
Los módulos transmisores y receptores inalámbricos funcionan a 315 Mhz. Pueden caber fácilmente en una placa de pruebas y funcionar bien con microcontroladores para crear un enlace de datos inalámbrico muy simple. Con un par de transmisor y receptor, los módulos solo funcionarán comunicando datos unidireccionalmente, sin embargo, necesitaría dos pares (de diferentes frecuencias) para actuar como un par de transmisor / receptor.
Note- Estos módulos son indiscriminados y reciben una buena cantidad de ruido. Tanto el transmisor como el receptor funcionan en frecuencias comunes y no tienen ID.
Especificaciones del módulo receptor
- Modelo de producto - MX-05V
- Voltaje de funcionamiento - DC5V
- Corriente de reposo: 4 mA
- Frecuencia de recepción - 315 Mhz
- Sensibilidad del receptor - -105DB
- Tamaño: 30 * 14 * 7 mm
Especificaciones del módulo transmisor
- Modelo de producto - MX-FS-03V
- Distancia de lanzamiento: 20-200 metros (voltaje diferente, resultados diferentes)
- Voltaje de funcionamiento: 3,5-12 V
- Dimensiones: 19 * 19 mm
- Modo de funcionamiento - AM
- Tasa de transferencia: 4KB / S
- Potencia de transmisión: 10 mW
- Frecuencia de transmisión - 315 Mhz
- Una antena externa: línea ordinaria de varios núcleos o de un solo núcleo de 25 cm
- Pinout de izquierda a derecha - (DATA; V CC ; GND)
Componentes requeridos
Necesitará los siguientes componentes:
- 2 × placa Arduino UNO
- 1 × transmisor de enlace Rf
- 1 × receptor de enlace Rf
Procedimiento
Siga el diagrama del circuito y realice las conexiones como se muestra en la imagen que se muestra a continuación.
Bosquejo
Abra el software Arduino IDE en su computadora. La codificación en el lenguaje Arduino controlará su circuito. Abra un nuevo archivo de dibujo haciendo clic en Nuevo.
Note- Debe incluir la biblioteca del teclado en su archivo de biblioteca Arduino. Copie y pegue el archivo VirtualWire.lib en la carpeta de bibliotecas como se resalta en la captura de pantalla que se muestra a continuación.
Código Arduino para transmisor
//simple Tx on pin D12
#include <VirtualWire.h>
char *controller;
void setup() {
pinMode(13,OUTPUT);
vw_set_ptt_inverted(true);
vw_set_tx_pin(12);
vw_setup(4000);// speed of data transfer Kbps
}
void loop() {
controller="1" ;
vw_send((uint8_t *)controller, strlen(controller));
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(13,1);
delay(2000);
controller="0" ;
vw_send((uint8_t *)controller, strlen(controller));
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(13,0);
delay(2000);
}
Código a tener en cuenta
Este es un código simple. Primero, enviará el carácter '1' y después de dos segundos enviará el carácter '0' y así sucesivamente.
Código Arduino para receptor
//simple Rx on pin D12
#include <VirtualWire.h>
void setup() {
vw_set_ptt_inverted(true); // Required for DR3100
vw_set_rx_pin(12);
vw_setup(4000); // Bits per sec
pinMode(5, OUTPUT);
vw_rx_start(); // Start the receiver PLL running
}
void loop() {
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // Non-blocking {
if(buf[0]=='1') {
digitalWrite(5,1);
}
if(buf[0]=='0') {
digitalWrite(5,0);
}
}
}
Código a tener en cuenta
El LED conectado al pin número 5 en la placa Arduino se enciende cuando se recibe el carácter '1' y se apaga cuando se recibe el carácter '0'.