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

Содержание

Подключение nRF24L01 к Ардуино

Подключение модуля nRF24L01 к Arduino позволит сделать беспроводную связь между микроконтроллерами на расстоянии до 30 метров. Рассмотрим, как наладить связь между двумя Ардуино по радиоканалу, чтобы передать данные с аналогового датчика утечки воды и цифрового датчика температуры и влажности DHT11. В первом случае будет передаваться один тип данных, во втором случае два сразу показателя.

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

nRF24L01 один из самых популярных беспроводных модулей для интернета вещей (IoT). Модули стоят недорого, но на их основе можно организовать многоканальную защищенную связь между контроллерами Ардуино и устройствами. Один модуль способен поддерживать связь сразу с шестью приемниками или передатчиками, т.е. можно объединить сразу семь устройств в общую радиосеть на частоте 2,4 ГГц.

Дальность действия модуля сравнима с блютуз модулем HC-05/06, но с помощью nRF24L01 можно создать многоканальную связь. Т.е. можно объединить в общую сеть до 7 устройств, которые могут одновременно принимать и отправлять сигнал. Для начала мы будем передавать данные с датчика воды, но можно использовать и любой другой аналоговый датчик, например датчик температуры на основе LM35.

Распиновка радио модуля nRF24L01+

Подключение nrf24l01 к Arduino MEGA 2560 (Arduino UNO)

Подключение nrf24l01 к Arduino MEGA 2560 (Arduino UNO)

На плате nRF24L01 встроен демодулятор, синтезатор частот и усилитель сигнала. Дальность действия модуля Arduino nRF24L01+ до 30 метров, а в версии с усилителем и антенной до 1000 метров в прямой видимости. Модуль может использовать 127 каналов связи, отличающихся частотой сигнала — от 2,4 ГГц до 2,483 ГГц. Скорость беспроводного соединения можно настраивать: 250kbps, 1Mbps или 2Mbps.

Кроме сложной схемы подключения nrf24l01 к Arduino NANO и MEGA2560, плата требовательна к питанию (так утверждается на многих форумах и сайтах). Поэтому необходимо припаять к портам питания модуля (GND и VCC) конденсатор до 10мкФ — это снизит помехи. Если вы несколько раз проверили подключение и загрузили скетч с этой страницы, но модуль отказывается работать — то все дело в питании.

Чтобы снизить помехи можно использовать керамический конденсатор

Чтобы снизить помехи можно использовать керамический конденсатор

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

Для этого занятия нам потребуется:

  • 2 платы Arduino Uno / Arduino Nano / Arduino Mega;
  • 2 модуля nRF24L01;
  • датчик уровня воды;
  • цифровой датчик DHT11;
  • провода «папа-мама», «папа-папа».

Радиомодуль nRF24L01 datasheet на русском

Радиомодуль nRF24L01 datasheet на русском

Выполнить передачу данных между Arduino по радиоканалу будет намного проще, если у вас плата подключена к отдельному компьютеру или ноутбуку. Тогда сделать отладку скетча будет намного проще и быстрее. До передачи данных по радиоканалу через nRF24L01+, лучше всего проверить каждый модуль скетчем для сканирования — тогда вы будете уверены в правильности подключения и работоспособности модулей.

Скетч для сканирования частот nRF24L01

Пояснения к коду:

  1. программа выводит на последовательный порт информацию о модуле nRF24L01+;
  2. далее выводится информация о всех частотах на которых работает модуль и информацию об их загруженности, выбирайте частоту для работы без помех;

Если скетч успешно загрузился, но вы не видите похожую информацию на мониторе порта, то еще раз проверьте соединение платы с микроконтроллером. Через 10 секунд после получения информации о характеристиках nRF24L01+ вы получите информацию о помехах на всех 127 каналах связи. Первые две строчки — это имена каналов, состоящие из двух символов на первой и второй строке.

Скетч. nRF24L01 передача данных с датчика воды

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

Как подключить к Ардуино nrf24l01 и датчик воды

Модуль работает по интерфейсу SPI, соответственно подключать модуль nRF24L01 следует к определенным портам микроконтроллера (не забывайте, что у Arduino Mega интерфейс SPI находится на других портах). Одну плату нужно настроить, как приемник сигнала (receiver), а второй микроконтроллер, как передатчик (transmitter). После подключения беспроводных модулей к микроконтроллеру, загрузите скетч.

Скетч для передатчика .

Скетч для приемника .

Пояснения к коду:

  1. порты 9 и 10 для подключения nRF24L01 можно поменять, как и канал связи;
  2. данные с аналогового порта A0 отправляются на аппаратный последовательный порт и от передатчика по радио каналу 1 раз в секунду;
  3. если данные с приемника не выводятся на мониторе порта, то первым делом проверьте правильность подключения передатчика.

Скетч. nRF24L01 передача данных с цифрового датчика

Подключение nrf24l01+ к Arduino

Подключение nrf24l01+ к Arduino и датчика DHT11

Источник: xn--18-6kcdusowgbt1a4b.xn--p1ai