Радиомодуль NRF24L01 mini: характеристики, подключение и применение

Как работает радиомодуль NRF24L01 mini. Каковы его основные характеристики. Как правильно подключить NRF24L01 к Arduino и другим микроконтроллерам. Для чего используется этот популярный радиомодуль в проектах.

Обзор радиомодуля NRF24L01 mini

NRF24L01 mini — это компактный радиомодуль, широко используемый в любительских и профессиональных проектах для организации беспроводной связи. Он обеспечивает надежную передачу данных на частоте 2,4 ГГц на расстояние до 100 метров.

Основные характеристики NRF24L01 mini:

  • Рабочая частота: 2,4 ГГц
  • Дальность связи: до 100 м на открытом пространстве
  • Скорость передачи данных: до 2 Мбит/с
  • Напряжение питания: 1,9-3,6 В
  • Потребляемый ток: 11,3 мА при передаче, 13,5 мА при приеме
  • Интерфейс: SPI
  • Размеры: 15 x 29 мм

Благодаря компактным размерам и низкому энергопотреблению, NRF24L01 mini идеально подходит для создания миниатюрных беспроводных устройств и сенсорных сетей.

Подключение NRF24L01 mini к Arduino

Для подключения NRF24L01 mini к Arduino используется интерфейс SPI. Схема подключения выглядит следующим образом:


  • VCC — 3.3V
  • GND — GND
  • CE — D9
  • CSN — D10
  • SCK — D13
  • MOSI — D11
  • MISO — D12

Важно отметить, что NRF24L01 работает от напряжения 3,3В. Если вы используете Arduino с напряжением 5В, необходимо использовать преобразователь уровней или стабилизатор напряжения.

Особенности питания NRF24L01

Для стабильной работы радиомодуля критически важно обеспечить качественное питание. Рекомендуется использовать развязывающий конденсатор емкостью 4,7-47 мкФ между VCC и GND. Это позволит сгладить возможные просадки напряжения при передаче данных.

Программирование NRF24L01 mini на Arduino

Для работы с NRF24L01 на Arduino удобно использовать библиотеку RF24. Она предоставляет простой API для настройки и обмена данными. Пример простой программы для отправки данных:

«`cpp #include #include RF24 radio(9, 10); // CE, CSN pins const byte address[6] = «00001»; void setup() { radio.begin(); radio.openWritingPipe(address); radio.setPALevel(RF24_PA_LOW); radio.stopListening(); } void loop() { const char text[] = «Hello World»; radio.write(&text, sizeof(text)); delay(1000); } «`

Этот код инициализирует радиомодуль, открывает канал для передачи и отправляет сообщение «Hello World» каждую секунду.


Применение NRF24L01 mini в проектах

NRF24L01 mini находит широкое применение в различных проектах, требующих беспроводной связи. Вот несколько популярных областей использования:

  • Домашняя автоматизация: управление освещением, климатом, безопасностью
  • Робототехника: передача команд и телеметрии
  • IoT-устройства: сбор и передача данных с сенсоров
  • Беспроводные геймпады и пульты управления
  • Метеостанции: передача данных с удаленных датчиков

Примером проекта с использованием NRF24L01 может быть система мониторинга температуры в теплице. Несколько датчиков с радиомодулями передают данные на центральный узел, который обрабатывает информацию и управляет системами отопления и вентиляции.

Преимущества и недостатки NRF24L01 mini

Как и любое техническое решение, NRF24L01 mini имеет свои сильные и слабые стороны. Рассмотрим основные преимущества и недостатки этого радиомодуля.

Преимущества:

  • Низкая стоимость
  • Компактные размеры
  • Низкое энергопотребление
  • Высокая скорость передачи данных
  • Простота использования с микроконтроллерами

Недостатки:

  • Ограниченная дальность связи (до 100 м на открытом пространстве)
  • Чувствительность к помехам на частоте 2,4 ГГц
  • Необходимость использования преобразователя уровней при работе с 5В микроконтроллерами
  • Отсутствие встроенного шифрования данных

Несмотря на некоторые ограничения, NRF24L01 mini остается очень популярным выбором для многих проектов благодаря своей доступности и простоте использования.


Альтернативы NRF24L01 mini

Хотя NRF24L01 mini широко распространен, существуют и другие варианты радиомодулей для беспроводной связи. Рассмотрим несколько альтернатив:

  • ESP8266: WiFi-модуль с встроенным микроконтроллером, обеспечивает более высокую скорость и дальность связи
  • HC-12: радиомодуль дальнего действия, работает на частоте 433 МГц, обеспечивает связь на расстоянии до 1 км
  • RFM69: радиомодуль с поддержкой шифрования, работает на частотах 433/868/915 МГц
  • LoRa: технология для передачи данных на большие расстояния с низким энергопотреблением

Выбор конкретного решения зависит от требований проекта: дальности связи, энергопотребления, скорости передачи данных и бюджета.

Советы по оптимизации работы NRF24L01 mini

Для достижения максимальной производительности и надежности при работе с NRF24L01 mini следует учитывать несколько важных факторов:

  1. Используйте качественный источник питания. Стабильное напряжение критически важно для работы радиомодуля.
  2. Применяйте развязывающие конденсаторы для сглаживания помех по питанию.
  3. Минимизируйте длину проводов между микроконтроллером и радиомодулем.
  4. Экспериментируйте с настройками мощности передатчика и скорости передачи данных для оптимального баланса между дальностью связи и энергопотреблением.
  5. Используйте внешнюю антенну для увеличения дальности связи.

Соблюдение этих рекомендаций поможет избежать многих проблем и обеспечит стабильную работу вашего беспроводного устройства.


Заключение

NRF24L01 mini — это мощный и доступный инструмент для организации беспроводной связи в различных проектах. Благодаря своей простоте, компактности и низкому энергопотреблению, он стал популярным выбором среди любителей и профессионалов. Несмотря на некоторые ограничения, этот радиомодуль предоставляет широкие возможности для создания сетей датчиков, систем управления и других интересных устройств.

Освоение работы с NRF24L01 mini открывает новые горизонты в области электроники и программирования, позволяя реализовывать сложные проекты с минимальными затратами. Независимо от того, создаете ли вы домашнюю систему автоматизации или разрабатываете профессиональное IoT-решение, этот радиомодуль может стать ключевым компонентом вашего проекта.


Подключение радио | MySensors

Трансивер NRF24L01+ и RFM69 взаимодействует с платой Arduino через интерфейс SPI.

Важно всегда питать радиостанции от стабильного и бесшумного источника питания 3,3 В, обеспечивающего достаточный ток для вашего устройства, иначе может произойти неустойчивое поведение, ухудшится диапазон и чувствительность.

См. приведенные ниже примечания по использованию регулятора или конденсатора связи.

NRF24L01+ и Arduino

ПРИМЕЧАНИЕ. Входные контакты на NRF24L01+ выдерживают напряжение 5 В. Однако вы не можете подавать на модуль напряжение более 3,3 В на VCC. Если вы используете 5V Arduino, вы должны использовать понижающий регулятор!

Про мини/нано Мега* НРФ24Л01+ Цвет
Земля ЗЕМЛЯ ЗЕМЛЯ Черный
5Vreg -> 3,3 В 3,3 В ВКЦ Красный
9 49 СЕ Оранжевый
10 53 ЧСН/КС Желтый
13 52 СКК Зеленый
11 51
КОПИ/МОСИ
Синий
12 50 КИПО/МИСО Фиолетовый
2 2 IRQ серый

Вывод IRQ требуется подключать только в том случае, если в скетче определен MY_RX_MESSAGE_BUFFER_FEATURE. Использование этой функции рекомендуется для узлов или шлюзов с высоким трафиком. Его включение приведет к повышению пропускной способности, но потребует дополнительной памяти для хранения сообщения в памяти перед обработкой.

(*) Если вы используете Arduino Mega, перед включением MySensors.h необходимо добавить в скетч следующее:

 #define MY_RF24_CE_PIN 49
#define MY_RF24_CS_PIN 53 

NRF24L01+ и ESP8266

Это также работает с другими платами на базе ESP8266, такими как NodeMCU и Wemos D1 Mini.

NodeMCU
Радио Комментарий
Земля ЗЕМЛЯ Черный
3V3 ВКЦ Красный
D2 (GPIO4) СЕ Оранжевый
D8 (GPIO15) ЧСН/КС Желтый
D5 (GPIO14) СКК Зеленый
D7 (GPIO13) КОПИ/МОСИ Синий
D6 (GPIO12) КИПО/МИСО Фиолетовый
Примечание.
В настоящее время IRQ не используется библиотекой MySensors, поэтому его можно не подключать.

RFM69/95 и Arduino

ПРИМЕЧАНИЕ. NSS, COPI/MOSI и SCK не поддерживают 5 В на RFM69. Вам нужно будет использовать преобразователь уровней, если вы используете 5V Arduino.

Ардуино RFM69/95 Цвет
Земля ЗЕМЛЯ Черный
3,3 В ВКЦ Красный
10 НСС Желтый
13 СКК Зеленый
11 КОПИ/МОСИ
Синий
12 КИПО/МИСО Фиолетовый
2 ДИ00 серый
АНА Антенна
РСТ Не используется*
* Модули Adafruit требуют подключения RST к GND или к MY_RFM69. _RST_PIN

RFM69/95 и ESP8266

Это также работает с другими платами на базе ESP8266, такими как NodeMCU и Wemos D1 Mini.

.
ESP8266 RFM69/95 Цвет
Земля ЗЕМЛЯ Черный
3,3 В ВКЦ Красный
D1** (GPIO5) ДИО0 серый
D5 (GPIO14) СКК Зеленый
D6 (GPIO12) КИПО/МИСО Фиолетовый
D7 (GPIO13) КОПИ/МОСИ Синий
D8 (GPIO15) НСС Желтый
АНА Антенна — см. ниже
РСТ Не используется*

* Модули Adafruit требуют подключения RST к GND или к MY_RFM69_RST_PIN

** Для приведенной выше проводки следует использовать следующие определения:

 #ifdef ESP8266.
// Для RFM69
# определить MY_RADIO_RFM69
#define MY_RFM69_FREQUENCY RFM69_433MHZ // Установите здесь частоту
#define MY_IS_RFM69HW // Пропустить, если ваш RFM не "H"
#define MY_RFM69_IRQ_PIN D1
#define MY_RFM69_IRQ_NUM MY_RFM69_IRQ_PIN
# определить MY_RFM69_CS_PIN D8 // NSS. Используйте MY_RFM69_SPI_CS для более старых версий (до 2.2.0)
// Для RFM95
# определить MY_RADIO_RFM95
#define MY_RFM95_IRQ_PIN D1
#define MY_RFM95_IRQ_NUM MY_RFM95_IRQ_PIN
#define MY_RFM95_CS_PIN D8
#endif 

Шлюзы и узлы могут использовать одну и ту же проводку, но имейте в виду, что радио RFM использует все контакты, с которыми легко работать, кроме D2, поэтому подключение чего-либо может быть проблемой. Вместо этого используйте Arduino, если вы хотите подключить что-то.

Настройка MySensors для RFM69

MySensors настроен на использование радио NRF24 по умолчанию. Чтобы использовать RFM69, необходимо добавить следующее перед включением MySensors.h

Базовые определения для не-High Power 868Mhz радио и Atmel 328p mcus (mini pro, nano, uno и т. д.):

 #define MY_RADIO_RFM69 // Определение для использования радио RFM69 

И если вам нужна расширенная конфигурация, вам может понадобиться добавить следующие определения:

 #define MY_RFM69_FREQUENCY RFM69_433MHZ // Определение для настройки частоты. Требуется, если ваш радиомодуль не 868 МГц (868 МГц по умолчанию в lib)
# определить MY_IS_RFM69HW // Обязательно, если у вас радиомодуль версии повышенной мощности (RFM69HW и RFM69HCW), прокомментируйте, если это не так
//#define MY_RFM69_NETWORKID 100 // По умолчанию в lib. Раскомментируйте его и установите предпочитаемый идентификатор сети, если это необходимо. 
//#define RFM69_IRQ_PIN 4 // По умолчанию в библиотеке используется D2 для обычного Atmel 328p (mini pro, nano, uno и т. д.). Раскомментируйте его и установите пин-код, который вы используете. Примечание для Atmel 328p, Mysensors и реализации ядра Arduino доступны только D2 или D3. Но для продвинутых mcus, таких как Atmel SAMD (Arduino Zero и т. д.), Esp8266, вам нужно будет установить это определение для соответствующего вывода, используемого для IRQ.
// # определить MY_RFM69_IRQ_NUM 4 // Временное определение (будет удалено в следующей версии драйвера радио). Необходимо, если вы хотите изменить контакт IRQ, к которому подключено ваше радио. Итак, если ваше радио подключено к D3/INT1, значение равно 1 (INT1). Для других mcu, таких как Atmel SAMD, Esp8266, значение просто совпадает с вашим RFM69_IRQ_PIN.
// #define MY_RFM69_SPI_CS 15 // Если используется другой вывод CS для шины SPI. Используйте MY_RFM69_CS_PIN для ветки разработки. 

Дополнительную информацию об этих определениях можно найти здесь: https://www. mysensors.org/download/sensor_api_20

Примечание. Драйвер Mysensors RFM69 управляется прерываниями.

Антенна RFM69

ВАЖНО: К плате НЕОБХОДИМО прикрепить антенну. Антенна должна быть одножильной внутри, только один провод, а не многопроволочная оплетка, как вы можете найти в обычном кабеле dupont (не подходит для антенны). Помимо того, что передатчики не работают без антенны, передатчики могут быть повреждены, если они передают без антенны.

Обрезав провод нужной длины, вы можете создать простую антенну для вашего RFM69.радио. В зависимости от частоты радио, антенна должна быть разной длины. Немного отрежьте антенну, чтобы было место для ее припайки к плате. Вы всегда можете обрезать его после пайки.

Частота Длина (дюймы) Длина (мм)
434 МГц 6,47″ 164,7 мм
868 МГц 3,22 дюйма 82,2 мм
915 МГц 3,06 дюйма 77,9 мм

Указанная выше длина антенны соответствует 1/4 волны. Также можно купить коммерческие антенны нужной длины.

Наконечники:

  • прямой провод лучше подходит для увеличения дальности и чувствительности.
  • для приложений с ограниченным пространством вы можете свернуть антенну. Конечно, это ухудшит ваш диапазон, но вы все равно можете иметь очень приличный и конкурентоспособный диапазон. До вас, чтобы проверить, что лучше всего подходит для вашего случая. Катушка будет работать лучше, если следовать некоторым правилам https://github.com/OpenHR20/OpenHR20/wiki/2.1)—433-MHz-and-868-MHz—Antenna-Design-Examples

Подключение развязывающего конденсатора

Радиостанции nrf24 чрезвычайно чувствительны к шуму или нестабильной/недостаточной мощности. Вам нужно будет добавить развязывающий конденсатор 4,7 мкФ — 47 мкФ (точный размер обычно не имеет значения, но вы можете попробовать 47 мкФ, если 4,7 мкФ по-прежнему не работает, особенно если отправка данных работает хорошо, а не получение данных) через 3,3 В радио и GND.

Конденсатор Радио Комментарий
— сбоку ЗЕМЛЯ Черная маркировка на радио
+ сторона 3,3 В Красная маркировка на радио

Сторона с маркировкой «< - < -» должна быть подключена к GND

Подключение регулятора напряжения

ПРИМЕЧАНИЕ: выход) вам нужно будет подключить регулятор 5V-> 3.3V между Arduino и радио.

Ардуино Регулятор Радио
Вин
Земля ЗЕМЛЯ ЗЕМЛЯ
Ввых ВКЦ

Name Size # Downloads
nRF24L01P_PS_v1. 0.pdf 1.08 MB 2264
RFM69HW-V1.3.pdf 1.17 MB 4519
sx1231h.pdf 962.48 kB 3041

100pcs electrolytic capacitors
Assorted values. 0,1 мкФ-100 мкФ. Используйте конденсаторы для стабилизации питания радио.

2 в наличии — 14,66 долл. США Купить

В наличии — 2,45 долл. США Купить

10 шт. Антенна 433 МГц
Для модулей RFM69

1 в наличии — 5,39 долл. США Buy

In stock — $24.00   Buy

10pcs 868Mhz Antenna
For RFM69 Modules

1 available — $8.23   Buy

Unavailable   Buy

10pcs 915MHz Antenna
For RFM69 modules

1 available — 7,75 $ Купить

В наличии — 4,87 $ Купить

10шт. Легко паять и/или использовать на макетной плате.

В наличии — 1,15 долл. США Купить

10 шт. NRF24L01+ Беспроводной приемопередатчик 2,4 ГГц
Это то, что позволяет вашим датчикам обмениваться данными по беспроводной связи в номинальном диапазоне 60 метров.

1 в наличии — 14,29 $ Купить

В наличии — 7,08 $ Купить

20 шт. Предупреждение! Очень маленький и трудно паять.

Нет в наличии Купить

В наличии — 1,07 $ Купить

Понижающий модуль AMS1117 5V-3.3V
Регулятор для регулировки питания радио при использовании 5V Arduino Pro Minis. Припой бесплатно.

Недоступно Купить

Недоступно Купить

Логический сдвиг уровня
Двунаправленный логический сдвиг уровня. 5В на 3в3. 4 булавки.

Недоступно   Купить

Недоступно   Купить

NRF24L01+ Плата адаптера разъема
Еще один адаптер для Arduino Pro Mini 5V, который обеспечивает регулируемое питание 3,3 В для радио. Припой бесплатно.

Нет в наличии Купить

В наличии — $2,28 Купить

Приемопередатчик RFM69 433 МГц
Модуль HopeRF RF69. Выберите диапазон частот на aliexpress.

Недоступно Купить

Недоступно Купить

RFM69 Трансивер 868 МГц
HopeRF RF69модуль. Выберите диапазон частот на aliexpress.

Unavailable   Buy

Unavailable   Buy

Shielded nRF24L01 PA+LNA
A shielded nRF24L01 PA+LNA with SMA connector (needs external antenna)

Unavailable   Buy

In stock — $5.10   Buy

Пожалуйста, включите JavaScript для просмотра комментариев. Описание

3-контактное соединение Digispark tiny85 с NRF24L01 mini

Дизайн чертежа

схематическая диаграмма

( 1 / )

печатная плата

( 1 / )

Пусто

ID Имя Обозначение След Количество
1 СМД24Л01+СМД У1 MyNRF24L01SMD 1
2 Дигиспарк У2 ATTINY85 СЛЕД 1
3 0,01 мкФ С1 РАД-0. 1 1
4 Р1 ОСЕВОЙ-0,3 1
5 1N4148 Д1 ДО-35 1
6 ЛЕ33ЧЗ-ТР У4 TO92-ВСТРОЕННЫЙ 1

Развернуть

Приложения к проекту

Участники проекта

0

0

Собрать в альбом

Загрузка.

Добавить комментарий

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