Краткое описание
Адаптер модуля NRF24L01 Адаптер исправляет два недостатка радио модулей nRF24L01+: Напряжение питания радио модуля 3,3 В, при этом выход 3.3V arduino может не справиться с питанием радио модуля (наблюдается "п... Читать далее...
- Наличие: Есть в наличии
Адаптер модуля NRF24L01
Адаптер исправляет два недостатка радио модулей nRF24L01+:
Напряжение питания радио модуля 3,3 В, при этом выход 3.3V arduino может не справиться с питанием радио модуля (наблюдается "проседание" напряжения, к которому критично относится модуль). И не на всех arduino есть выход 3.3V, например в 5 вольтовой arduino pro mini, его нет.
Выводы модуля конструктивно выполнены в виде двухрядной колодки и не на всех модулях они подписаны, что затрудняет подключение радио модуля к arduino. Модуль боится переплюсовки. С адаптером проблема эта решается. За счет диода.
Входное напряжение питания адаптера: 4,8 ... 12 В
Модуль NRF24L01
Модуль NRF24L01 позволяет связать приборы радиоканалом передачи данных. С помощью NRF24L01 до семи приборов объединяются в общую радиосеть топологии звезда на частоте 2,4 ГГц. Один прибор в радиосети ведущий, остальные ведомые. При упрощенном рассмотрении модуль приемопередатчика 2,4 ГГц NRF24L01 является конвертером интерфейса SPI в радиосигнал. Берет на себя все функции преобразования проводного интерфейса SPI в радиосигнал, содержит приемник, передатчик и миниатюрную антенну. Специалисту не обязательно знать особенности кодирования модулем данных по радио, достаточно правильно организовать работу SPI и установить настройки каждого модуля работающего в радиомосте.
Основа модуля микросхема nRF24L01+ фирмы Nordic Semiconductor. На плате размещены компоненты необходимые для работы МС и вилка разъема. Установка выходной мощности модуля, каналов радиообмена и настройка протокола производятся через интерфейс SPI. Совместим с модулями nRF2401A, nRF2402, nRF24E1 и nRF24E2.
Применение устройства наиболее актуально для мобильных приборов. Например, можно создать беспроводную связь с пультом управления видеоигрой, джойстиком, компьютерными мышью и клавиатурой. Интересная область применения – управление движущимися системами малой робототехники: колесными и гусеничными платформами, квадрокоптерами. Благодаря NRF24L01 становится возможным решить технические проблемы простой телемеханики и сбора данных с датчиков. Это находит применение в охранно-пожарной сигнализации, в системах «умный дом», устройствах централизованного сбора информации и других.
Характеристики
Питание
Напряжение 1,9–3,6 В
Ток
13,5 мА когда скорость обмена 2 Мбод
11,3 мA если мощность 0 dBм
22 мА пиковое потребление при приеме
Частоты каналов 126
Скорости обмена: 256 Кбод, 1 Мбод, 2 Мбод
Модуляция GFSK
Чувствительность приемника –85 dBм при скорости 1 Мбод
Предельная температура воздуха
работа –40…85 °C
хранение –40…125 °C
Доступны следующие регистры.
CONFIG – настройка прерываний, контрольной суммы, питания и статуса Tx/Rx.
EN_AA – включение и отключение Enhanced ShockBurst ™ на отдельных каналах Rx.
EN_RXADDR – включение и отключение канала Rx.
SETUP_AW – длина адреса.
SETUP_RETR – настройка задержки повтора и количества попыток связаться, если не получено подтверждение приема.
RF_CH – установка радиочастотного канала.
RF_SETUP – настройка скорости передачи по эфиру, выходной мощности и коэффициента усиления.
STATUS – статус битов состояния прерывания, буфер Tx FIFO полный и количество каналов получивших пакеты.
OBSERVE_TX – количество потерянных и повторно переданных пакетов.
CD – обнаружение несущей частоты.
RX_ADDR_Pn – адрес для Rx канала n.
TX_ADDR – адрес назначения передаваемых пакетов.
RX_PW_Pn – величина постоянной нагрузки на Rx канал n.
FIFO_STATUS – статус автоповтора, буфер Tx FIFO полный / пустой, Rx FIFO полный / пустой.
ACK_PLD – полезная нагрузка отправки пакетов ответа, если ответы пакетов включены (записывается с указанием W_ACK_PAYLOAD).
TX_PLD – Тх FIFO (записывается с инструкциями W_TX_PAYLOAD и W_TX_PAYLOAD_NO_ACK).
RX_PLD – Rx FIFO (читается с инструкцией R_RX_PAYLOAD).
DYNPD – включить или отключить функцию динамического расчета полезной нагрузки на каналы Rx.
FEATURE – включение или отключение динамической полезной нагрузки, ACK полезной нагрузки, и селективные функции ACK.
Подключение
Кроме выводов питания контакты линий сигналов могут подключаться к контактам прибора питающегося напряжением 5 В. Такая совместимость обеспечена внутренними цепями микросхемы. При подключении к порту Р0 МК класса 51 нужен подтягивающий резистор 10 кОм, для других портов он не нужен. Входы устройства подключаемого к модулю должны потреблять ток не более 10 мА. Модуль соединяется с микроконтроллером класса AVR без цепей согласования уровней сигналов.
Модуль имеет следующие контакты:
GND – общий провод,
VCC – питание 3,3 В,
CE – включение радиотракта микросхемы высоким уровнем,
CSN – Chip Select Not, активный низкий уровень. Если установлен низкий уровень, то модуль отвечает на SPI команды. Это более важный сигнал выбора МС чем сигнал CE,
SCK – тактирование шины SPI, до 10 МГц,
MOSI – используется для передачи данных от микроконтроллера к устройству,
MISO – для передачи данных из устройства в микроконтроллер,
IRQ – выход сигнала для запроса прерывания при отправке и получении пакета.
Подключение является универсальным и подходит для всех плат Arduino UNO, DUE, MEGA, Леонардо, Yun и подобных. Сигналы SPI выведены на соединитель ICSP микроконтроллерного модуля Arduino. Контакт питания VCC соединяется с контактом стабилизатора Arduino напряжения 3,3 В. Общий провод подключается к контакту GND. Сигналы выбора CE и CSN подключаются к контактам, определенным в библиотеке RF24, например 7 и 8.
Особенности программирования
Для программ Arduino используется библиотека RF24 https://github.com/maniacbug/RF24/ Эта библиотека снабжена большим количеством примеров. При записи программы в Arduino модуль приемопередатчика 2,4 ГГц NRF24L01 нужно отключить от Arduino. Перед первой командой инициализации нужна пауза две секунды после подачи питания. Необходимо сделать публичной функцию RF24::flush_tx в библиотеке RF24 и очищать буфер передачи перед отправкой нового сообщения. По умолчанию модуль работает на передающем канале 76h.