Модуль NRF24L01 2.4 ГГц радио/беспроводные передатчики и Arduino

Давайте начнем с тех возможностей, которые откроются перед вами, если вы обеспечите беспроводной обмен данными между двумя платами Arduino:

  • Удаленное снятие показаний с датчиков температуры, давления, систем сигнализации на основе пироэлектрических датчиков движения и т.п.
  • Беспроводное управление и мониторинг состояния роботов на расстоянии от 50 2000 футов.
  • Беспроводное управление и мониторинг помещений в соседних домах.
  • И т.д. и т.п. В общем, практически все, что требует беспроводных систем управления и мониторинга...
  •     
  • Существует целая серия радио модулей 2.4 ГГц, которые созданы на базе чипа Nordic Semiconductor nRF24L01+ (более детальная информация на английском языке) Nordic nRF24L01+ включает в себя 2.4 ГГц RF трансивер, логику, которая поддерживает высокоскоростной SPI интерфейс для подключения и обмена данными. Маломощный, с небольшой дальностью действия (200 футов или около того) передатчик для Arduino со встроенной антенной можно приобрести  на алиэкспресс за US $1.55 NRF24L01 без антенны  и так же с внешней антенной NRF24L01 + скручиваемая антенна за 2.82 долл  .  Альтернативная ссылка http://ali.pub/2h4tag 
  • Ссылки для заказа необходимого оборудования из Китая - выделены синим .

  • Проблемы с питанием NRF24L01

    У многих возникают проблемы при запуске модуля nRF24L01. В основном это связано с тем, что в модуле питания 3.3 В не предусмотрена необходимая сила тока. Решение проблемы следующее:

    • Подключите конденсатор на 3.3 или 10 мкФ (микрофарад) напрямую к модулю - от 3.3 В (+) к GND (-). Некоторые рекомендуют использовать 10 мкФ или больше.
    • Отдельный источник питания на 3.3 В.
    • Использовать совместимый с Arduino YourDuinoRobo1, на котором добавлен регулятор 3.3 В (в этом случае, возможно, стоит добавить конденсатор на 1 мкФ на радиомодуль).
    • Старайтесь максимально избегать дополнительных проводов при подключении модуля радиопередатчика.
    • Разработать отдельную плату, на которую устанавливается модуль nRF24L01 и добавляются конденсаторы на 1 и 10 мкФ неподалеку от контактов 3.3 В и GND.

    Проблемы с питанием возникают при использовании таких микроконтроллеров как, например, Arduino Uno, Nano, Mega, в которых на пины подается всего 50 мА. На некоторых новых модификациях плат делают пины с силой тока до 350 мА. Ну или вы можете отдельно приобрести шилды для увеличения мощности.

    Рабочее расстояние NRF24L01

    Расстояние зависит от внешних условий. То есть: находитесь вы в помещении или на улице, есть ли препятствия на пути сигнала от радиопередатчика. Большинство производителей модулей nRF24L01 с маленькой мощностью передатчика указывают расстояние его действия 200 футов или 100 метров. Это характеристика передатчиков, которые используются на открытом воздухе, без препятствий на пути сигнала. Частота передатчика настроена на 2500 кГц. Внутри помещений, из-за наличия стен и других преград расстояние срабатывания будет меньше.

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

    Если вы хотите более детально ознакомится с техническими характеристиками этого маленького "радио", можете скачать даташит. Самые полезные страницы: 7, 8, 9 (общая характеристика и особенности радиопередатчика nRF24L01) и страница 39 (MultiCeiver, который дает возможность передавать информацию с 6 плат Arduino на основной (Primary) Arduino).

    Существуют дополнительные модули для трансмиттера/ресивера (передатчика/приемника), которые обеспечивают беспроводную радиопередачу на расстояния до 1 км! Эти модули используют внешнюю антенну, которая может устанавливаться непосредственно на модуль или антенна, которая подключается с помощью дополнительных коннекторов. На фото ниже приведены несколько разновидностей модулей.

    Слева маломощная версия передатчика со встроенной антенной. Справа вы можете увидеть нижние контакты (на фото они сверху), которые подключаются к Arduino. Схему подключения мы рассмотрим позже.


    На фото ниже показаны трансмиттер с возможностью подключения внешней антенны и сама антенна. Для подключения радиопередатчика к Arduino используются те же 8 контактов и тот же софт.


     

    Трансивер использует частоту 2.4 ГГц, как и большинство современных WiFi роутеров, телефонов.

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

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

    Подключение NRF24L01 к Arduino (вид сверху):



    Подключение NRF24L01 к Arduino (вид снизу):     

    СигналКонтакт на модуле RF
    Цвет кабеля
    Пин на модуле
    Контакт на Arduino (библиотека TMRh20,RF24)
    Контакт на Arduino (библиотека RF24)Контакт на Arduino (библиотека Mirf)Контакт MEGA2560 (библиотека RF24)Контакт Arduino (библиотека RH_NRF24 RadioHead)Контакт MEGA2560 (библиотека RH_NRF24 RadioHead)
    GND1
    КоричневыйGNDGNDGNDGNDGNDGNDGND
    VCC2КрасныйVCC3.3 V3.3V3.3V3.3V3.3V3.3V
    CE3ОранжевыйCE798988
    CSN4ЖелтыйCSN8107531053
    SCK5ЗеленыйSCK131313521352
    MOSI6СинийMO111111511151
    MISO7ФиолетовыйMI121212501250
    IRQ8СерыйIRQ-2Зависит от библиотеки
    N/CN/C

    Обратите внимание! Большинство проблем при передаче возникает из-за шумов от источника питания 3.3 В. Особенно это чувствуется при использовании плат Arduino Mega. Решить эту проблему можно следующим образом: добавить в схему конденсатор между контактом GND и 3.3 В на радио модуле. Можно использовать конденсаторы номиналом 100 нФ. Некоторые ставят конденсаторы номиналом от 1 пкФ до 10 пФ.

    Цвета приведены для удобства кодировки. Вы можете использовать их иначе. Главное, не запутаться.

    Обратите внимание, что модули подключаются к 3.3 В, а не 5.0 В, хотя ваш Arduino при этом может работать и от 5 В. NRF24L01+ IC рассчитан на питание от 3.3 В, но контакты выдержат и питание 5 В.

    На платах Arduino Uno и более ранних версиях есть выход 3.3 В, который можно использовать для некоторых версий передатчиков (смотрите в статье выше - проблемы с питанием). Но если вы используете более мощные передатчики, на них надо подавать отдельное питание на 3.3 В.

    nRF24L01 - софт и библиотеки

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

    Библиотека TMRh20's RF24 Library.

    Скачать ее можно здесь (Кнопка "Download ZIP" в нижнем правом углу страницы).

    После загрузки ZIP архива, на вашем ПК появится архив RF24-master.ZIP. Измените название архива на RF24.ZIP. Внутри архива находится папка с тем же названием RF24-master. Ее тоже переименуйте в RF24.

    Для начинающих разбираться в Arduino, есть отличная инструкция по установке библиотек в Arduino IDE.

    После установки библиотек, вы можете запускать примеры, включенные в библиотеку.


                                                                    Подписывайся на Geek каналы :

    ➤ VK - https://vk.com/denis_geek

    ➤ VK - https://vk.com/club_arduino

    ➤ VK - https://vk.com/chinagreat

    ➤ VK - https://vk.com/solar_pover

    ➤ VK - https://vk.com/my_vedroid

    ➤ VK - https://vk.com/3dprintsumy

    ➤ Youtube - http://www.youtube.com/c/Denisgeek  



    ★ Моя партнёрка с Aliexpress ★

    http://ali.pub/1j9ks1 

    ★ Получай 10.5% скидку с любой покупки на Aliexpress! ★

    http://ali.pub/1lx67o

    ★ Полезное браузерное приложение для кэшбэка  ★

  • Модуль NRF24L01 2.4 ГГц радио/беспроводные передатчики и Arduino

Похожие статьи

Подключаем к Arduino купюроприёмник  ,вендинговый автомат своими руками  ?

Подключаем к Arduino купюроприёмник ,вендинговый автомат своими руками ?

Полезная статья с некими наработками из "интырнетов" для согласования и подключения купюрников к Ардуино .

В данном материале мы рассмотрим примеры подключения, код , а так же вариации купюроприёмников и протоколы подключения 




 Подключение OLED I2C дисплея с размером экрана 0,96″ и разрешением 128*64 точек к плате Arduino UNO.

Подключение OLED I2C дисплея с размером экрана 0,96″ и разрешением 128*64 точек к плате Arduino UNO.

Сегодня мы рассмотрим подключение OLED I2C дисплея с размером экрана 0,96″ и разрешением 128*64 точек к плате Arduino UNO.

Подключаем к ардуино датчик сердечного ритма и Oled дисплей \ Arduino Heart Rate Monitor

Подключаем к ардуино датчик сердечного ритма и Oled дисплей \ Arduino Heart Rate Monitor

Этот простой и недорогой проект основан на плате анализатора MAX30100 , для визуализации использован  0,91-дюймовый OLED-дисплей, чтобы сообщать о частоте сердечных сокращений и уровне оксигенации.

Оба используемых устройства имеют двухпроводной интерфейс I2C что сокращает количество проводов для подключения и так же упрощает схему .

Рекомендуемые товары

Набор датчиков для ардуино 37 в 1 arduino sensors kit 37 in 1

Набор датчиков для ардуино 37 в 1 arduino sensors kit 37 in 1

В "Набор датчиков для Ардуино" входит 37 различных модулей и датчиков для решения любых за..

450грн.

ARDUINO starter kit набор ардуино для новичков в пластиковом боксе!

ARDUINO starter kit набор ардуино для новичков в пластиковом боксе!

Данный комплект поможет вам на практике ознакомиться с основными принципами использования Ардуи..

350грн.

Arduino Mega 2560 Ардуино мега Mega2560 R3 ch340 atmel atmega2560  (разъем MICRO USB )

Arduino Mega 2560 Ардуино мега Mega2560 R3 ch340 atmel atmega2560 (разъем MICRO USB )

Arduino Mega построена на микроконтроллере ATmega2560 (техническое описание). Плата имеет 54 ци..

300грн.