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 Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы с устаревшим атрибутом подсветки синтаксиса «enclose»
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Черновик
- Надо доработать
- Черновой вариант статьи
- Черновой вариант
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino