Радиомодули 433 МГц и Arduino

Ранее уже была статья по работе с радиомодулями NRF24L01. Сегодня рассмотрим еще одну пару радиоприемников и -передатчиков, которые, к сожалению, не отличаются стабильностью, но очень распространены.

Выглядят они так:

 

Картинки по запросу радио 433мгц

Побольше — приемник, поменьше — передатчик. Подключаются они очень просто (схема взята с сайта zelectro.cc):

http://zelectro.cc/Content/Uploads/100/Files/radio_receiver_radio_transmitter_433MHz_connection-to_Arduino.jpg

Для работы понадобится библиотека VirtualWire.
Зайдите в Arduino IDE -> Файл -> Образцы (или примеры) -> VirtualWire -> transmitter.

Это код передатчика.

Данный код передает символы h, e, l, l, o, пробел и число, увеличивающееся каждую секунду на 1. При каждой отправке моргает светодиод, который в коде подключен к 11 пину (можно поменять).

Теперь откройте образец receiver из той же папки — это код приемника.

Этот код сначала выводит надпись setup в последовательный порт (данные можно просмотреть через монитор последовательного порта), а дальше все принятые данные. При правильном подключении будут выводиться данные типа:

setup
Got: 68 65 6C 6C 6F 20 22
Got: 68 65 6C 6C 6F 20 23
Got: 68 65 6C 6C 6F 20 24
Got: 68 65 6C 6C 6F 20 25

Это и есть данные, которые мы отправляли, только в шестнадцатиричной системе счисления. Изменим этот код таким образом: в цикле будем выводить все данные, кроме последнего (т.е. кроме числа секунд), но перед выводом преобразуем их в тип char (символ). После цикла выведем принятое число секунд в десятичном формате.

Теперь принятые данные выглядят так:

setup
Got: h e l l o   51
Got: h e l l o   52
Got: h e l l o   53
Got: h e l l o   54
Got: h e l l o   55

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

Код был запущен в версии Arduino 1.5.6.

 

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *