Общие сведения
Радио модуль nRF24L01 (Nordic Radio Frequency 2.4) — предназначен для приёма и передачи данных по радиоканалу, на разрешённом ISM (Industrial, Scientific, Medical) диапазоне радиочастот.
В модуле nRF24L01 данный диапазон разбит на 128 каналов, с шагом 1 МГц: от 2,400 ГГц до 2,527 ГГц. Например, канал 55 означает, что приём и передача будет происходить на частоте 2,455 ГГц. Канал 99 будет передавать/принимать данные на частоте 2,499 ГГц, а канал 0 на частоте 2,400 ГГц.
Модуль позволяет выбрать любой из 128 каналов для приёма и (или) передачи данных. На каждом канале можно сформировать сеть из 6 передатчиков и 1 приёмника.
Характеристики
- Частотный диапазон: ISM (2,400 ... 2,527 ГГц)
- Количество поддерживаемых каналов: 128 (с шагом 1МГц)
- Модуляция: GFSK
- Расстояние между передатчиком и приёмником: до 100 м (в пределах прямой видимости)
- Скорость передачи данных: 0.25, 1, 2 Мб/с (указывается в скетче), на скорости 2 Мб/с используется два канала.
- Мощность передатчика: -18, -12, -6, 0 дБм (указывается в скетче)
- Чувствительность приемника: -82 дБм
- Коэффициент усиления антенны: 2 дБм
- Интерфейс: SPI
- Напряжение питания: 3,3 В (минимально допустимое 1,9 В)
- Напряжение логической «1»: 3,3 ... 5 В
- Потребляемый ток в режиме передачи данных: 11,3 мА (при максимальной мощности передачи 0 дБм)
- Потребляемый ток в режиме приёма данных: 12,3 мА (при максимальной скорости передачи 2 Мб/с)
- Потребляемый ток в режиме энергосбережения:
- Рабочая температура: -40 ... 85 °C
- Габариты: 29х16х14 мм (с учётом колодки выводов)
- Вес: 2 г
Подключение
Для удобства подключения к Arduino воспользуйтесь Trema Shield, Trema Power Shield, Motor Shield или Trema Set Shield.
Модуль подключается к аппаратной шине SPI (выводы: SCK, MOSI, MISO, SS), вход модуля CSN (выбор режима) подключается к любому выводу Arduino, а выход прерывания IRQ не используется (при управлении библиотекой RF24). Модуль поддерживает логические уровни 5 В на информационных выводах, но на выводы питания Vcc и GND подаётся напряжение 3,3 В постоянного тока. Если подключить модуль к напряжению питания 5 В, то он может выйти из строя!
Для подключения модуля nRF24L01 к Arduino, можно воспользоваться адаптером в котором имеется собственный стабилизатор напряжения 3,3 В, а так же подписанная однорядная колодка выводов, позволяющая подключить модуль к Arduino используя однорядный шлейф. Адаптер подключается к напряжению питания 5 В постоянного тока.
nRF24L01 | Arduino Uno/Nano | Назначение |
---|---|---|
CE | 9 (меняется в скетче) | Выбор режима: приёмник / передатчик |
CSN (CS/SS) | 10 (меняется в скетче) | Шина SPI - выбор устройства |
SСK | 13 (SCK) | Шина SPI - линия тактирования |
MOSI | 11 (MOSI) | Шина SPI - линия данных (от мастера к ведомому) |
MISO | 12 (MISO) | Шина SPI - линия данных (от ведомого к мастеру) |
IRQ | Не используется | Прерывание |
nRF24L01 | Arduino Mega | Назначение |
---|---|---|
CE | 9 (меняется в скетче) | Выбор режима: приёмник / передатчик |
CSN (CS/SS) | 10 (меняется в скетче) | Шина SPI - выбор устройства |
SСK | 52 (SCK) | Шина SPI - линия тактирования |
MOSI | 51 (MOSI) | Шина SPI - линия данных (от мастера к ведомому) |
MISO | 50 (MISO) | Шина SPI - линия данных (от ведомого к мастеру) |
IRQ | Не используется | Прерывание |
Питание
Входное напряжение 3,3 В постоянного тока, подаётся на выводы Vcc и GND.
Модуль можно подключить через адаптер, на который подаётся напряжение питания 5 В постоянного тока.
Если подключить модуль, без адаптера, к напряжению питания 5 В, то он может
выйти из строя!
Подробнее о модуле
- Модуль подключается к аппаратной шине SPI.
- Данные передаются по радиоканалу на расстоянии до 100 м в пределах прямой видимости (указано производителем)
- Модулю программно задается роль передатчика или приемника, но в ходе выполнения программы, эту роль можно менять.
- Имеется возможность задавать: мощность передачи (-18 дБм, -12 дБм, -6 дБм, 0 дБм), скорость передачи (250 кб/с, 1 Mб/с, 2 Мб/с), номер канала (0-127), идентификационные номера (5 байт) и т.д.
- Модуль не требует подключения антенны, т.к. она встроена присутствует на ПП модуля.
- Потребляемые модулем токи не превышают 13 мА (как при передаче, так и при приёме).
- Достоверность принимаемых данных обеспечивается передачей циклически избыточного кода CRC
- Реализован функционал контроля доставки данных. Приемник, после успешного получения пакета данных, отправляет передатчику пакет подтверждения приёма. А если передатчик не получил подтверждение от приёмника, то он повторно отправляет пакет данных (этот функционал настраивается в скетче).
Управление
Так как на одном канале могут одновременно «вещать» до 6 передатчиков, то каждому передатчику нужно задать уникальный идентификатор (pipe ID) - идентификатор трубы. А приемнику задаются все идентификаторы труб (pipe ID) тех передатчиков, данные которых требуется принимать. Таким образом у каждого передатчика только один pipe. А приемнику указываются от одного до шести идентификаторов передатчиков (pipe0 - pipe5). По этим идентификаторам приёмник «понимает» данные какого передатчика он получил. Вы сами придумываете номера идентификаторов труб, они состоят из 5 байт. Но есть несколько условий: • идентификатор каждого передатчика на одном канале должен быть уникальным. • приёмнику задаются идентификаторы передатчиков. • идентификаторы передатчикам задаются так, что у приёмника pipe0 и pipe1 могут отличаться всеми байтами, а pipe2 - pipe5 должны отличаться от pipe1 только последним байтом.
Модулям задается не только канал и идентификатор, но и мощность передатчика, скорость передачи данных и т.д.
Комплектация
- 1x Радио модуль nRF24L01;