Arduino - Comunicação sem fio

Os módulos de transmissor e receptor sem fio funcionam a 315 MHz. Eles podem caber facilmente em uma placa de ensaio e funcionar bem com microcontroladores para criar um link de dados sem fio muito simples. Com um par de transmissor e receptor, os módulos funcionarão apenas comunicando dados unilateral, entretanto, você precisaria de dois pares (de frequências diferentes) para atuar como um par transmissor / receptor.

Note- Esses módulos são indiscriminados e recebem bastante ruído. Tanto o transmissor quanto o receptor funcionam em frequências comuns e não possuem IDs.

Especificações do módulo receptor

  • Modelo do produto - MX-05V
  • Tensão de operação - DC5V
  • Corrente Quiescente - 4mA
  • Freqüência de recepção - 315Mhz
  • Sensibilidade do receptor - -105DB
  • Tamanho - 30 * 14 * 7 mm

Especificações do módulo transmissor

  • Modelo do produto - MX-FS-03V
  • Distância de lançamento - 20-200 metros (tensão diferente, resultados diferentes)
  • Tensão de operação - 3,5-12V
  • Dimensões - 19 * 19 mm
  • Modo de operação - AM
  • Taxa de transferência - 4KB / S
  • Potência de transmissão - 10mW
  • Frequência de transmissão - 315Mhz
  • Uma antena externa - linha comum multi-core ou single-core de 25 cm
  • Pinagem da esquerda → direita - (DADOS; V CC ; GND)

Componentes necessários

Você precisará dos seguintes componentes -

  • 2 × placa Arduino UNO
  • 1 × transmissor de link Rf
  • 1 × receptor Rf link

Procedimento

Siga o diagrama do circuito e faça as conexões conforme mostrado na imagem abaixo.

Esboço

Abra o software Arduino IDE em seu computador. A codificação na linguagem Arduino controlará seu circuito. Abra um novo arquivo de esboço clicando em Novo.

Note- Você deve incluir a biblioteca do teclado em seu arquivo de biblioteca do Arduino. Copie e cole o arquivo VirtualWire.lib na pasta de bibliotecas, conforme destacado na captura de tela abaixo.

Código Arduino para transmissor

//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 ser anotado

Este é um código simples. Primeiro, ele enviará o caractere '1' e depois de dois segundos ele enviará o caractere '0' e assim por diante.

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 ser anotado

O LED conectado ao pino número 5 na placa Arduino é LIGADO quando o caractere '1' é recebido e desligado quando o caractere '0' é recebido.