- Decode rf signals (codes)
- Decoder – schematics
- Example
- Installing the rc switch library
- Opening the decoder sketch
- Parts required
- Setting the rf channels
- Why decoding rf signals?
- Wrapping up
- Беспроводная радиосвязь с arduino. блог амперкот.ру
- Общие сведения
- Подключение передатчика и приемника 433 мгц к arduino uno
- Технические параметры радиомодуля fs1000a (rf-5v)
- Send the rf signals (codes)
- Sender schematics
Decode rf signals (codes)
Open the Arduino IDE serial monitor and start pressing the buttons. As shown in the video demonstration below:
After pressing each button one time, you can see the binary code for each button (it’s highlighted in red):
Save your binary codes for each button press (you can also use the Decimal or Tri-State codes):
- Button 3 ON = (24Bit) Binary: 000101010101000101010101
- Button 3 OFF = (24Bit) Binary: 000101010101000101010100
- Button 4 ON = (24Bit) Binary: 000101010101010001010101
- Button 4 OFF = (24Bit) Binary: 000101010101010001010100
Save your Pulse Length: 416 Microseconds and Protocol: 1.
Decoder – schematics
After uploading the sketch, connect an 433MHz RF receiver to Digital Pin 2 of your Arduino UNO board:
Example
Here’s how they look:
Installing the rc switch library
The RC Switch library provides an easy way of using your ESP8266, ESP32, or Arduino to operate remote radio controlled devices. This will most likely work with all popular low-cost power outlet sockets.
- Click here to download the RC Switch library. You should have a .zip folder in your Downloads folder
- Unzip the .zip folder and you should get rc-switch-master folder
- Rename your folder from
- Move the rc_switch folder to your Arduino IDE installation libraries folder
- Then, re-open your Arduino IDE
rc-switch-master to rc_switch
Opening the decoder sketch
You need to decode the signals that your remote control sends, so that the Arduino or ESP8266 can reproduce those signals and ultimately control the outlets.
The library comes with several sketch examples. Within the Arduino IDE software, you need to go to File > Examples > RC_Switch > ReceiveDemo_Advanced. This next sketch opens:
Parts required
For this tutorial, you need the following parts:
Note: you need to buy remote controlled outlets that operate at a RF of 433MHz. They should say the operating RF either in the product page or in the label.
Setting the rf channels
I’ve set my remote control to the I position.
Why decoding rf signals?
I’ve tried different methods of controlling the mains voltage, but some of the methods require:
- Experience dealing with AC voltage
- Opening holes in your wall/ceiling/switches
- Modifying the electrical panel
- Knowing the electrical rules for each country
It’s difficult to come up with a solution that is safe and works for everyone. One of the easiest and safest ways to remotely control appliances connected to mains voltage is using radio frequency (RF) controlled outlets. Why? Using remote controlled outlets have 5 benefits:
- Fairly inexpensive
- Easy to get
- Works with ESP8266 and Arduino
- Safe to use
- Works in any country
Wrapping up
I hope you’ve found this guide useful. If you like this post probably you might like my next ones, so make sure you subscribe the RNT blog.
You can use the concepts learned in this tutorial with your ESP8266 or ESP32.
Thanks for reading.
Беспроводная радиосвязь с arduino. блог амперкот.ру
Беспроводная и дистанционная связь имеет ряд очевидных преимуществ. Даже человек, слабо разбирающийся в данной сфере, сразу укажет вам на самое явное из них – отсутствие проводов.
Если рассуждать с точки зрения практичности беспроводной связи в проектах на Arduino, то к этому можно отнести дистанционное управление любым электронным устройство, будь то машинкой, роботом или другими различными механизмами; мониторинг и контроль за климатом в доме, создание и проектирование умного дома и многое-многое другое.
В данной статье речь пойдет о радиосвязи, а конкретнее – о радиомодулях, для подключения их к Arduino и об успешном применении в различных проектах.
Самым интересным способом для знакомства с радиомодулями, является установление соединения между двумя платами Ардуино посредством так называемого приемопередатчика.
Наибольшей популярностью среди радиомодулей с поддержкой Arduino пользуются передатчики с частотой 433МГц. Самое такое устройство обычно делиться на две составные части: это приемник и передатчик. Первый модуль имеет 4 вывода для подключения к плате (но один из них можно не использовать) Два из этих вывода отвечают за питание (соответственно, подключаются к таким контактам на плате, как 5V и Gnd (ground – “земля”), а другой к цифровому выходу на плате.
Передатчик тоже имеет 3 используемых контакта для подключения к плате. Только подключается он уже к другой плате, с которой у нас будет взаимодействовать первая плата, подключенная к приемнику. Три вывода подключается таким же способом, как и в случае с подключением приемника.
Наглядная картинка подключенных модулей есть на фото ниже:
Теперь займемся написанием программного кода. Для этого откроем среду разработки – программу Arduino IDE. Для работы с модулями понадобится специализированная библиотека RCSwitch.h, ее скачать вы можете здесь
Рассмотрим код, в котором будем передавать информацию с одной платы на другую, а уже в следующих уроках более углубимся в эту тему.
Начнем с передатчика. Этот модуль будет передавать информацию к другой плате, которая, обработав информацию, выполнит со всей подключенной к ней периферии необходимые действия.
#include <RCSwitch.h> RCSwitch mySwitch = RCSwitch(); void setup() { mySwitch.enableTransmit(2); } void loop() { mySwitch.send(B0100, 4); delay(1000); mySwitch.send(B1000, 4); delay(1000); }
Сначала инициализируем библиотеку для работы с модулями, с помощью директивы include
В следующее строчке мы называем наш модуль для дальнейшей работы с ним. Внутри функции void setup прописывается контакт на плате, к которому подключен передатчик. Далее, в цикле, мы можем заметить еще одну новую функцию – mySwitch.send . Она предназначается для непосредственной отправки сообщений. Сначала в ней указывается само сообщение для отправки, а далее размер отправляемого файла. Кстати, указывать отправляемое сообщение можно также и в виде двоичных чисел и строк.
Для приемника будет следующий программный код:
#include <RCSwitch.h> RCSwitch mySwitch = RCSwitch(); void setup() { pinMode( 3, OUTPUT ); mySwitch.enableReceive(0); } void loop() { if (mySwitch.available()) { int value = mySwitch.getReceivedValue(); if (value == B1000) digitalWrite(3, HIGH); else if (value == B0100) digitalWrite(3, LOW); mySwitch.resetAvailable(); } }
В цикле программного кода можно легко заметить, что при отправке определенного сообщения устанавливается на выходе максимальное напряжение(high), в ином случае – минимальное (low)
Таким образом данный пример-код взаимодействия между элементами радиомодуля вы можете легко применить в собственных проектах: например, ИК-управление с помощь пульта, управление машинкой на этой же основе и многое другое
Надеемся, что статья была для вас полезной. Удачной всем компиляции! И следите за нашим блогом:)
Купить компоненты, используемые в статье, вы можете на нашем сайте: Амперкот.ру
Данная статья является собственностью radiocopter.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.
Общие сведения
Давайте рассмотрим поближе данный радио модуль, начнем с передатчика FS1000A, он самый маленький. В центре расположен резонатор FST (LR 443A), настроенный на работу в диапазоне 433.xx МГц, на обратной стороне установлен переключающий транзистор и несколько пассивных компонентов, вот и все. Так же на модуле установлена антенна, но предусмотрен выход для подключения внешний антенны.
Принцип работы прост, если на вход «DATA» подается логическая «1» открывается транзистор и генератор работает, генерируя несущую волну на частоте 433 МГц, а когда на вход «DATA» устанавливается логическая «0», генератор останавливается.
Приемник RF-5V устроен по сложнее, но такой же простой как модуль передатчика. Состоит из радиочастотной схемы и пары операционных усилителей для усиления сигнала от передатчика.
Назначение контактов передающего модуля FS1000A:► DATA — принимает цифровые данные для передачи. ► VCC и GND — Питание передатчика от 3.5 В до 12 В, чем выше напряжение, тем больше диапазон работы.
Назначение контактов принимающего модуля RF-5V:► VCC и GND — Питание приемника, 5В.► DATA — выводят полученные цифровые данные, два центральных вывода связаны между собой.
Подключение передатчика и приемника 433 мгц к arduino uno
Необходимые детали:► Радиомодуль на FS1000A, RF-5V, 433 МГц x 2 шт.► Arduino UNO R3 (DCCduino, CH340G) x 1 шт.► Комплект проводов DuPont x 1 шт.
Подключение:Подключение несложное, для передатчика необходимо три провода. Первым делом, подключаем VCC и GND к выводу 5 В и GND на Arduino, вывод «Data» должен быть подключен к 12 цифровому контакту Arduino. После подключения передатчика можно перейти к приемнику, необходимо также три провода.
Программа для передатчика: Теперь, когда схема собрана, необходимо подготовить скетч и загрузить его в соответствующую плату Arduino. Прежде чем копировать скетч, необходимо установить дополнительную библиотеку «RadioHead» которая не входит в среду разработки Arduino IDE.
Технические параметры радиомодуля fs1000a (rf-5v)
► Напряжение питания приемника: 5 В ► Частота работы приемника: 433 МГц► Длина провода антенны приемника: 32 см► Чувствительность приемника: 105 dB ► Напряжение питания передатчика: 3.5 – 5 В ► Длина провода антенны передатчика: 25 см► Дальность передачи:
Send the rf signals (codes)
You’ll need to customize the next sketch with your binary codes, pulse length and protocol:
Sender schematics
After uploading the sketch to your Arduino board, assemble this circuit: