RF24L01 2.4GHz Радио / Беспроводные приемопередатчики How-To

 
 

RF24L01 2.4GHz Радио / Беспроводные приемопередатчики How-To

Распечатай эту страницу
ОБНОВЛЕНИЯ: (Комментарии, Critique to terry@yourduino.com )

Наличие двух или нескольких ардуинов в состоянии общаться друг с другом по беспроводной сети на расстоянии открывает множество возможностей:

  • Дистанционные датчики температуры, давления, аварийных сигналов и многое другое
  • Управление роботом и мониторинг с расстояния 50 футов до 2000 футов
  • Дистанционное управление и мониторинг соседних или соседних зданий
  • Автономные транспортные средства всех видов

Это серия недорогих 2.4 ГГц радиомодулей, которые основаны на микросхеме Nordic Semiconductor nRF24L01 +.
nRF24L01-PA-LNA-ANT.jpg
(Подробнее) Nordic nRF24L01 + интегрирует полный радиочастотный трансивер с частотой 2,4 ГГц, RF-синтезатор и базовую логику, включая ускоритель аппаратного протокола Enhanced ShockBurst ™, поддерживающий высокоскоростной интерфейс SPI для контроллера приложений. Маломощный короткодействующий (50-200 футов или около того) трансивер доступен на плате с интерфейсом Arduino и встроенной антенной менее чем за 3 доллара! Существует также мощная версия (справа).

Модули nRF24L01 (слева направо)

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

nRF24L01-5.jpg nrf24l01-socket-8-pin.jpg

Нажмите изображения для получения более подробной информации и примерных цен. Широко доступен на Ebay, Amazon.

Ниже приведены несколько наборов с несколькими версиями nRF24L01.

  • 3 недорогих nRF24L01 со встроенной антенной, 2 базовых модуля (слева)
  • 2 High Power nRF24L01 с внешними антеннами, плюс 1 недорогой nRF24L01, 2 базовых модуля (справа)

nRF-Kit-1-1024.jpg nRF-Amp-Kit-1-1024.jpg

Примеры соединений Arduino с nRF24L01 (таблица контактов с цветами ниже):

2RoboR-Nrf-1-1024.jpg
Низкомощные nRF24L01s с базовыми модулями, подключенными к YourDuino RoboREDs

ЗАМЕТКА! Если вы используете базовый модуль, включите его с 5V, а не 3.3, как на этих фотографиях ...
RoboR-nRF-cable-1-1024.jpgnRF-Base-Cable-1-1024.jpg ЗАМЕТКА! Если вы используете базовый модуль, включите его с 5V, а не 3.3, как на этих фотографиях ...

ЗАМЕТКА! Проблемы с питанием:

У многих пользователей возникли проблемы с работой модулей nRF24L01. Много раз проблема заключается в том, что мощность 3,3 В для модуля не имеет достаточной мощности тока, или текущие перенапряжения вызывают проблемы. Вот предложения:
nrf24l01-socket-8-pin.jpg

  • Используйте библиотеку RF24 от TMRH20 (ниже) и установите низкое энергопотребление для минимизации требований к питанию: radio.setPALevel (RF24_PA_MIN); Пропустите две радиостанции примерно на метр. После того, как у вас все будет работать, и если вы знаете, что у вас достаточно 3.3 В тока (до 250 мА или более), попробуйте более высокую мощность. Возможности: RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH и RF24_PA_MAX
  • Подключите конденсатор от 3,3 мкФ до 10 мкФ (MicroFarad) непосредственно от модуля от 3,3 В до Gnd (часы + и -!) [Некоторые пользователи говорят, что 10 мкФ параллельно с 0.1uF лучше) Это особенно важно, если вы подключаетесь модуль с перемычками. Или вы используете обычный Arduino UNO, который обеспечивает только 50 мА при 3,3 В
  • Используйте совместимую с Arduino UNO совместимость с вашим программным обеспечением, которая имеет дополнительный регулятор 3,3 В (но добавьте конденсатор .1 мкФ на радиомодуль).
  • Есть также хорошие недорогие базовые модули, такие как THIS (RIGHT), которые вы можете подключить к модулям nRF24L01. Они имеют встроенный регулятор 3,3 В. И хорошие конденсаторы байпаса мощности. Вы также можете найти их на Ebay и т. Д. Они упрощают работу и надежную работу.
  • Отдельный источник питания 3,3 В (может быть, этот?)
  • Если вы проектируете печатную плату, к которой подключается модуль, добавьте конденсаторы .1uf и 10uf, близкие к контактам GND и 3.3V. См. Схему базовой платы, показанную справа на этой странице. В качестве примера.

Эти проблемы с неустойчивостью особенно заметны, когда мощность 3,3 В поступает от UNO, MEGA, Nano и т. Д., Которая имеет только 50 мс мощности 3,3 В. Более новые платы, такие как YourDuinoRoboRED, имеют доступную 350 мА или более и могут работать даже с мощными модулями напрямую.

nRF24L01 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ И БИБЛИОТЕКИ: (Перейти вперед, если вы готовы к этому ...)

Ассортимент

Диапазон очень сильно зависит от ситуации и намного больше с четким видом зрения на открытом воздухе, чем в помещении с эффектами стен и материалов. Обычное расстояние, указанное разными поставщиками для маломощного модуля версии с одним чипом, составляет 200 футов или 100 метров. Это относится к открытым спайааааам между устройствами, работающими со скоростью передачи данных 250 кГц. В помещении диапазон будет меньше из-за стен и т. Д. Пример с radio.setPALevel (RF24_PA_LOW); будет всего 10 футов или около того. Но надежный. Вы можете сделать это, чтобы получить лучший диапазон:

  1. Убедитесь, что у вас хорошая мощность 3,3 В (не просто UNO, Mega и т. Д. На USB-питании). Вы можете использовать отдельный источник питания 3,3 В, или базовый модуль с питанием от 5 В, который имеет регулятор 3,3 В, или устройство для воспроизведения видеоизображения.
  2. После того, как у вас будет хорошая мощность 3,3 В, установите для RF «Power Amplifier Level» значение MAX. Например: radio.setPALevel (RF24_PA_MAX); Или сначала попробуйте выполнить промежуточные настройки: RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH и RF24_PA_MAX
  3. Установите radio.setDataRate (RF24_250KBPS); Достаточно быстро .. Лучшая дальность
  4. Установите radio.setChannel (108); 2.508 Ghz - выше большинства каналов Wi-Fi

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

Ссылка на nRF24L01 + Лист данных. Вам не обязательно, но если вы хотите больше узнать о том, что вы можете сделать с этим «маленьким» радио, загрузите лист данных. В частности, вы можете прочитать страницы 7-8-9 («Обзор и функции») и стр. 39 (MultiCeiver, который позволяет 6 Arduinos организовывать организованный диалог с Первичным Arduino). К счастью, продукты на уровне платы мы заботимся о многих физических и электрических деталях и Согласовании импеданса антенны и т. Д., И эта библиотека заботится о множестве инициализации и операционных данных.

Существуют и другие типы модулей nRF24L01, которые добавляют усилители мощности передатчика и предусилители приемника на большие расстояния .. до 1 км (3000 футов). Смотрите их всех здесь. В этих модулях используется внешняя антенна, которая может быть простой непосредственно подключенной или подключенной к кабелю антенной с большим коэффициентом усиления или направленности. Вот что некоторые из них выглядят так:
nRF24L01-3.jpg nRF24L01-4.jpg

Выше - версия с малой мощностью, с встроенной зигзагообразной антенной. Справа вы можете видеть, что булавки торчат (вверх на этой фотографии), которые соединяются с Arduino. Позже мы покажем распиновку. ЗАМЕТКА!! Различные библиотеки используют разные распиновки от nRF24L01 до Arduino !!

nRF24L01-LN-PA-2.jpg nRF24L01-LN-PA-1.jpg nRF-Amp-Cable-1-1024.jpg
Выше представлена ​​версия с усилителем мощности передачи и предусилителем приема. Наша недорогая антенна находится на корпусе посередине. Те же 8 контактов соединяются с Arduino и базовым модулем. Используется одно и то же программное обеспечение. Справа находится антенна, подключенная к кабелю 3M. Соединители - «Обратный SMA».

Вы можете найти аналогичный кабель ЗДЕСЬ
Вот ссылка на дизайн антенны Home-Brew:

Эти трансиверы используют нелицензированную полосу 2,4 ГГц, например, многие WiFi-маршрутизаторы, BlueTooth, некоторые беспроводные телефоны и т. Д. Диапазон составляет от 2,400 до 2,525 ГГц, что составляет от 2400 до 2525 МГц (мегагерца). Расстояние между каналами nRF24L01 составляет 1 Mhz, что дает 125 возможных каналов с номером 0 .. 124. WiFi использует большинство нижних каналов, и мы предлагаем использовать самые высокие 25 каналов для проектов nRF24L01.

Трансиверы, подобные этим, одновременно отправляют и принимают данные в «пакетах» из нескольких байтов за раз. Существует встроенная коррекция ошибок и повторная отправка, и возможно одновременное связывание одного устройства с 6 другими аналогичными устройствами. Сетевая библиотека RF24 расширяет ее до нескольких «слоев» взаимосвязанных приемопередатчиков.

Эти удивительные недорогие устройства обладают большой внутренней сложностью, но некоторые талантливые люди написали библиотеки Arduino, которые делают их легкими для нас. Все они используют одну и ту же разводку, как показано на следующей диаграмме: TOP VIEW (Correction!):
24L01Pinout-800.jpg

NRF24L012_BottomView.jpg
ВИД СНИЗУ


Ниже приведены сведения о Pinout и соединениях с Arduino (обновлено):

сигнал

Радиочастотный модуль

ШТЫРЬ

кабель

ЦВЕТ

«Базовый модуль»

ШТЫРЬ

Булавка Arduino для

TMRh20

Библиотека RF24

Булавка Arduino для

Библиотека RF24

Булавка Arduino для

Мирф Библиотека

Контакт MEGA2560

Библиотека RF24

Arduino Pin для

RH_NRF24

Библиотека RadioHead

Вывод MEGA2560 для

RH_NRF24

Библиотека RadioHead

GND

1

коричневый

GND

GND

GND *

GND

GND *

GND *

GND *

VCC

2

красный

VCC

3,3 В

3,3 В *

3.3V

3,3 В *

3,3 В *

3,3 В *

CE

3

оранжевый

CE

7

9

8

9

8

8

CSN

4

желтый

CSN

8

10

7

53

10

53

SCK

5

зеленый

SCK

13

13

13

52

13

52

MOSI

6

синий

Миссури

11

11

11

51

11

51

MISO

7

Фиолетовый

Мичиган

12

12

12

50

12

50

IRQ

8

Серый

IRQ

-

2

 

за библиотеку

N / C

N / C

  • ЗАМЕТКА!! Большинство проблем с прерывистой работой связаны с недостаточным током или электрическим шумом на блоке питания 3,3 В. MEGA - это больше проблема с этим. Решение: объединительные конденсаторы ADD через GND и 3.3V включены в радиомодули или используйте базовые модули, показанные выше. Один из пользователей сказал: «Просто припаяйте кепку 100nF через штырь gnd и 3.3v прямо на модули nrf24l01 +!» Некоторые использовали конденсатор 1uF to 10uF.
  • ПРИМЕЧАНИЕ. Контакт 8 IRQ не используется большинством программного обеспечения, но в библиотеке RF24 есть пример, который его использует.

ЦВЕТ предназначен для дополнительного цветного плоского кабеля, такого как ЭТО. Приведенные выше примеры показывают пример.

ПРИМЕЧАНИЕ. Эти разъемы VCC-соединения должны переходить на 3,3 В, а не на 5,0 В, хотя сам Arduino может работать на 5.0 В, и сигналы будут в порядке. NRF24L01 + IC - это устройство на 3,3 В, но его выводы ввода-вывода имеют тонус 5 В, что упрощает взаимодействие с Arduino / YourDuino.
Arduino UNO и более ранние версии имеют выход на 3,3 В, который может работать с маломощными версиями этих модулей (см. Раздел «Проблемы с электропитанием» в верхней части этой страницы!), Но версии с мощными мощностями должны иметь отдельную поставку 3.3 В или использовать Базовый модуль с регулятором 3,3 В. У YourDuino RoboRED есть более мощный регулятор мощности 3,3 В и может использоваться для запуска мощного модуля усилителя мощности без отдельного регулятора 3.3 В.

nRF24L01 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ И БИБЛИОТЕКИ:

Ниже мы покажем пример программного обеспечения для передачи и получения, и на странице загрузки библиотеки RF24 есть много примеров. Вам понадобится библиотека программного обеспечения для запуска радиостанций nRF24L01. Многие люди добились усовершенствования библиотек RF24. TMRH20 (Кто он / она, во всяком случае?) Отлично поработал над существующими библиотеками и сетевыми дополнениями. Есть много деталей, но вы можете игнорировать многие из них, о которых позаботится библиотека.

Получите отличную RF24-библиотеку TMRh20, которая поддерживает как Arduino, так и RaspberryPi:

ЗАМЕТКА!! Если у вас установлена ​​более ранняя версия библиотеки RF24, ПОЛНОСТЬЮ УДАЛЯЙТЕ ЭТО и установите эту версию.

Читайте об этом и загружайте его ЗДЕСЬ: (Нажмите «Загрузить ZIP» в верхнем правом углу страницы)
Прочтите подробную документацию ЗДЕСЬ
Прочтите его БЛОГ с продвинутыми проектами ЗДЕСЬ
После того, как вы загрузили ZIP, вы увидите папку с именем RF24-master.ZIP. Измените имя этого файла на RF24.ZIP. Дважды щелкните по ZIP, и вы увидите папку внутри так называемого RF24-master. Переименуйте это только на RF24.

Затем см. Нашу страницу об установке библиотек. ЗДЕСЬ:
Когда у вас установлена ​​библиотека, вы можете запустить несколько примеров. Ниже мы рассмотрим отдельные команды (методы) в библиотеке RF24 и покажем, как использовать их для создания простой системы приема-передачи. Но чтобы вы начали, предлагаем начать с одного из примеров в библиотеке RF24 от TMRh20. См. Эту страницу:

https://github.com/TMRh20/RF24/tree/master/examples Когда вы устанавливаете библиотеку RF24, эти примеры загружаются на ваш компьютер. Вам не нужно их загружать.

ЗАМЕТКА! Если вы используете Arduino MEGA:

Это отлично работает с Arduino MEGA. Вам просто нужно добавить строку команд (в установочной строке): pinMode (53, OUTPUT);
Таким образом, все примеры, приведенные на этом веб-сайте или в библиотеке, будут работать с подключением к контактам 7 и 8, как указано, просто добавьте режим OUTPUT для вывода 53 (SS) при использовании Arduino MEGA.

Мы предлагаем вам начать, гм, «GettingStarted». Вам нужно настроить два ардуинов, на которых изображены два nRF24L01, как на фотографии выше. Однако разделите их на 5 футов или около того. , Вы можете запустить два экземпляра IDE Arduino на одном компьютере с двумя nRF24L01 на отдельных USB-устройствах с отдельным COM #. Я предлагаю эту последовательность:

  1. Подключите один nRF24L01 к вашему первому Arduino в соответствии с таблицей abou (используйте соединения столбцов библиотеки RFR TMRh20 RF24).
  2. Запустите Arduino IDE .. подключите первый Arduino с USB. Найдите номер COM (Инструменты> Порт) и выберите его.
  3. Загрузите пример GettingStarted (<Файл> Примеры> RF24>) и убедитесь, что он компилируется ОК. ЗАГРУЗИТЬ к вашему Arduino
  4. Откройте последовательный монитор (с правой стороны, если темно-зеленая полоска) и установите значение 115200. Закройте его и снова откройте. Тебе следует увидеть:
  5.   RF24 / примеры / GettingStarted
     *** PRESS 'T', чтобы начать передачу на другой узел 
  6. Соедините второй nRF24L01 со вторым Arduino с такими же соединениями в соответствии с приведенной выше таблицей.
  7. Начните еще один экземпляр Arduino IDE .. соедините второй Arduino со вторым USB-кабелем. Найдите номер COM (Инструменты> Порт) и выберите его.
  8. Загрузите пример и убедитесь, что он компилируется ОК. ЗАГРУЗИТЬ к вашему Arduino
  9. Откройте последовательный монитор (с правой стороны, если темно-зеленая полоска) и установите значение 115200. Закройте его и снова откройте. вы должны увидеть тот же вывод.
  10. Закройте Serial Monitor, посмотрите код во втором окне IDE и измените одну строку, чтобы выглядеть так:
  11.  / ****************** Пользовательская конфигурация *************************** /
     / *** Установите это радио как радио номер 0 или 1 *** /
     bool radioNumber = 1 ;
    
    
  12. Загрузите эту версию во второй Arduino.
  13. Теперь откройте окна Serial Monitor и введите «T» в верхней части первого окна Arduino.
  14. Вы должны увидеть что-то вроде:
  15.   RF24 / примеры / GettingStarted
     *** PRESS 'T', чтобы начать передачу на другой узел
     *** ИЗМЕНЕНИЕ ПЕРЕДАЧИ РОЛИ - НАЖМИТЕ «R» ДЛЯ ПЕРЕКЛЮЧЕНИЯ НАЗАД
     Теперь отправка
     Отправлено 523513060, Получил ответ 523511232, Задержка между проходами 1828 микросекунд
     Теперь отправка
     Отправлено 524519544, Получил ответ 524517728, Задержка между проходами 1816 микросекунд 

И другое окно Serial Port должно выглядеть так:

  RF24 / примеры / GettingStarted
 *** PRESS 'T', чтобы начать передачу на другой узел
 Отправленный ответ 523511232
 Отправленный ответ 524517728
 Отправленный ответ 525521620

Вы можете отменить действия по типу R на передающей стороне, а затем T на противоположной стороне.

ОК? Вы всегда можете вернуться к этому тесту, когда ситуация перестанет работать. ПРИМЕЧАНИЕ. См. Раздел «ПРОБЛЕМЫ ПИТАНИЯ» выше, если ничего не работает!

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

См .: Другие примеры. Эскизы в верхней части этой страницы. Также см. Очень хороший пример Робин на ЭТОЙ СТРАНИЦЕ.

Читатель найдет более подробную информацию и дополнительные примеры здесь.

RF24 LIBRARIES: информация, документация, сеть, сетка и многое другое! TMRH20 был занят!

Библиотека RF24 : главная страница. Загрузите ZIP-файл справа
Библиотека RF24, подробная документация
RFLC Library CLASS Documentation (сведения о функциях и их действительных параметрах)
Примеры библиотек RF24 Многие примеры возможностей библиотеки RF24
Сетевая система RF24 Многоузловая сетевая библиотека
Библиотека RF24 для сетей с сеткой Библиотека сети Mesh
Библиотека RF24 для передачи аудио

RF24 LIBRARIES: обычно используемые команды (методы):

ПРИМЕЧАНИЕ. Если хотите, см. ВСЕ детали ЗДЕСЬ.
Мы попытаемся понять команды по настройке и эксплуатации радиостанции nRF24L01 и составим очень простой рабочий пример.
Сначала мы рассмотрим минимум, необходимый для настройки и передачи или получения данных. Позже мы напишем более полные примеры и заставим их работать с реальными радиоприемниками ..

СОЗДАТЬ И ЗАПУСК РАДИО (для передачи или получения):

RF24 (uint8_t _cepin, uint8_t _cspin) Создайте радиоприемник и установите контакты Arduino, которые будут использоваться для CE и CS)

ПРИМЕР: (Создайте экземпляр радиостанции, указав контакты CE и CS).
RF24 myRadio (7,8); «myRadio» - это идентификатор, который вы будете использовать в следующих примерах

ПРИМЕЧАНИЕ . Следующие контакты фиксированы и неизменяемы. И Vcc (напряжение питания должно быть 3,3 В)
SCK к контакту 13 Arduino
MOSI для булавки Arduino 11
MISO - контакт Arduino 12

ПРИМЕЧАНИЕ . Во всех следующих командах вы должны использовать одно и то же идентификационное имя, которое вы использовали в заявлении RF24, которое создало радио. myRadio » в примере выше). Вы будете использовать этот идентификатор, за которым следует (точка), за которым следует метод (команда), за которым следуют параметры. Это «объектно-ориентированное программирование». OBJECT в этом случае является Радио, и есть много МЕТОДОВ, которые могут работать с Объектом. МЕТОД очень похож на функцию или подпрограмму.

ПРИМЕР: myRadio.begin (); Запустить настоящий радиомодуль с помощью метода «начать»

ПРИМЕЧАНИЕ: «ТРУБЫ»: это часто путает. nRF24L01 использует «трубы», которые соединяются от передатчика к приемнику. У труб есть адрес, который вам нужно установить. Труба передатчика должна иметь тот же адрес, что и трубка приемника. Позже можно использовать сразу несколько «труб»


ПРИМЕР ПОЛУЧЕНИЯ ДАННЫХ:

myRadio.openReadingPipe (1, const uint8_t * address) Номер трубы (обычно 1), адрес трубы (обычно это 5 байтов в структуре массива).

ПРИМЕР:
байтовые адреса [] [6] = {"1Node"}; Создать адрес для 1 трубы.
myRadio.openReadingPipe (1, адреса [0]); Используйте первую запись в адресах массива (только 1 прямо сейчас)

MyRadio. startListening (); Включите приемник и прослушайте полученные данные. Вы ДОЛЖНЫ открыть трубу чтения FIRST.

if ( myRadio.available ()) Проверить доступные входящие данные от передатчика
{
while (myRadio.available ()) Пока есть готовые данные
{
myRadio.read (& myData, sizeof (myData)); Получите полезную нагрузку данных (вы, должно быть, уже определили это!)
}
myRadio.stopListening (); прекратить слушать


ПРИМЕР ПЕРЕДАЧИ ДАННЫХ:
байтовые адреса [] [6] = {"1Node"}; Создать адрес для 1 трубы.
myRadio.openWritingPipe (1, адреса [0]); Используйте первую запись в адресах массива (только 1 прямо сейчас)

myRadio.writ e ( & myData, sizeof (myData) )


Этими методами мы написали рабочие примеры эскизов передачи и получения. Смотрите их ЗДЕСЬ

УСТАНОВИТЕ НЕКОТОРЫЕ ДРУГИЕ ОПЕРАЦИОННЫЕ ВАРИАНТЫ И ПАРАМЕТРЫ:

ПРИМЕЧАНИЕ. Многие из этих методов имеют значения по умолчанию, которые вы обычно можете использовать.

radio.printDetails ();
Распечатывает много информации об отладке.


radio.setDataRate (RF24_250KBPS);
скорость RF24_250KBPS для 250 кбит / с, RF24_1MBPS для 1 Мбит / с или RF24_2MBPS для 2 Мбит / с. 250K бит в секунду дает самый длинный диапазон.


radio.setPALevel (RF24_PA_MAX);
Установите уровень мощности усилителя (PA) на один из четырех уровней: RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH и RF24_PA_MAX
Уровни мощности соответствуют следующим выходным уровням соответственно: NRF24L01: -18dBm, -12dBm, -6dBM и 0dBm
0 дБм равно 1 милливатт. Каждые 3 дБ составляют соотношение 2: 1. 6 дБ составляет 4: 1 10 дБ составляет 10: 1. Таким образом -18 дБм составляет 0,0000158489 Вт!
Чтобы рассчитать весь этот дБм-материал (который нам нравится старым радиотехническим инженерам) См. ЭТО ..
Модули nRF24L01 с высокой мощностью, такие как THIS, имеют коэффициент усиления 100, поэтому их выход составляет +20 дБм (100 милливатт)

radio.setChannel (108);

Какой радиочастотный канал для связи, 0-124 Может работать на частотах от 2,400 ГГц до 2,524 ГГц.
Программирование разрешения частоты канала составляет 1 МГц
Это та же самая нелицензированная группа WiFi работает (WiFi использует от 2,400 до 2,500 гГц). Обычно частоты выше канала 100 являются лучшими.
ПРИМЕЧАНИЕ. В большинстве стран допустимые частоты составляют от 2,400 ГГц до 2,483,5 ГГц, которые вы не должны превышать. В США лучше всего использовать каналы от 70 до 80.

Вы можете сканировать каналы в своей среде, чтобы найти канал, который ясен ... См. Этот эскиз сканера.


radio.enableDynamicPayloads ();

Включить полезную нагрузку пользовательской длины в пакетах подтверждения. Полезные нагрузки Ack - это удобный способ вернуть данные отправителям без ручного изменения режимов радиопередач на обоих устройствах.


radio.setRetries (15,15);

Установите количество и задержку попыток при неудачной передаче. P араметры:
delay: Как долго ждать между каждой попыткой, в кратных 250us, max равно 15. 0 означает 250us, 15 означает 4000us.
count: Сколько попыток до сдачи, максимум 15


radio.setCRCLength (RF24_CRC_16);

длина: RF24_CRC_8 для 8-бит или RF24_CRC_16 для 16-разрядной проверки циклического избыточности (проверка ошибок)


НОВОСТИ: RaspberryPi теперь поддерживается! Мне нужно показать рабочий пример ... Фу ...

RadioHead: очень полнофункциональная библиотека с поддержкой разных радиостанций, а не только nRF24L01:

http://www.airspayce.com/mikem/arduino/RadioHead/index.html

Еще один интересный пример: Чат между радио:
https://github.com/stanleyseow/RF24/tree/master/examples

ЗДЕСЬ - еще один хороший пример How-To от Robin на arduino.cc

--------------------- (КОПИРОВАНИЕ: сообщение для людей, имеющих проблемы с nRF24L01) ------------------- -

nRF24L01 Прерывистый / Нет работы.

ВСЕГДА проверяйте питание 3.3 В. Многократная периодическая работа связана с проблемами регулирования электропитания. Несмотря на то, что средний ток может быть меньше 15 мА, по-видимому, происходят быстрые переходные процессы, когда происходит каждый пакет передачи. Первые примеры в библиотеке RF24 TMRH20 имеют низкую мощность, и это не проблема.
У меня были проблемы с nRF24L01. Работал один день / одна минута, провалился следующий. Теперь я положил конденсатор 0.1uf и 10uf прямо с GND на 3.3V штырьки на модули, и все намного лучше. Отличным решением является базовый модуль, показанный в верхней части этой страницы.

Эти модули предназначены для подключения к основной плате, которая обычно имеет значительные байпасные конденсаторы. Если у вас есть на концах перемычек, вам нужны дополнительные байпасные конденсаторы.
Попробуйте и сообщите нам об этом!
----------------- (КОНЕЦ КОПИРОВАНИЯ) ----------------------

 
It’s time for us to say farewell… Classroom and Free Wikis are closing Soon!
Find out more about the full Wikispaces Site Closure HERE

 

Добавить комментарий

Обратная связь

Интересуют вопросы реализации алгоритмов, программирования, выбора электроники и прочая информация, постараюсь осветить в отдельных статьях

пишите мне на netdm@mail.ru