Во многих случаях электронные устройства должны быть подключены по беспроводной сети. В таких случаях используется радиочастотное оборудование. Радиочастотные модули включают в себя все радиоволны, которые могут распространяться на разные расстояния и достигать приемника в зависимости от их частоты и амплитуды.
Приемопередающий радиомодуль 433 МГц включает в себя передатчик и приемник, которые могут работать на частотах 433 МГц и 315 МГц.
Этот модуль выпускается двух разных типов: 315 МГц и 433 МГц.
Все модули, использующие полосу частот 315/433 МГц, могут обмениваться данными друг с другом, и в этом типе связи отсутствует информационная безопасность. Если вам нужна безопасность, вы должны использовать шифрование на приемнике и передатчике.

Этот модуль имеет одностороннюю связь и может отправлять информацию только получателю. Если вы хотите общаться в обоих направлениях, вам следует использовать две пары этого модуля.
Скачать Datasheet модуля Передатчик-приемника XY-MK-5V 433Mhz можно здесь.
Распиновка приемопередающего радиочастотного модуля 315/433 МГц
Этот модуль имеет 3 контакта:
- VIN : блок питания модуля
- Земля
- строка данных для отправки или передачи данных


Требуемые материалы

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


Установите следующую библиотеку на Arduino.
БиблиотекаЗагрузите следующий код на плату Arduino, подключенную к стороне передатчика.
#include <RCSwitch.h>RCSwitch mySwitch = RCSwitch(); void setup() { Serial.begin(9600); // Передатчик подключен к контакту Arduino #10 mySwitch.enableTransmit(10); // Дополнительный протокол установки (по умолчанию 1, будет работать для большинства выходов) // mySwitch.setProtocol(2); // Опционально установленная длина импульса. // mySwitch.setPulseLength(320); // Дополнительно установите количество повторений передачи. // mySwitch.setRepeatTransmit(15); } void loop() { mySwitch.switchOn("11111", "00010"); delay(1000); mySwitch.switchOff("11111", "00010"); delay(1000); /* Тот же переключатель, что и выше, но с использованием десятичного кода */ mySwitch.send(5393, 24); delay(1000); mySwitch.send(5396, 24); delay(1000); /* Тот же переключатель, что и выше, но с использованием двоичного кода */ mySwitch.send("000000000001010100010001"); delay(1000); mySwitch.send("000000000001010100010100"); delay(1000); /* Тот же переключатель, что и выше, но код с тремя состояниями */ mySwitch.sendTriState("00000FFF0F0F"); delay(1000); mySwitch.sendTriState("00000FFF0FF0"); delay(1000); delay(20000); }
Загрузите следующий код на плату Arduino, подключенную к стороне приемника.
#include <RCSwitch.h>RCSwitch mySwitch = RCSwitch(); void setup() { Serial.begin(9600); mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2 } void loop() { if (mySwitch.available()) { int value = mySwitch.getReceivedValue(); if (value == 0) { Serial.print("Unknown encoding"); } else { Serial.print("Received "); Serial.print( mySwitch.getReceivedValue() ); Serial.print(" / "); Serial.print( mySwitch.getReceivedBitlength() ); Serial.print("bit "); Serial.print("Protocol: "); Serial.println( mySwitch.getReceivedProtocol() ); } mySwitch.resetAvailable(); } }
Этот код предназначен для проверки соединения между передатчиком и приемником. Получатель может видеть отправленные данные в Serial Monitor .

Теги: