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'.