Мой вариант подключения и проверки радиомодуля NRF24L01

Мой вариант подключения и проверки радиомодуля NRF24L01

Всем доброго времени суток, в этой статье я постараюсь максимально доходчиво объяснить как подключить радиомодуль NRF24L01 к плате Arduino UNO, при этом сделать унифицированной не только конфигурацию железа, но и сам скетч, который будет впоследствии залит в UNO.

Итак, начинаем. В интернете много людей интересуется, как правильно подключить данный радиомодуль к плате Arduino UNO, у многих возникают вопросы как сделать это попроще. Мною было прочитано много статей, и я постарался сделать свой уникальный вариант подключения модуля NRF24L01.

Не буду вдаваться в подробности какие виды этих радиомодулей бывают, об этом будет отдельная статья. Всё просто - вы купили радиомодули NRF24L01, теперь применим их, и проверим их работу.

Для начала, уточню - работать мы будем с библиотекой RF24.h, эта библиотека довольно таки гибкая, содержит больше примеров и функционала чем библиотека Mirf.h(о ней тоже в отдельной статье). Так используем же её основные функции. Что нам понадобится? Всё то что указано в списке:

  1. Плата Arduino UNO x2
  2. Радиомодуль NRF24L01 x2
  3. Светодиоды x4
  4. Резисторы 220 Ohm x4
  5. Резисторы 10k x2
  6. Простые кнопки x2
  7. Touch Sensor x2
  8. Соединительные провода

Touch Sensor - это емкостная кнопка(на принципиальной схеме это S2), реагирующая на касание пальцем, у меня были именно две такие, и поэтому я решил их использовать. Но если у вас таких нет можно взять обычные, придется немного переделать скетч и схему подключений. Сразу нужно привести распиновку модуля NRF24L01, модули эти как я уже писал бывают нескольких типов, но распиновка у всех одинаковая. Подробная распиновка на рисунке ниже, показывает, где какие контакты, далее будет приведена таблица подключения к Arduino UNO.

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

В нижеследующей таблице указано подключение радиомодуля к Arduino UNO. Цвета проводов при подключении соответствуют цветам на картинке с принципиальной схемой.

Arduino UNONRF24L01Цвет провода3V3Питание 3,3ВОранжевыйGND"Земля"Синий9СЕЖелтый10SCNЗеленый13SCKФиолетовый11MOSIКоричневый12MISOОранжевый

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

Когда два идентичных прибора будут собраны, приходит время залить скетч в оба. После скетча я сделаю некоторое разъяснение как работает программа, ну а пока, сам скетч:

Вкратце опишу, как работает собранное устройство. Когда включается устройство, то сразу после инициализации переходит в режим радиоприёма, то же самое касается и второго устройства. При нажатии и удержании в нажатом состоянии кнопки S1, включается светодиод LED2(Смотрите принципиальную схему выше), который означает переход устройства в режим передачи. Если, при нажатой кнопке S1, нажать на сенсорную кнопку S2, то на другом устройстве загорится светодиод LED1, сигнализирующий об успешном приёме данных с радиопередатчика.

Таким же способом можно проверить и второе устройство, в общем я постарался сделать унифицированный скетч и принципиальную схему для двух устройств приёмо/передачи. На самом деле, библиотека RF24 содержит более расширенный функционал, чем тот что применен в моей статье, но об этом будет написано в другой теме.

И еще напоследок, испытание этих двух приборов в полевых условиях(плотная бетонная застройка жилого района), показала довольно таки неплохой результат - 150 метров уверенного приёма/передачи. Хотя на открытой местности, как заявляет производитель модулей NRF24L01, сигнал должен покрывать расстояние в 1000 метров без проблем, да, я забыл сказать что мной были использованы модули с внешней антенной и встроенным усилителем. Тот модуль что показан на принципиальной схеме выше, уверенно покрывает расстояние в 20 метров.

Небольшая ложка дегтя - для тех кто захочет повторить схему. Модули NRF24L01 не очень дружат с платой Arduino Nano, всё из-за просадки напряжения в 3.3 вольт на плате Nano. Можно припаять полярный конденсатор номиналом 47mf * 25V к разъёмам питания платы(об этом можно прочитать на многих форумах по электронике), но этот решение малоэффективно. Как вариант, использовать силовые шилды для Arduino Nano, либо пользоваться платой Arduino Uno.

📎📎📎📎📎📎📎📎📎📎