Site Language

Translate

Danish Dutch English French German

Радиомодуль NRF24L01

Если нам необходимо соединить два Arduino-устройства, очень популярным и бюджетным вариантом будет использование беспроводных модулей NRF24L01. Малое энергопотребление, достойный радиус действия и низкая цена — вот основные качества радиомодуля NRF24L01. Это позволяет ему конкурировать с устройствами Xbee и Bluetooth.

 Радиомодуль NRF24L01 Радиомодуль NRF24L01 
 CashBack 1ePN Cashback - сервис, который возвращает часть денег с покупок, сделанных в интернет магазинах, представленных в ePN Cashback  

Характеристики радиомодуля NRF24L01:

 напряжение питания — от 1,9 до 3,6 вольт DC;

 ток потребления:

 пиковый ток при 2 Мбит — 12,5 мА;

 рабочий ток — 11 мА;

 режим ожидания — 32 мкА;

 скорость передачи — до 2 Мбит, интерфейс SPI;

 125 каналов связи, скачкообразная перестройка частоты;

 поддержка многоточечной связи, аппаратный контроль ошибок;

 встроенная антенна 2,4 ГГц;

 встроенный стабилизатор напряжения;

 количество PIN — 10;

 радиус действия — 100 метров (на открытом пространстве);

 размер — 33×14 мм;

 вес — до 10 г.

 

Если вам нужно большее расстояние передачи, можно использовать модуль с внешней антенной , при этом расстояние передачи может составить до 1000 м со скоростью 250 Кбит/с (или 500 м со скоростью до 2 Мбит/с).

 Назначение выводов модуля NRF24L01
 Назначение выводов модуля NRF24L01

 

Библиотека для работы с модулем NRF24L01

 

Набор функций, предоставляемых модулем NRF24L01, поддерживает библиотека Mirf. Скачать библиотеку можно с официального сайта Arduino по ссылке http://playground.arduino.cc/InterfacingWithHardware/Nrf24L01.

 

Arduino и беспроводной радиомодуль NRF24L01
Arduino и беспроводной радиомодуль NRF24L01

Используемые контакты модуля NRF24L01:

 12 — MOSI;

 11 — MISO;

 13 — SCK;

 8 — CE;

 7 — CSN.

Подключение NRF24L01
Подключение NRF24L01

 

Параметры библиотеки Mirf

 

 Mirf.csnPin — пин CE (по умолчанию 9);

 Mirf.cePin — пин CSN (по умолчанию 7);

 Mirf.payload — размер буфера в байтах (по умолчанию 16, максимум 32);

 Mirf.channel — номер радиоканала 0–127 (по умолчанию 0).

 

Функции библиотеки Mirf

 

Функция init()

Функция init() инициализирует модуль, устанавливает значения для настраиваемых контактов и инициализирует модуль SPI.

Синтаксис: Mirf.init()

Параметров нет.

 

Функция setRADDR()

Функция setRADDR() устанавливает адрес получателя.

Синтаксис:

Mirf.setRADDR(byte *addr)

Параметр: addr — адрес получателя.

 

Функция setTADDR()

Функция setTADDR() устанавливает адрес отправителя.

Синтаксис:

Mirf.setTADDR(byte *addr)

Параметр: addr — адрес получателя.

 

Функция config()

Функция config() устанавливает определенные в параметрах номер канала

Mirf.channel и емкость буфера Mirf.payload.

Синтаксис: Mirf.config(). Параметров нет.

 

Функция dataReady()

Функция dataReady() определяет, есть ли данные для получения.

Синтаксис:

Mirf.dataReady()

Параметров нет.

Возвращаемые значения:

 true — есть данные для получения;

 false — нет данных для получения.

 

Функция getData()

Функция getData() получает данные из буфера размером Mirf.payload.

Синтаксис:

Mirf.getData(byte *data)

Параметр: data — указатель на массив для получения данных.

 

Функция send()

Функция send() отправляет данные.

Синтаксис:

Mirf.send(byte *data)

Параметр: data — указатель на массив данных.

 

Функция isSending()

Функция isSending() определяет, отправляются данные или нет.

Синтаксис:

Mirf.isSending()

Параметров нет. Возвращаемые значения:

 true —– данные отправляются;

 false — данные не отправляются.

 

Пример соединения двух плат Arduino с помощью модуля NRF24L01

 

Радиомодули NRF24L01 подключаются к микроконтроллеру по SPI-интерфейсу. Для работы требуется напряжение в диапазоне от 1,8 до 3,6 вольт, впрочем, входы/выходы выдерживают до 5 вольт, поэтому при подключении к пятивольтовым устройствам дополнительные согласующие цепи ставить нет необходимости. Подключаем к платам Arduino по схеме, приведенной в таблице.

 

Контакты модуля NRF24L01

Контакты платы Arduino

MISO

12

MOSI

11

SCK

13

CE

8

CSN

7

3,3 В

3,3 В

GND

GND

 

Напишем скетч, отправляющий данные, полученные по последовательному порту, из одной платы Arduino в другую через модуль NRF24l01. Код скетча представлен в примере.

Sketch code

#include <SPI.h>

#include <Mirf.h>

#include <nRF24L01.h>

#include <MirfHardwareSpiDriver.h>

#define MAX_BUFF 32 // Буфер приема-передачи

void setup(){ Serial.begin(9600);

Mirf.spi = &MirfHardwareSpi; Mirf.init();

Mirf.setRADDR((byte *)"module1"); // Здесь задаем адрес

Mirf.payload = MAX_BUFF; // Здесь задаем буфер Mirf.channel = 10;

// Это канал приема-передачи - должен

// быть одинаковым у устройств. Mirf.config();

Serial.println("Start..");

}

 

char buff[MAX_BUFF]; int c_count = 0;

void loop(){ int i;

//sending

if (c_count = Serial.available()) { if (c_count <= MAX_BUFF) {

for (i=0; i<c_count; i++) { buff[i] = Serial.read();

}

} else {

for (i=0; i<MX_BUFF; i++) { buff[i] = Serial.read();

}

}

buff[i] = 0;

Mirf.setTADDR((byte *)" module2"); //Адрес! Serial.print(">");

Mirf.send((uint8_t *)buff); while(Mirf.isSending()){

}

Serial.println(buff);

}

delay(10);

//receiving if(Mirf.dataReady()) { Mirf.getData((uint8_t *)buff); Serial.print("<"); Serial.println(buff);

}

delay(100);

}

 

 

 

Загружаем скетч в одну из плат Arduino.

 

Для другой платы в скетче меняем строки:

Mirf.setRADDR((byte *)"module1"); // Здесь задаем адрес

Mirf.setTADDR((byte *)" module2"); // Адрес!

 

на следующие:

Mirf.setRADDR((byte *)"module2"); // Здесь задаем адрес

Mirf.setTADDR((byte *)" module1"); // Адрес!

Запускаем монитор последовательного порта для первой платы и видим обмен данными по беспроводному соединению между ними.

 

Отправка/получение данных через NRF24L01 (первая плата)
Отправка/получение данных через NRF24L01 (первая плата)

 

Отправка/получение данных через NRF24L01 (вторая плата)
Отправка/получение данных через NRF24L01 (вторая плата)

 

Скачать библиотеку для RF24:  RF24.zip

Скачать библиотеку для RF24: RF24.zip

Плата расширения L293D, ИК-датчик VS1838B, TFT LCD, Модем M590E GSM GPRS, "монитор TFT LCD, датчик движения HC-SR501, ИК-пульт дистанционного управления, Радиомодуль NRF24L01, SD Card Module, Звуковой модуль, 5-axis stepper motor driver, Шаговый двигатель, Модем M590E GSM GPRS, 5-axis stepper motor driver, Часы реального времени DS 3231/DS 1307, терморегулятор W1209 DC, Релейный модуль, датчик движения HC-SR501, Модуль Wi-Fi ESP8266-12E, датчик движения HC-SR501, Передатчик и приемник в диапазоне RF 433 Mhz, Блок питания, L293D, Микросхема контроллера коллекторного электродвигателя, ИК-пульт дистанционного управления, Датчики контроля температуры, Радиомодуль NRF24L01, OKI 120A2, Rotary Encoder, SD Card Module, Беспроводной пульт дистанционного управления, Микросхема контроллера коллекторного электродвигателя, Модуль Bluetooth HC-06,, Модем M590E GSM GPRS, Часы реального времени DS 3231/DS 1307, Mini 360 на схеме LM2596, MP3-TF-16P, L293D, Модуль LCD монитора, Инфракрасные датчики расстояния, Часы реального времени, USB Host Shield, HC-SR501, Cветочувствительный датчик сопротивления, блок питания Mini 360 на схеме LM2596, ЖК-дисплей TFT дисплей, Контроллер L298N, HC-SR501, Модуль MP3 Player WTV020, GSM GPRS, Сервоприводы, Модем M590E GSM GPRS, Часы реального времени DS 3231/DS 1307, Модуль Wi-Fi ESP8266-12E, Инфракрасные датчики расстояния, Card Module, Ультразвуковые дальномеры HC-SR04, Блок питания, Карта памяти SD, Mini 360, Ethernet shield, L293D, блок питания Mini 360 на схеме LM2596, Радиомодуль, датчик температуры DS18B20, ИК-пульт дистанционного управления, USB конвертер UART, ИК-пульт, Антена для модуля WiFi, Ethernet shield, Модуль блока питания XL6009, Микросхема контроллера коллекторного электродвигателя, Модуль качества воздуха MQ-135, Микросхема контроллера коллекторного электродвигателя, ИК-пульт дистанционного управления, SD Card Module, Радиомодуль NRF24L01, двигатель OKI, 5-axis stepper motor driver, L293D, TB6560, Драйвер шагового двигателя TB6600, Шаговый двигатель, Модуль камеры, Блок питания, L293D, блок питания Mini 360 на схеме LM2596, 5axis mach3 interface, Карта памяти SD, Ethernet shield, Контроллер L298N, датчик движения HC-SR501, Модуль Wi-Fi ESP8266-12E, Модуль LCD монитора LCD1602, Шаговый двигатель OKI 120A2, Шаговый двигатель, Шаговый двигатель.

All Vintage Vinyl Records VinylSU.xyz

1.png2.png3.png4.png5.png

РУБИКОН Группа «Мозаика», ИЕРОГЛИФ ГРУППА «ПИКНИК», В ПОЛЁТ ГРУППА «ТЯЖЕЛЫЙ ДЕНЬ», Группа «Алиса», Бенни Гудмен, Равноденствие ГРУППА «АКВАРИУМ», Элтон Джон Твоя песня, Демон Группа «Август», Deep Purple – The House Of Blue Light, «Лед Зеппелин» Led Zeppelin, «Акцепт», Doors, «Металлика», АНСАМБЛЬ „UB 40", группа «Зоопарк», рок-группа «ЗОДИАК», «Браво», «Кино», Rolling Stones «Роллинг стоунз», РОК-ГРУППА «МАШИНА ВРЕМЕНИ»,«Кокто твинз», Группа «ДИАЛОГ», Bill Evans, Джимми Лансфорд, Флетчера Хендерсона, Дюк Эллингтон, Каунт Бейси, АНСАМБЛЬ "THE MOODY BLUES", Элвис Пресли, "Юнона" и "Авось" , Дж. Верди Реквием G.Verdi Requiem Mass, Элтон Джон, Реджинальд Кеннет Дуайт, АББА, ABBA, “Deep Purple”, «ЧЕЛОВЕК С БУЛЬВАРА КАПУЦИНОВ», “Rolling Stone”, Instrumrutal rock group Zodiac,‘‘Long Tall Ernie and The Shakers”, “The Beatles”, "Tom Fcgerty and The Blue Velvets", "Creedruce Clearwater Revival","Greru River" "Bayou Country", "Willy and The Poorboys", Varnishing Day Songs on Ilya Reznik's lirics , Leo Sayer ЛЕО СЕЙЕР, Boney M,"Waiting For The Sun", Doors «ДОРЗ», "Piper At The Gates Of Dawn", Led Zeppelin ? «ЛЕД ЗЕППЕЛИН», Rolling Stones , "Юнона" и "Авось" Опера Либретто, «РОЛЛИНГ СТОУНЗ», Modern talking,"Aftermath", «ДОМ ГОЛУБОГО СВЕТА», "Out Of Our Heads", Ricchi E Poveri, PINK FLOYD «Пинк Флойд», Vladimir Kuzmin, ПОЛ МАККАРТНИ Paul McCartney, «TWruTY FLIGHT ROCK», Creedruce Clearvater revival Traveling band,«LAWDY. MISS CLAWDY», «BRING IT ON HOME TO ME», Light My Fire,«DON'T GET AROUND MUCH ANY MORE», МУЗЫКАЛЬНЫЙ ТЕЛЕТАЙП-3,«I'М GONNA BE A WHEEL SOME DAY», МОДЕРН ТОКИНГ,«AINT THAT A SHAME», «THAT'S ALL RIGHT (МАМА)», АНСАМБЛЬ UB 40, «JUST BECAUSE», МИГЕЛЬ РАМОС, «SUMMERTIME», "АНСАМБЛЬ "THE MOODY BLUES", «CRACKIN UP», ТНЕ СОММОDORES, «MIDNIGHT SPECIAL», АННА ГEРМАН, Deep Purple «ДИП ПЁРПЛ», „Deep Purple in Rock", Андрей Миронов, Олег Табаков, Михаил Боярский, Николай Караченцов, Альберт Филозов, Олег Анофриев, Игорь Кваша, Леонид Ярмольник, ИЛЬЯ РЕЗНИК , Резанов Николай Петрович, ВЛАДИМИР ВЫСОЦКИЙ, Роджер Уотерс, АЛЕКСАНДР РОЗЕНБАУМ, Ричард Райт и Ник Мэйсон, ВЛАДИМИР КУЗЬМИН, Элвис Аарон Пресли, Leo Sayer, АДРИАНО ЧЕЛЕНТАНО, Билл Эванс, Клаудия Мори....

и это еще не конец.

С уваженим Dron!