Эта страница только для чтения. Вы можете посмотреть исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Комплект беспроводной RF 315MHz ====== ===== Описание ===== Комплект односторонней беспроводной связи. В комплекте 1 приемник и 1 передатчик. Оба настроены на частоту 315МГц. Является самым дешевым вариантом для беспроводной связи, в том числе и в системах «умный дом». Отличительной особенностью приемника и передатчика является возможность начала работы сразу после подачи напряжения. ==== Технические характеристики ==== * Напряжение питания приемника: 5В * Напряжение питания передатчика: 3-12В * Потребляемый ток: до 15мА * Мощность передатчика: 10мВт * Скорость передачи данных: 4Кб/с * Чувствительность приемника: -105ДБм * Рабочая частота: 315МГц * Радиус действия в прямой видимости: 100м ==== Физические размеры ==== * Передатчик (Д х Ш х В): 1,9 х 1,9 х 0,9 см * Приемник (Д х Ш х В): 3,1 х 1,3 х 0,9 см ==== Плюсы использования данных датчиков для связи ==== * Просты в использовании * Просты в подключении ==== Минусы использования ==== * Нет шифрования данных (все передаваемые данные доступны и для других) * Невысокая дальность ==== Библиотека для работы с модулем ==== * [[https://files.smartelements.ru/know_libs/virtualwire_master.zip|Скачать (virtualwire)]] Для увеличения дальности требуется припаять антенну (около 20-30 см) ===== Примеры подключения и использования ===== В примере тестируется отправка данных о количестве секунд с момента запуска контроллера. И прием вторым устройством отправленных данных. (Для тестирования примеров использовались [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|контроллеры Smart UNO]]) ^ Что нужно ^ Кол-во, шт ^ | [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|Контроллер ]] | 2 | | [[https://smartelements.ru/collection/svyaz/product/komplekt-priemnikperedatchik-besprovodnoy-rf-315mhz|Комплект беспроводной RF 315MHz]] | 1 | | [[https://smartelements.ru/collection/provoda-i-kabeli/product/nabor-provodov-20-sht-20sm-papa-mama|Провода папа-мама]] | 6 | ==== Передатчик ==== **Подключение:** {{ :главная:связь:peredatchik_ru.jpg |}} **Скетч для Передатчика:** <file Arduino> #include <VirtualWire.h>// Подключение библиотеки VirtualWire.h const int led = 13; // Пин светодиода const int transmit = 12; // Пин передатчика void setup() { vw_set_tx_pin(transmit); // Установка пина передачи данных vw_setup(2000); // Скорость передачи (Бит в секунду) pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); // Зажечь светодиод перед передачей int seconds = (millis() / 1000); // Получение количества прошедших секунд String secondsresult = String(seconds); // Присвоить полученное значение строковой переменной char msg[14]; secondsresult.toCharArray(msg, 14); //Скопировать символы строки в буфер. vw_send((uint8_t *)msg, strlen(msg)); // Отправить сообщение vw_wait_tx(); // Подождать до окончания отправки digitalWrite(led, LOW); // Сообщение отправлено - погасить светодиод delay(1000); // Задержка 1 секунда } </file> ==== Приёмник ==== **Подключение:** {{ :главная:связь:prijomnik_ru.jpg |}} **Скетч для приёмника:** <file Arduino> #include <VirtualWire.h> //Подключение библиотеки VirtualWire.h byte message[VW_MAX_MESSAGE_LEN]; // Буфер хранения данных byte messageLength = VW_MAX_MESSAGE_LEN; // Размер сообщения const int receiver = 11; // Пин для приемника void setup() { Serial.begin(9600); // Для тестирования принятых сообщений Serial.println("Receiver is waiting for messages"); //Вывод сообщения vw_set_rx_pin(receiver); // Установка пина для приема vw_setup(2000); // Скорость передачи данных (бит в секунду) vw_rx_start(); // Инициализация приемника } void loop() { messageLength = VW_MAX_MESSAGE_LEN; //Определение длины сообщения if (vw_get_message(message, &messageLength)) // Если данные получены { for (int i = 0; i < messageLength; i++) //В цикле { Serial.write(message[i]); // вывод их посимвольно в строку } Serial.write(" seconds from start"); //завершить сообщение Serial.println(); //Вывести набранную строку } } </file>