Приемник XD-RF-5V и передатчик FS1000A/XD-FST для радио частоты 433 МГц используется для передачи данных между двумя устройствами. Очень часто применяются для связи нескольких Arduino устройств.
Радио передатчик XD-RF-5V 433Mhz
Характеристики XD-RF-5V
Рабочее напряжение: 3V ~ 12V
Рабочий ток: 20 мА ~ 28mA
Резервное течение: 0mA
Рабочая частота: 433MHz
Расстояние передатчика: >500 м (чувствительность может быть выше-103dBm если в широком поле)
Выходная мощность: 16dBm (40 мВт)
Скорость Передатчик: Режим модуляции: ООК (AM)
Рабочая температура: -10 ° C ~ +70 ° C
Размер: 19 х 19 х 8 мм
Для подключения имеет выводы PIN1 DATA, PIN2 VCC, PIN3 GND. Встроенной антенны нет, но есть контакт для ее подключения. Зачастую для увеличения дальности передачи изготоваливают проволочные антенны.Передатчик применяется в устройствах умного дома, автоматических системах сбора данных. Главным преимуществом является неприхотливость, стабильность в работе и низкое энергопотребление. Из минусов стоит отметить его "аналоговость". Нужно усложнять программный код для кодирования потока данных, но это же и является преимуществом т.к. нет никаких ограничений на протокол связи.

Радио приемник FS1000A/XD-FST 433Mhz
Характеристики FS1000A/XD-FST
Рабочее напряжение: DC 5V
Рабочий ток: 4 мА
Режим модуляции: ООК (AM)
Рабочая температура: -10 ° C ~ +70 ° C
Получать чувствительность:-110dB
Рабочая частота: 433MHz
Размер: 30 х 14 х 7 мм
Приемник работает на основе колебательного контура с усилителем. Подключается с помощью выводов PIN1 VCC, PIN2/3 DATA, PIN5 GND. Выход радио модуля логический по уровню, но сигнал принимает аналоговый. По тому задача декодирования послания лежит на плечах устройства (обычно Arduino) которое принимает сигнал.

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

Для существенного увеличения дальности приема можно к приемо-передающим устройствам подпаять антенну. Самый простой вариант - кусок провода длиной 17 см с сопротивлением 50 Ом. Такая длина будет резанировать на частоте 433 Mgz т.к. ее длина равна 1/4 волны.
Для кодирования.декодирования передаваемого сигнала на Arduino удобно применять библиотеку VirtualWire.h
Приведу пару примеров использования библиотеки для передачи цифровых данных.
Передатчик:
#include "VirtualWire.h" const int led_pin = 13; // Пин светодиода const int transmit_pin = 12; // Пин подключения передатчика void setup() { vw_set_tx_pin(transmit_pin); vw_setup(2000); // Скорость передачи (Бит в секунду) pinMode(led_pin, OUTPUT); } void loop() { const char *msg = "Hello, Arduinomania"; // Передаваемое сообщение digitalWrite(led_pin, HIGH); // Зажигаем светодиод в начале передачи vw_send((uint8_t *)msg, strlen(msg)); // Отправка сообщения vw_wait_tx(); // Ожидаем окончания отправки сообщения digitalWrite(led_pin, LOW); // Гасим светодиод в конце передачи delay(1000); // Пауза 1 секунда }
Приемник:
#include "VirtualWire.h" byte message[VW_MAX_MESSAGE_LEN]; // Буфер для хранения принимаемых данных byte messageLength = VW_MAX_MESSAGE_LEN; // Размер сообщения const int led_pin = 13; // Пин светодиода const int receiver_pin = 11; // Пин подключения приемника void setup() { Serial.begin(9600); // Скорость передачиданных Serial.println("Read 433mHz begin"); vw_set_rx_pin(receiver_pin); // Пин подключения приемника vw_setup(2000); // Скорость передачи данных (бит в секунду) vw_rx_start(); // Активация применика } void loop() { if (vw_get_message(message, &messageLength)) // Если есть данные.. { digitalWrite(led_pin, HIGH); // Зажигаем светодиод в начале приема пакета for (int i = 0; i < messageLength; i++) { Serial.write(message[i]); // выводим их в одной строке } Serial.println(); digitalWrite(led_pin, LOW); // Гасим светодиод в конце } }