Arduino:Примеры/Гайд по использованию приемника/передатчика RF 433 MHz с Arduino
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Гайд по использованию приемника/передатчика RF 433 MHz с Arduino[1]
Эта статья о популярных радиочастотных приемниках/передатчиках RF 433 MHz. В ней объясняется, как они работают, рассказывается об их функциях и содержится скетч Arduino, который вы можете использовать в собственных проектах.
Описание
Радиочастотные модули типа RF 433 MHz очень популярны среди людей, увлекающихся проектами на базе Arduino. Приемники и передатчики RF 433 MHz применимы во множестве ситуаций, где требуется беспроводное управление.
Характеристики приемника
- Частотный диапазон: 433,92 МГц
- Модуляция: ASK
- Входное напряжение: 5 вольт
- Цена: 1-2 доллара
Характеристики передатчика
- Частотный диапазон: 433,92 МГц
- Входное напряжение: 3-12 вольт
- Цена: 1-2 доллара
Где купить?
Приемники и передатчики типа RF 433 MHz можно купить на eBay. К примеру, тут.

Необходимые компоненты
Для нашего проекта понадобятся следующие компоненты:
- Две платы Arduino (см. на eBay)
- Приемник и передатчик RF 433 MHz (см. на eBay)
- Макетная плата (см. на eBay)
Библиотека Radiohead
Кроме того, для этого проекта понадобится библиотека Radiohead. Она работает почти со всеми радиочастотными модулями, имеющимися на рынке. Более подробно об этом проекте можно почитать тут.
- Загрузите библиотеку Radiohead отсюда
- Распакуйте архив с библиотекой
- Установите библиотеку в IDE Arduino
- Перезапустите IDE Arduino
Схема и код для приемника
Теперь подключите компоненты друг к другу как показано на картинке ниже:

Затем загрузите на плату Arduino вот этот код:
#include <RH_ASK.h>
#include <SPI.h> // в скетче не используется, но нужна для компиляции
RH_ASK driver;
void setup()
{
Serial.begin(9600); // только в отладочных целях
if (!driver.init())
Serial.println("init failed");
// "Инициализация не удалась"
}
void loop()
{
uint8_t buf[12];
uint8_t buflen = sizeof(buf);
if (driver.recv(buf, &buflen)) // неблокирующая функция
{
int i;
// пришло сообщение с хорошей контрольной суммой,
// выгружаем его:
Serial.print("Message: "); // "Сообщение: "
Serial.println((char*)buf);
}
}
Схема и код для передатчика
Соберите компоненты для передающей стороны, как показано на схеме ниже:

Затем загрузите на Arduino код, показанный ниже:
#include <RH_ASK.h>
#include <SPI.h> // в скетче не используется,
// но нужна для компиляции
RH_ASK driver;
void setup()
{
Serial.begin(9600); // для отладочных целей
if (!driver.init())
Serial.println("init failed");
// "Инициализация не удалась"
}
void loop()
{
const char *msg = "Hello World!"; // "Привет, мир!"
driver.send((uint8_t *)msg, strlen(msg));
driver.waitPacketSent();
delay(1000);
}
Демонстрация
В этом проекте передатчик по радиочастоте отправляет приемнику сообщение «Hello, world!» Затем приемник печатает это сообщение в мониторе порта IDE Arduino. Выглядит это примерно так:

Качество связи
Не ждите от этих модулей слишком многого. Приемник и передатчик RF 433 MHz работают очень хорошо, когда находятся близко, но если разместить их далеко друг от друга, то связь может оборваться.
Дальность действия сигнала зависит от ряда факторов: от того, сколько напряжения подано на передатчик, от радиочастотного шума в окружающем пространстве и того, используете ли вы внешнюю антенну.
См.также
Внешние ссылки
развернутьПартнерские ресурсы |
---|
развернутьСправочник языка Arduino |
---|
развернутьБиблиотеки Arduino |
---|
развернутьArduino продукты |
---|
развернутьПримеры Arduino |
---|
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino