Как работает радиомодуль 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Этот код инициализирует радиомодуль, открывает канал для передачи и отправляет сообщение «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 следует учитывать несколько важных факторов:
- Используйте качественный источник питания. Стабильное напряжение критически важно для работы радиомодуля.
- Применяйте развязывающие конденсаторы для сглаживания помех по питанию.
- Минимизируйте длину проводов между микроконтроллером и радиомодулем.
- Экспериментируйте с настройками мощности передатчика и скорости передачи данных для оптимального баланса между дальностью связи и энергопотреблением.
- Используйте внешнюю антенну для увеличения дальности связи.
Соблюдение этих рекомендаций поможет избежать многих проблем и обеспечит стабильную работу вашего беспроводного устройства.

Заключение
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.
Радио | Комментарий | |
---|---|---|
Земля | ЗЕМЛЯ | Черный |
3V3 | ВКЦ | Красный |
D2 (GPIO4) | СЕ | Оранжевый |
D8 (GPIO15) | ЧСН/КС | Желтый |
D5 (GPIO14) | СКК | Зеленый |
D7 (GPIO13) | КОПИ/МОСИ | Синий |
D6 (GPIO12) | КИПО/МИСО | Фиолетовый |
Примечание.![]() |
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.![]() |
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 и радио.
Ардуино | Регулятор | Радио |
---|---|---|
5В | Вин | |
Земля | ЗЕМЛЯ | ЗЕМЛЯ |
Ввых | ВКЦ |
Name | Size | # Downloads |
---|---|---|
nRF24L01P_PS_v1.![]() | 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 МГц
Для модулей RFM691 в наличии — 5,39 долл. США Buy
In stock — $24.00 Buy
10pcs 868Mhz Antenna
For RFM69 Modules1 available — $8.23 Buy
Unavailable Buy
10pcs 915MHz Antenna
For RFM69 modules1 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модуль.
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 |
4 | 1к | Р1 | ОСЕВОЙ-0,3 | 1 |
5 | 1N4148 | Д1 | ДО-35 | 1 |
6 | ЛЕ33ЧЗ-ТР | У4 | TO92-ВСТРОЕННЫЙ | 1 |
Развернуть
Приложения к проекту
Участники проекта
0
0
Собрать в альбом
Загрузка.