Как подключить модуль NRF24L01 к Ардуино

Приобретение модуля NRF24L01 и подключение к Arduino позволяет объединить внутри здания в общую радиосеть до 7 устройств. Контроль и дистанционное управление приборами осуществляются на основе двустороннего обмена данными.

Описание модуля NRF24L01

На базе микросхемы Nordic Semiconductor NRF24L01+ разработано семейство радиомодулей, включающих синтезатор частот, передатчик на 2,4 ГГц, приемник, усилитель сигнала, демодулятор, цифровую логику для организации скоростного интерфейса SPI и обмена данными с подсоединенными устройствами. Датчики, отдельные приспособления и составные части проекта при помощи NRF24 могут устанавливать связь между собой внутри помещений на расстоянии до 30 м и на открытом пространстве — до 100 м.

Микросхема Nordic Semiconductor передает данные со скоростью до 2 Мбит/с, отличаясь от аналогов уменьшенным потреблением тока. Логика чипа может объединить до 7 устройств, одновременно передающих и принимающих сигнал, однако из них одно должно выполнять роль ведущего. Широкому распространению микросхемы в системах автоматики и телеметрии способствует ее относительно невысокая стоимость.

Внешний вид
Внешний вид модуля.

Характеристики

Настройки радиомодуля могут изменяться по протоколу SPI. С его помощью оперативно регулируется мощность передаваемого сигнала и выбирается канал связи. Характеристики модуля:

  • напряжение питания — 3,3 В;
  • 3 скорости обмена информацией — 0,25, 1 и 2 Мбит/с;
  • 127 частот связи с шагом 1 МГц;
  • диапазон рабочих частот — от 2,4 до 2,483 ГГц;
  • работа под управлением операционной системы ISM;
  • аппаратное ускорение протокола ShockBurst;
  • дальность связи на открытой местности — 100 м (сравнима с блютуз HC-05/06);
  • рабочий диапазон температур — -40…+85°С;
  • хранение при температуре — -40…+125°С;
  • совместимость с версиями модуля Nordic 24L, 24E, 24O.

Производитель предусмотрел работу в следующих режимах:

  • чип выключен (Power Down),
  • спящее состояние (Standby);
  • прием информации(RX mode);
  • передача данных (TX Mode).
Максимальное энергопотребление достигается в режиме RX, при получении информации.

Сфера применения

Главной особенностью любого проекта с использованием указанного модуля является возможность коммуникации между его составляющими частями. Это свойство позволяет применять его в таких отраслях:

  • компьютерные сети и системы;
  • автоматизированные комплексы;
  • бытовая электроника;
  • игрушки;
  • регулирующие системы «умного» дома;
  • сигнализация.
Охранная сигнализация
Модуль может использоваться в сигнализациях.

Стабильность параметров микросхемы обусловлено интеграцией точного генератора частот, демодулятора, ВЧ-усилителей. Рабочий диапазон частот занимает интервал 2,4-2,483 ГГц. Расстояние между каналами связи составляет около 1 МГц, нулевой начинается с частоты 2,4 ГГц, а 83 использует 2,483 ГГц. Надежность и стабильность передаваемых данных достигается за счет протокола Enhanced ShockBurst, при котором принимающее устройство подтверждает получение информации.

Распиновка

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

  • GND — подключение земляного провода питания;
  • VCC — подача питающего напряжение +3,3 В;
  • CE — высокий сигнал на этом коннекторе разрешает работу чипа;
  • CSN — сигнал нулевого уровня на этом входе разрешает выполнение команд SPI;
  • SCK — вход тактовой частоты, ее верхний предел 10 МГц;
  • MOSI — получение данных из контроллера;
  • MISO — отправка данных в контроллер;
  • IRQ — аппаратное прерывание.

Версии NRF24L01

Модуль Nordic NRF24L01 производится в нескольких вариантах:

  • базовый;
  • настраиваемый в Arduino с дальностью 100 или 30 м, размером 29х15 мм;
  • мини NRF в Arduino размером 18х12 мм;
  • беспроводной с антенной;
  • с внешней антенной и усилителем, дальность на открытом пространстве — до 1000 м;
  • nrf24le1, работающий автономно, без платы "Ардуино".
Nordic NRF24L01 модуль
Модуль Nordic NRF24L01 — версия NRF24L01.

Варианты подключения к "Ардуино"

Создание радиоканала востребовано при беспроводном соединении двух плат "Ардуино". На базе модуля организуется многоканальная защищенная связь между приемником и передатчиком. Подключение к Arduino осуществляется по различным схемам с учетом низкой скорости передаваемой информации и особенностей работы каждого устройства. Востребовано соединение по шине SPI с использованием программных или аппаратных средств.

На контакты модулей VCC и GND подается питающее напряжение 3,3 В. Контакты модулей MOSI, MISO и SCK соединяются с одноименными пинами платы Arduino. Выводы Slave Select (SS) и Chip Enable (CE) назначаются программно при создании объекта и соединяются с соответствующими пинами Arduino. К плате "Ардуино" модуль присоединяется как напрямую, так и при помощи специального адаптера.

Установка библиотеки RF24

Возможности NRF реализуются функциями библиотеки RF24. Загруженный код распаковывается в каталог "Arduino/libraries". Среда программирования Arduino IDE должна быть перезагружена, если она была открыта в момент установки библиотеки. RF24 допускается инсталлировать из самой IDE таким образом:

  • запускаем среду программирования;
  • переходим в главное меню;
  • спускаемся на 3 уровня вниз "Скетч->Подключить библиотеку->Управлять библиотеками";
  • открываем менеджер библиотек;
  • в поле поиска вводим «RF24»;
  • выбираем новую версию;
  • кликаем «Установить».

На этом подготовка к работе с библиотекой завершена.

Подключение NRF+ к Arduino напрямую

Прямое подключение к "Ардуино" требует согласования уровней питающего напряжения. Большая часть плат работает от +5 В, а для модуля требуется 3,3 В. Кроме того, в модуле отсутствует защита от ошибочного присоединения полюсов. Для увеличения стабильности на входные пины VCC и GND желательно припаять конденсатор на 10 мкФ. Модуль NRF24+ можно напрямую подключать к разным платам микроконтроллеров Arduino UNO, Pro Mini, MEGA2560, изменяя схему соединения коннекторов.

Подключение модуля
Подключение модуля к "Arduino".

NRF+

Arduino UNO/Pro Mini

Arduino MEGA2560

GND

GND

GND

VCC

3,3 В

3,3 В

CE

9

9

CSN

10

53

SCK

13

52

MOSI

11

51

MISO

12

50

IRQ

Подключение к Arduino через адаптер

При подключении через адаптер задействованы среда разработки Arduino IDE и библиотека подпрограмм RF24. При удачном соединении всех коннекторов после запуска проверочного скетча в окне терминала должна появиться строка «Модуль NRF24L01 подключен». Это означает корректные обнаружение и инициализацию модуля подключенной библиотекой.

Программа "Arduino IDE"
Среда программирования "Arduino IDE".
Если на мониторе серийного порта появилась строка «Неизвестный модуль», тогда следует проверить правильность и надежность соединения коннекторов. Максимум ошибок допускается при соединении пина CE (Chip Enable) к выводу 7 Arduino. Пин SS (Slave Select) должен быть подключен к выводу 10 Arduino. Если подключение верное, но модуль не обнаруживается, проверьте тип используемой микросхемы, убедитесь, что модуль собран на базе NRF.

Адаптер NRF+

UNO/Pro Mini

MEGA2560

GND

GND

GND

VCC

5.0V

5.0V

CE

9

9

CSN

10

53

SCK

13

52

MO/MOSI

11

51

MI/MISO

12

50

IRQ

Исходные коды проверочных скетчей расположены по адресу: micro-pi.ru

Адаптер создан для NRF24+ и содержит стабилизатор напряжения 3,3 В. Расположение его выводов обеспечивает удобство при подключении модуля к плате. 2-рядный разъем предназначен для радиомодуля, 1-рядный — для "Ардуино". Несколько пинов обеспечивают доступ к шине питания.

Как работать с радиомодулем в Arduino IDE

Для работы с радиомодулем удобно использовать дополнительные скетчи и библиотеки, ускоряющие разработку и отладку программ в среде Arduino IDE. Упрощают создание кода две библиотеки RF24 и SerialFlow. Первая необходима для работы с радиомодулем, вторая — для управления пакетной передачей данных.

Чтобы осуществлять радиоуправление и передавать информацию, требуется создать объект, производный от класса SerialFlow:
SerialFlow rd(9,10).

Параметры 9 и 10 означают номера свободных пинов "Ардуино", к которым присоединяются выводы CN и CSN. Формат пакетов для передачи устанавливается внутри функции setup: rd.setPacketFormat(2, 1).

Работа с радиомодулем
Работа с радиомодулем в "Arduino IDE".

Первый параметр устанавливает размер передаваемого числа в байтах. То есть значения аргумента должны лежать в пределах от 0 до 655535. Второй параметр указывает на количество чисел.

На следующем этапе производится настройка адресов приемника и передатчика: rd.begin(0xF0F0F0F0E1LL,0xF0F0F0F0D2LL);

Первый параметр содержит адрес передатчика, второй — приемника. Пакеты отправляются в теле функции loop(). Приемник о каждом получении данных, выводимых в окно терминала Arduino IDE, подает сигнал. В памяти сохраняется созданный объект класса SerialFlow и производится настройка параметров пакета данных функцией rd.begin(0xF0F0F0F0D2LL,0xF0F0F0F0E1LL).

Первым указывается адрес приемника, а вторым — передатчика.

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

Питание модуля

Для питания рассматриваемого модуля используется напряжение +3,3 В. Подсоединение осуществляется к пинам стандартно маркированными VCC и GND. Возможно подача питающего напряжения от микроконтроллера "Ардуино", но с применением специального адаптера, понижающего до уровня 3,3 В. Подача 5 В на плату NRF или ошибка полюсов грозит физическим выходом из строя.

Где купить

Nordic продается в любом онлайн-магазине, специализирующемся на электронных компонентах. Для быстрой реализации проектов рекомендуется рассмотреть необходимость покупки дополнительных модулей, оснастки, инструментов. На "Алиэкспресс" можно подобрать комплектующие как по отдельности, так и в наборах, по ценам, отличающимся от предлагаемых в России в 1,5-2 раза. Там можно встретить:

  • модули Nordic со специальным адаптером питания;
  • отдельный преобразователь напряжения для Nordic;
  • шилды к Arduino Nano для скорого монтажа;
  • встроенные в платы чипы Nordic;
  • платы NRF24 +PA +LNA с антенной на 2,4 ГГц;
  • наборы с двумя антеннами;
  • радиомодули с конвертером SPI- I2C.

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

Ссылка на основную публикацию