Модуль беспроводной связи NRF24L01+

Модуль производит приём и передачу сигналов в диапазоне ISM-частот. Весь диапазон разбит на 128 независимых каналов, что позволяет «общаться» устройствам между собой без помех. Шаг канала составляет 1 МГц, а диапазон – от 2.400 до 2.527 ГГц. Так, 27 канал будет работать на частоте 2.427 ГГц, 100 канал – на 2.500 ГГц, а 1 канал – на 2.401 ГГц.

Радиомодуль способен работать на одном канале максимум с шестью передатчиками одновременно и одним приёмником. Но если некоторые устройства будут иметь одинаковые адреса, их количество может быть увеличено.

Дальность NRF24L01+ будет напрямую зависеть от скорости передачи данных. При 1 Мбит радиус действия составит 750 м, при 2 Мбит – 520 м, при 250 кбит – 1.1 км. Данные приведены при отсутствии препятствий на пути сигнала. Максимальная длина передаваемого пакета – 32 байта.

Радиомодуль нельзя подключать к источнику питания в 5 Вольт без понижающего преобразователя и конденсатора, будьте внимательны.

Схема подключения модуля беспроводной связи NRF24L01+

На изображении ниже представлена схема подключения модуля беспроводной связи.

Подключение модуля NRF24L01+
Подключение модуля NRF24L01+

Код для подключения модуля беспроводной связи NRF24L01+

В примере ниже показано, как подключить вывод модуля беспроводной связи NRF24L01+ к контроллеру. Для корректной работы кода нужно установить библиотеку SerialFlow.h.


#include <SerialFlow.h>
SerialFlow rd(9, 10);
const unsigned long data_to = 100;
unsigned long tm, data_next;
void setup(void) {
  rd.setPacketFormat(2, 1);
  rd.begin(0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL);
}
void loop(void) {
  tm = millis();
  if ( tm > data_next ) {
    data_next = tm + data_to;
    rd.setPacketValue( tm );
    rd.sendPacket();
  }
}

Скачать файл с кодом, формат .INO: Модуль беспроводной связи NRF24L01+