Вернуться в Программирование. Сейчас этот форум просматривают: Google [Bot] и гости: 1. RoboCraft Форум по робототехнике, электронике и программированию Пропустить. В начале пробовал пользоваться библиотекой Mirf, но даже пробные примеры не заработали.
Поиск данных по Вашему запросу:
Схемы, справочники, даташиты:
Прайс-листы, цены:
Обсуждения, статьи, мануалы:
Содержание:
- 2.4GHz RF библиотека RF24
- Радиомодуль nRF24L01+ и arduino. Подключение и пример передачи данных
- Подключение Arduino nrf24L01
- NRF24L01 Прямая связь Библиотека Логика
- NRF24L01 2. 4 ГГц радио/беспроводные передатчики и Arduino
Модуль nRF24L01: описание, распиновка - nRF24L01+ : побеждаем модуль.
- Подключение модуля nRF24L01+ к Arduino — соединяем две arduino по радиоканалу
- Arduino Радиосеть?
ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: How To Build an Arduino Wireless Network with Multiple NRF24L01 Modules
При разработке электронных устройств нередко возникает потребность в передаче каких-либо данных на некоторое расстояние. Например термодатчик, расположенный на улице, должен передавать значение температуры центральному устройству, а датчик движения — отдавать команду на включение сирены, расположенной в отдельном помещении.
Подобных задач существует множество, как и методов их решения. В тех случаях, когда организовать проводную связь не представляется возможным, на помощь приходят радиомодули NFR24L01, работающие в диапазоне частот 2. Их простота и надёжность обеспечила модулям огромную популярность среди радиолюбительских конструкций.
NFR24L01 можно встретить в таких устройствах, как:. В общем, область применения данных радиомодулей ограничивается лишь фантазией разработчика, а их невысокая стоимость является приятным дополнением к прочим достоинствам. Как видно из вышеприведенного рисунка, комплектация платы является базовой и содержит сам чип, штыревую колодку и антенну в виде извилистой дорожки.
Такой набор обеспечивает дальность связи до м при прямой видимости или до 30м в помещении. В таком случае дальность связи можно увеличить до м. Организация питания радиомодулей требует повышенного внимания, так как большинство начинающих пользователей сталкивается с проблемами при их запуске.
Как следствие, наблюдаются сбои в работе радиосвязи. Исключить эту неприятную ситуацию поможет электролитический конденсатор, ёмкостью около мкФ. Дополнительная ёмкость поможет сгладить пульсации при старте и обеспечит достаточный запас энергии. Ещё одним вариантом решения проблемы запуска, является использование дополнительного адаптера со встроенным стабилизатором напряжения.
В таком случае для NRF24L01 можно использовать внешнее питание от 4. Организация сети на одном канале: 7 модулей 1 приёмник и 6 передатчиков. Единственное что потребуется — указать их номера при написании скетча. Что касается программирования, то для взаимодействия с NRF 24 L 01 существует несколько библиотек, но наиболее популярной и стабильной является библиотека RF Как правило, большинство любительских проектов начального уровня предусматривают использование двух модулей NRF 24 L 01 , один из которых работает в режиме передатчика, а другой как приёмник на одинаковой частоте.
Но что делать, когда на одном канале необходимо контролировать сразу несколько датчиков, например температуру в разных комнатах? В этом случае, функциональные возможности радиомодуля NRF 24 L 01 предусматривают возможность организации мини-сети. А именно, на одной частоте или канале могут работать до 6 передатчиков и 1 приёмник. Каждый идентификатор представляет из себя произвольное число, состоящее из 5 байт, но он должен задаваться по определённым правилам, а именно:. На одном и том же канале идентификатор каждого передатчика должен быть обязательно уникальным;.
Чтобы приёмник мог принимать данные от передатчиков, ему должны быть указаны их идентификаторы;. Для закрепления материала, создадим проект, где 2 платы Arduino будут соединены между собой по радиоканалу. К первой Arduino подсоединим потенциометр, а ко второй — светодиод.
Путём вращения ручки потенциометра будем регулировать яркость светодиода по радиоканалу. Программный код для передатчика:. Как видно из вышеприведенного кода передатчика и приёмника, в обоих случаях задаётся одинаковая мощность и скорость обмена данными. Для этих целей используются предопределённые литерные константы.
Рассмотрим значение каждой из них в паре со своей функцией. Так как основной областью применения радиомодулей NRF 24 L 01 являются различные системы удалённого мониторинга, создадим небольшой проект, суть которого передавать по радиоканалу температуру и влажность с датчика DHT На стороне приёма данная информация будет выводиться на символьный LCD -дисплей 16х2.
Arduino 1 будет один раз в 2 секунды считывать показания датчика DHT 11 и отправлять данные по радиоканалу на Arduino 2 , которая выведет их на дисплей. В данном проекте использован символьный ЖКИ-дисплей с конвертером I 2 C , что позволяет использовать всего 2 провода для его подключения. Также понадобятся несколько библиотек для работы с датчиком влажности и самим дисплеем по шине I 2 C. Скачать их можно по приведенным ниже ссылкам:. Ниже приведены 2 скетча с комментариями для передатчика и приёмника.
Программный код для приёмника:. При повторении проекта может возникнуть проблема с выводом информации на экран дисплея. Дело в том, что дополнительные модули, предоставляющие интерфейс I 2 C могут иметь различные адреса.
В моём случае адрес дисплея на шине равен 0 x Определить адрес вашего дисплея можно специальным скетчем-сканером шины I 2 C. Найти его на просторах Интернета не составит никакого труда.
Каждые 10 секунд получаем показания влажности воздуха и температуры на плате Arduino с датчика DHT11 и передаем по радиоканалу на другую плату Arduino для отображения на дисплее. Выбираем мощность передатчика, скорость передачи, канал 0x RF24 m24l01 7, 8 ;.
Вопрос: Почему на некоторых каналах дальность связи резко уменьшается? Ответ: Частотный диапазон, в котором работают данные радиомодули является довольно распространённым. В этой полосе частот работают также wifi-роутеры, Bluetooth-устройства и даже некоторые СВЧ-печи. Весть этот промышленный шум может препятствовать прохождению сигналов на некоторых каналах.
При обнаружении подобных проблем рекомендуется просто сменить канал связи на другой.
Вопрос: Как прописать в коде приёмника получение данных с нескольких передатчиков? Ответ: Для этого необходимо указать уникальный ID каждого передатчика, который будет вещать на частоте приёмника, например.Вопрос: Сам модуль питается от 3,3В , а Arduino от 5В. Насколько необходим преобразователь уровней при подключении модуля к Arduino по SPI -шине? Ответ: Преобразователь уровней не требуется, так как информационные входы радиомодуля NRF 24 L 01 толерантны к напряжению 5В. Вопрос: Какое количество байт можно отправить в буфер передатчика за один раз?
Ответ: За один сеанс можно отправить в буфер 32 байта. База знаний. Вконтакте Instagram YouTube. Радио модуль NRF24L Беспроводная связь.
Обзор беспроводного модуля NRF24L01, его технические характеристики, подключение к Arduino и пример использования. Быстрый просмотр. Радио модуль 2. NFR24L01 можно встретить в таких устройствах, как: Беспроводная клавиатура, мышь, джойстик; Система беспроводного доступа; Сетевая система сбора данных; Беспроводные охранные системы; Домашняя автоматика; Всевозможные системы наблюдения и мониторинга; Системы автоматики и телемеханики; Игрушки на радиоуправлении и многое другое.
Назад к списку Следующий проект. Услуги 3D печать Ремонт 3D принтеров. Блог 3D-печать 3D-принтеры. Контакты Как до нас добраться.
Я хочу сделать не дорогую поддержку беспроводной связи между Arduino устройствами. Проблема в стоимости. Это дешево, быстро 2 Mbps , легко, надежно, и с низким энергопотреблением. Сложностью лишь является то, что распиновка должна быть в обратном направлении. Второй вопрос в том, что этот модуль напряжение питания 3. К счастью его входы 5В, а его выходы, достаточны для входа Arduino. Опять же, радио подключен через короткий контактный кабель.
Наиболее популярной и активно поддерживаемой, по всей видимости, является библиотека RF24 от TMRh Она основана на более.
Тема в разделе » Проводная и беспроводная связь «, создана пользователем ИгорьК , 19 июн Войти или зарегистрироваться. Искать только в заголовках Сообщения пользователя: Имена участников разделяйте запятой. Новее чем: Искать только в этой теме Искать только в этом разделе Отображать результаты в виде тем. Быстрый поиск. Итак, загружаем полезной информацией оповещение передатчику о приеме сообщения. Начнем с приемника — информация должна быть загружена до получения сообщения от передатчика.
Последняя ближе к стандартам, используемым для программирования ардуино, поэтому многим, особенно новичкам, может быть неудобна работа с mirf. Существуют варианты с антенной и встроенным усилителем , что должно увеличивать дальность до м на открытой местности, что позволяет осуществлять связь между ардуинами на расстоянии до киллометра. Выполнить передачу данных между Arduino по радиоканалу будет намного проще, если у вас плата подключена к отдельному компьютеру или ноутбуку. Характеристики и параметры те же, размеры 18х12 мм.
Трудно переоценить удобство беспроводной связи. Можно управлять самодельными роботами, передавать на расстоянии звук, да и вообще любую информацию, и все это безо всяких идиотских проводов!
При разработке электронных устройств нередко возникает потребность в передаче каких-либо данных на некоторое расстояние. Например термодатчик, расположенный на улице, должен передавать значение температуры центральному устройству, а датчик движения — отдавать команду на включение сирены, расположенной в отдельном помещении. Подобных задач существует множество, как и методов их решения. В тех случаях, когда организовать проводную связь не представляется возможным, на помощь приходят радиомодули NFR24L01, работающие в диапазоне частот 2. Их простота и надёжность обеспечила модулям огромную популярность среди радиолюбительских конструкций.
В этой статье мы поговорим о nrf24l01 — одном из самым популярных и недорогих радиомодулей для проектов Arduino и интернета вещей IoT. Модули nrf24l01 для Arduino легко найти в любом интернет-магазине, они относительно недороги. В этой статье мы рассмотрим описание, распиновку nrf24l01, а также узнаем, какие библиотеки можно использовать с этим радиомодулем. Нельзя создать по-настоящему интересный проект, не дав возможность создания коммуникаций между различными элементами системы. Поэтому так важно выбрать правильную платформу для организации связи между модулями. NRF24l01 отлично подходит для создания распределенных систем с датчиками и контроллерами, разнесенными на расстояния до метров. При помощи модуля можно связать несколько устройств для передачи данных по радиоканалу.
Описание; Характеристики; Где купить? Необходимые компоненты; Библиотека Radiohead; Распиновка; Схема.
Войдите , пожалуйста. Хабр Geektimes Тостер Мой круг Фрилансим. Войти Регистрация. Как правило, это применение находится в двух областях — автомобиль или дом.
ВИДЕО ПО ТЕМЕ: Arduino Wireless Communication – NRF24L01 Tutorial
youtube.com/embed/7rcVeFFHcFM» frameborder=»0″ allowfullscreen=»»/>Хабр Geektimes Тостер Мой круг Фрилансим. Arduino Обработка сигналов Радиосвязь. Всем день добрый! Хотелось бы сделать радио метку на сигнализацию Авто или Мотоцикла. То есть на расстоянии до 5 метров все ОК и нужно включить первую реле.
Запомнить меня. Радиоканал на данных радиомодулях может обмениваться информацией в оба направления.
Описание и характеристики модуля nRF24L01 будет интересно узнать тем, кто желает установить беспроводную связь между устройствами или платами Arduino. Рассмотрим сегодня радио модуль для Ардуино nRF24L01, который часто используется в различных проектах. На странице вы можете скачать все необходимые работающие библиотеки для работы с модулем и загрузить скетч для тестирования модуля. На плате nRF24L01 встроен демодулятор, синтезатор частот и усилитель сигнала. Модуль может использовать каналов связи, отличающихся частотой сигнала — от 2,4 ГГц до 2, ГГц.
Рассмотрим, как наладить связь между двумя или несколько плат Ардуино по радиоканалу. В случае, если на момент добавления библиотеки, Arduino IDE была открытой, перезагружаем среду. Параметры buf — адрес массива, строки или переменной в которую требуется поместить принятые данные.
Нам в руки для тестов попали передатчики nRF24L01. Они есть двух видов: со встроенной антенной и внешней антенной, которые как раз у нас.
Передатчик со встроенной антеннойПередатчик с внешней антеннойУ передатчиков есть 126 каналов, которые можно прослушивать. Чтобы читать и писать через эти каналы, есть 6 потоков. Нулевой (pipe0) служит для прослушивания каналов, а все остальные — как чтения, так и отправки.
Скорость передачи по воздуху у nRF24L01+ достигает до 2 Мбит, а расстояние — до 1 километра.
Питается передатчик от 3.3 В. Также у него есть SPI интерфейс, через который передатчик может общаться с другими устройствами.
Подробно ознакомиться со спецификацией можно тут.
Обычно nRF24L01 и подобные передатчики используют, чтобы наладить связь между Arduino и Raspberry Pi (или другими платами, у которых есть SPI интерфейс).
Мы же решили соединить для теста RPi и Arduino Mega. Для этого скачали библиотеку RF24. Она оказалась кроссплатформенной: для Arduino, для Raspberry Pi и для BeagleBone Black.
Стоит отметить, что в библиотеке для RPi есть совместимость с библиотекой WiringPi, а также поддержка функций процессора bcm2835, который есть на RPi.
Начав разбираться с библиотекой RF24, оказалось, что на RPi драйвер для SPI интерфейс не всегда активирован. Для этого понадобилось немного поколдовать в конфигах.
Чтобы его активировать, нужно отредактировать /etc/modprobe.d/raspi-blacklist.conf. Это можно сделать так:
sudo nano /etc/modprobe.d/raspi-blacklist. conf
Затем добавляем # перед записью blacklist spi-bcm2708 так, чтобы получилось # blacklist spi-bcm2708. Сохраняем. Теперь можем пользоваться SPI интерфейсом.
У передатчика nRF24L01 есть 8 пинов: MOSI, MISO, SCK, CE, CSN, V+, GND, IRQ. Для подключения используются семь: все, кроме IRQ.
Схема подключения SPI интерфейса для Arduino такая:
11 (MOSI) to DI
12 (MISO) to DO
13 (SCK) to CLK
А для Arduino Mega такая:
50 (MISO) to DO
51 (MOSI) to DI
52 (SCK) to CLK
Питание передатчика V+ надо соединить с 3.3V, а GND с GND.
Ещё остается два проводка: CE и CSN. Они подключаются к любым пинам. В нашем случае получилось так:
CSN - 9
CE - 8
Конфигурация подключения nRF24 к пинам GPIO на RPi у нас получилась такая:
Пины nRF24L01
Пины RPi GPIO
Порядковый номер на гребенке GPIO nrf-vcc rpi-3v3 (17)
nrf-gnd rpi-gnd (20)
nrf-ce rpi-ce0 (24)
nrf-csn rpi-gpio25 (22) nrf-sck rpi-sckl (23)
nrf-mo rpi-mosi (19)
nrf-mi rpi-miso (21)
Будем использовать Raspberry Pi как приемник, а Arduino как передатчик.
Чтобы запустить примеры из библиотеки RF24, надо добавить библиотеку в папку с Arduino:
После этого выбираем пример nRF24_sendto_hub и заливаем этот скетч на плату.
Примеры лежат ещё на GitHub.
Чтобы запустить библиотеку RF24 на RPi, нужно ввести такие команды:
$ git clone https://github.com/stanleyseow/RF24.git
$ cd RF24 $ cd librf24-rpi/librf24 <-- Папка с использованием библиотеки RF24 напрямую
$ sudo make <-- Компилируем файлы
$ sudo make install <-- Добавляем библиотеку librf24.so.1.0 в общедоступные библиотеки
$ sudo ldconfig -v | grep librf librf24.so.1 -> librf24.so.1.0
$ cd ../examples/ <-- Перемещаемся в папку с примерами
$ make <-- Компилируем примеры
$ sudo ./rpi-hub <-- Запускаем пример
Передатчики nRF24L01 можно использовать не только для установки связи между RPi и Arduino. У нас довольно успешно получилось соединить две ардуины.
Кстати, нам довелось использовать разные передатчики nRF24 с внешней антенной. Соединились успешно, даже не заметили разницы.
Originally published at wiki.perexy.com on August 1, 2014.
Радиодрайвер, библиотека уровня 2 OSI для модулей nrf24L01(+).
Базовая библиотека для связи nRF24L01(+). Простой в использовании для начинающих, но предлагает расширенные параметры конфигурации. Включено множество примеров для демонстрации различных способов общения.
Имя файла | Дата выпуска | Размер файла |
---|---|---|
RF24-1. 4.6.zip | 2022-09-18 | 4,87 МБ |
RF24-1.4.5.zip | 2022-07-19 | 4,87 МБ |
RF24-1.4.4.zip | 2022-07-18 | 4,87 МБ |
RF24-1.4.3.zip | 2022-07-09 | 4,87 МБ |
RF24-1.4.2.zip | 2021-11-27 | 4,89 МБ |
RF24-1.4.1.zip | 2021-06-02 | 4,74 МБ |
RF24-1.4.0.zip | 2021-04-11 | 4,74 МБ |
RF24-1.3.12.zip | 2021-02-27 | 4,70 МБ |
RF24-1.3.11.zip | 2020-12-18 | 2,20 МБ |
RF24-1. 3.10.zip | 2020-12-14 | 368,01 КиБ |
RF24-1.3.9.zip | 2020-08-22 | 372,43 КиБ |
RF24-1.3.8.zip | 2020-08-17 | 372,41 КиБ |
RF24-1.3.7.zip | 2020-08-01 | 370,90 КиБ |
RF24-1.3.6.zip | 2020-07-14 | 373,64 КиБ |
RF24-1.3.5.zip | 2020-07-08 | 373,51 КиБ |
RF24-1.3.4.zip | 2020-02-15 | 373,47 КиБ |
RF24-1.3.3.zip | 2019-06-18 | 371,30 КиБ |
RF24-1.3.2.zip | 2019-03-22 | 367,92 КиБ |
RF24-1. 3.1.zip | 2018-01-28 | 351,60 КиБ |
RF24-1.3.0.zip | 2017-06-01 | 348,53 КиБ |
RF24-1.2.0.zip | 341,65 КиБ | |
RF24-1.1.7.zip | 2016-08-12 | 341,35 КиБ |
RF24-1.1.6.zip | 20 февраля 2016 г. | 323,52 КиБ |
RF24-1.1.5.zip | 2016-01-07 | 322,70 КиБ |
RF24-1.1.4.zip | 2015-12-14 | 308,11 КиБ |
RF24-1.1.3.zip | 2015-10-31 | 307,58 КиБ |
RF24-1.1.2.zip | 20.10.2015 | 307,17 КиБ |
RF24-1. 1.1.zip | 2015-10-01 | 303,89 КиБ |
RF24-1.0.1.zip | 2015-10-01 | 303,89 КиБ |
RF24-1.0.0.zip | 2015-10-01 | 303,89 КиБ |
Функции для простого использования радио. Подробнее…
void | nrf_setup () |
Настраивает радио, SPI и прерывания. Также сбрасывает все регистры радио в их значения по умолчанию. | |
int | nrf_get_payload_width () |
Получите ширину полезной нагрузки RFO. Подробнее… | |
int | nrf_get_payload (char *buff, char len) |
4 Чтение полученной полезной нагрузки. Подробнее… | |
целое число | nrf_payload_available () |
Проверить, доступна ли полезная нагрузка для чтения. Подробнее… | |
int | nrf_get_pipe () |
Получить номер последней полезной нагрузки, полученной на конвейере. Подробнее… | |
int | nrf_get_width () |
Получить ширину полезной нагрузки, полученной последней. Подробнее… | |
void | nrf_state_pwr_down () |
Переведите радиостанцию в выключенное состояние. | |
void | nrf_state_standby_1 () |
Переведите радиостанцию в режим ожидания 1. | |
недействительным | nrf_state_rx_mode () |
Переведите радиостанцию в режим приема. | |
void | nrf_set_transmit_pwr (мощность символов) |
Установка мощности передатчика Подробнее… | |
void | nrf_set_transmit_rate (скорость передачи символов) |
Установить скорость передачи данных Подробнее… | |
пустота | nrf_set_arc (char arc) |
Установите количество автоматических повторных передач. Подробнее… | |
void | nrf_set_rf_ch (char ch) |
Радио будет работать на радиочастоте. Подробнее… | |
char | nrf_received_pipe_num () |
. Дополнительные данные доступны в канале… | 0313 |
void | nrf_set_address_width (ширина символа) |
Установите ширину каналов RX и адреса TX. Подробнее… | |
void | nrf_start_cont_wave (char pwr) |
Выходная волна с постоянной мощностью. Подробнее… | |
пустота | nrf_stop_cont_wave () |
Остановить передачу несущей. Подробнее… | |
char | nrf_received_pwr () |
3 Проверить мощность приема сигнала. Подробнее… | |
---|---|
void | nrf_en_aa (int pipe) |
Включить автоматическое подтверждение для канала. Подробнее… | |
void | nrf_dis_aa (внутренний канал) |
Отключить автоматическое подтверждение канала. Подробнее… | |
void | nrf_en_rxaddr (int pipe) |
. Подробнее… | |
void | nrf_dis_rxaddr (внутренний канал) |
Отключить канал от получения пакетов. Подробнее… | |
void | nrf_set_pw (ширина char, int pipe) |
Подробнее. .. | |
void | nrf_en_dpl (int pipe) |
Включить динамическую длину полезной нагрузки для канала. Подробнее… | |
void | nrf_dis_dpl (внутри трубы) |
Отключить динамическую длину полезной нагрузки для трубы. Подробнее… | |
int | nrf_set_rx_addr (int pipe, uint64_t address, int len) |
void | nrf_set_tx_addr (адрес uint64_t) |
Установите адрес для передачи. Подробнее… | |
void | nrf_reset () |
Возвращает значения всех регистров, перечисленных в таблицах данных, к значениям по умолчанию. Подробнее… | |
int | nrf_send_payload (char *data, char len) |
4 Отправить по радио. Подробнее… | |
Функции для простого использования радио.
Эта группа содержит функции, предназначенные для простого использования радио. В nrf24l01.h доступны более продвинутые функции для разработчиков и более продвинутое радиоуправление.
пустота nrf_dis_aa | ( | число | труба | ) |
Отключить автоматическое подтверждение для канала.
pipe | Канал для автоматического подтверждения будет отключен. Трубы варьируются от 0 до 5. |
пустота nrf_dis_dpl | ( | число | труба | ) |
Отключить динамическую длину полезной нагрузки для трубы.
Если динамическая длина полезной нагрузки отключена, длина пакета должна быть установлена с помощью nrf_set_pw.
канал | На каком канале отключить динамическую длину полезной нагрузки. |
пустота nrf_dis_rxaddr | ( | число | труба | ) |
Отключить канал от получения пакетов.
труба | Труба, которая будет отключена. Трубы варьируются от 0 до 5. |
недействителен nrf_en_aa | ( | число | труба | ) |
Включить автоматическое подтверждение для канала.
Эта функция включает автоматический прием по каналу в дополнение к включению автоматического подтверждения, как если бы был вызван nrf_en_rxaddr.
pipe | Автоматическое подтверждение канала будет включено. Трубы варьируются от 0 до 5. |
пустота nrf_en_dpl | ( | число | труба | ) |
Включить динамическую длину полезной нагрузки для трубы.
Если динамическая длина полезной нагрузки включена, количество байтов в пакете указывать не нужно. Чтобы эта функция работала, в передатчике должна быть включена динамическая длина полезной нагрузки для канала 0, а в приемнике должна быть включена динамическая длина полезной нагрузки для канала, который он будет получать от этого передатчика.
труба | Динамическая длина полезной нагрузки трубы будет включена. |
недействителен nrf_en_rxaddr | ( | число | труба | ) |
Включить канал для приема пакетов.
nrf24l01+ содержит шесть параллельных каналов, которые могут принимать пакеты от шести разных передатчиков. Каждый канал должен иметь уникальный адрес.
труба | Труба, которая будет включена. Трубы варьируются от 0 до 5. |
интервал nrf_get_payload | ( | символа * | Бафф , |
символ | лен | ||
) |
Чтение полученной полезной нагрузки.
Считайте полезную нагрузку в массив, если он доступен. Если динамическая длина полезной нагрузки включена, длину полезной нагрузки можно найти с помощью nrf_get_width. Если полезная нагрузка прочитана, она больше недоступна. Эту функцию следует вызывать, только если nrf_payload_available() возвращает 1.
buff | Массив, в который будет считываться полезная нагрузка. |
len | Длина полезной нагрузки, которая будет прочитана (1-32 байта). |
интервал nrf_get_payload_width | ( | ) |
Получите ширину верхней полезной нагрузки в RX FIFO.
Эта функция предназначена только для использования с динамическими длинами полезной нагрузки.
интервал nrf_get_pipe | ( | ) |
Получить номер канала, по которому была получена самая последняя полезная нагрузка.
интервал nrf_get_width | ( | ) |
Получите ширину последней полученной полезной нагрузки.
интервал nrf_payload_available | ( | ) |
Проверить, доступна ли полезная нагрузка для чтения.
Эту функцию следует использовать для опроса полученных полезных данных.
символ nrf_received_pipe_num | ( | ) |
Возвращает доступные данные канала.
Если возвращается 8, FIFO пуст и данные не получены.
char nrf_received_pwr | ( | ) |
Проверьте мощность сигнала, который получает nrf42l01.
Режим приема должен быть включен не менее 40 мкс, прежде чем измерения будут точными. 0 будет возвращено, если уровень мощности ниже -64 дБ, и 1 будет возвращено, если уровень мощности выше -64 дБ.
недействительным nrf_reset | ( | ) |
Сбрасывает все регистры до их значений по умолчанию, как указано в таблице данных.
/**
int nrf_send_payload | ( | символа * | данные , |
символ | лен | ||
) |
Отправьте по радио полезную нагрузку.
/**
Если автоматическое подтверждение отключено, эта функция вернет 1 при успешной отправке пакета и не будет отражать подтверждение пакета. Эта функция никогда не вернет 0, если автоматическое подтверждение отключено. Если автоматическое подтверждение включено, эта функция возвращает 1, если пакет подтвержден после отправки, и 0, если пакет не подтвержден.
данные | Отправляемая полезная нагрузка. |
len | Длина полезной нагрузки в байтах. |
недействительным nrf_set_address_width | ( | символ | ширина | ) |
Установите ширину адреса каналов RX и TX.
Устанавливает ширину адреса всех принимающих каналов и ширину адреса передачи.
ширина | Ширина адреса в байтах (3-5 байт) |
пустота nrf_set_arc | ( | символа | дуга | ) |
Установите количество автоматических повторных передач.
Установите, сколько раз nrf24l01 должен пытаться повторно передать пакет после того, как не получил пакет подтверждения.
arc | Количество попыток повторной передачи радиостанции. |
недействительным nrf_set_pw | ( | символ | ширина , |
число | труба | ||
) |
Установите ширину принимаемых статических полезных данных.
При использовании статической ширины полезной нагрузки ширина пакетов должна быть задана явно. Ширина приемника должна быть установлена в соответствии с размером передаваемых полезных данных. Используйте эту функцию для установки ширины на приемнике. Эта функция не нужна для канала, если для этого канала включена динамическая длина полезной нагрузки.
ширина | Количество байтов, которые канал будет принимать в статической полезной нагрузке. (1-32 байта) |
pipe | Pipe, ширина полезной нагрузки которого будет установлена. |
пустота nrf_set_rf_ch | ( | символ | ч | ) |
Установите радиочастоту, на которой будет работать радио.
nrf24l01 может работать в диапазоне частот от 2,400 ГГц до 2,525 ГГц. При скорости 250 кбит/с или 1 Мбит/с радио занимает полосу пропускания менее 1 МГц. При скорости 2 Мбит/с радио занимает полосу пропускания менее 2 МГц. Частота устанавливается по уравнению, частота = 2400 + ch (МГц). Для связи передатчик и приемник должны работать на одной частоте. Эта функция устанавливает центральную частоту радио.
ch | Частота, на которой должна работать радиостанция. |
интервал nrf_set_rx_addr | ( | число | труба , |
uint64_t | адрес , | ||
число | лен | ||
) |
Установить адрес канала.
nrf24l01 имеет шесть приемных труб. Каналы имеют адреса длиной 3-5 байт. У каналов 0 и 1 могут быть изменены все 5 байтов их адресов. Для остальных четырех каналов можно изменить только младший бит адреса. Четыре старших бита остальных четырех каналов являются старшими битами адреса канала 1. Ширина адреса должна быть установлена с помощью nrf_set_address_width перед вызовом этой функции. Если заданная ширина адреса не соответствует длине, указанной в этой функции, будет возвращен 0 и адрес не будет записан. 0 также будет возвращено, если длина не установлена в 1 при записи в каналы 2-5.
труба | Труба, адрес которой будет установлен. Трубы варьируются от 0 до 5. |
адрес | Будет установлен адресный канал. |
len | Длина устанавливаемого адреса в байтах. (1-5 байт) |
пустота nrf_set_transmit_pwr | ( | символ | мощность | ) |
Установка мощности передатчика.
The possible power settings are:
0dBm: nrf24l01_RF_SETUP_RF_PWR_0
-6dBm: nrf24l01_RF_SETUP_RF_PWR_6
-12dBm: nrf24l01_RF_SETUP_RF_PWR_12
-18dBm: nrf24l01_RF_SETUP_RF_PWR_18
мощность | Уровень мощности, на который будет установлен передатчик. |
недействительным nrf_set_transmit_rate | ( | символ | ставка | ) |
Установка скорости передачи данных.
Возможные настройки скорости:
250 кбит/с: nrf24l01_DR_LOW
1 Мбит/с: nrf24l01_DR_MED
2 Мбит/с: nrf24l01_DR_HIGH
rate | Rate, на который будет установлен преобразователь. |
недействительным nrf_set_tx_addr | ( | uint64_t | адрес | ) |
Установите адрес для передачи.
Адрес передатчика должен совпадать с адресом приемника, иначе пакеты не будут приниматься. Если автоматическое подтверждение включено, канал 0 rx на передатчике должен быть установлен на тот же адрес, что и адрес tx, установленный в этой функции.
адрес | Адрес, который будет установлен для передачи. (5 байт) |
пустота nrf_start_cont_wave | ( | символ | мощность | ) |
Отправка постоянной несущей с заданной мощностью.