Arduino - Беспроводная связь

Модули беспроводного передатчика и приемника работают на частоте 315 МГц. Они легко помещаются в макет и хорошо работают с микроконтроллерами, создавая очень простой канал беспроводной передачи данных. С одной парой передатчика и приемника модули будут работать только с односторонней передачей данных, однако вам потребуются две пары (с разными частотами), чтобы действовать как пара передатчик / приемник.

Note- Эти модули неизбирательны и получают изрядный шум. И передатчик, и приемник работают на общих частотах и ​​не имеют идентификаторов.

Технические характеристики модуля приемника

  • Модель продукта - MX-05V
  • Рабочее напряжение - DC5V
  • Ток покоя - 4 мА
  • Частота приема - 315 МГц
  • Чувствительность приемника - -105 дБ
  • Размер - 30 * 14 * 7 мм

Технические характеристики модуля передатчика

  • Модель продукта - MX-FS-03V
  • Дальность пуска - 20-200 метров (разное напряжение, разные результаты)
  • Рабочее напряжение - 3,5-12В
  • Размеры - 19 * 19мм
  • Режим работы - AM
  • Скорость передачи - 4KB / S
  • Мощность передачи - 10 мВт
  • Частота передачи - 315 МГц
  • Внешняя антенна - обычная многожильная или одножильная линия 25см
  • Распиновка слева → справа - (DATA; V CC ; GND)

Необходимые компоненты

Вам понадобятся следующие компоненты -

  • 2 × плата Arduino UNO
  • 1 × передатчик линии RF
  • 1 × приемник связи RF

Процедура

Следуйте принципиальной схеме и выполните соединения, как показано на изображении ниже.

Эскиз

Откройте программное обеспечение Arduino IDE на вашем компьютере. Кодирование на языке Arduino будет управлять вашей схемой. Откройте новый файл эскиза, нажав кнопку «Создать».

Note- Вы должны включить библиотеку клавиатуры в файл библиотеки Arduino. Скопируйте и вставьте файл VirtualWire.lib в папку с библиотеками, как показано на скриншоте ниже.

Код Arduino для передатчика

//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);
}

Код для примечания

Это простой код. Сначала он отправит символ «1», а через две секунды отправит символ «0» и так далее.

Код Arduino для приемника

//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);
      }
   }
}

Код для примечания

Светодиод, подключенный к контакту 5 на плате Arduino, включается при получении символа «1» и выключается при получении символа «0».