Учебники

Arduino — беспроводная связь

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

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

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

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

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

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

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

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

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

  • 2 × доска Arduino UNO
  • Передатчик 1 х РЧ
  • 1 × РЧ-приемник

Процедура

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

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

эскиз

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

эскиз

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

Файл библиотеки Arduino

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