nRF24L01+ двусторонний обмен данными

Есть два типа блоков Клиент и Сервер.
Сервер находится в режиме ожидания информации от клиентов. А также по импульсу на входе query посылает данные Клиенту.

Клиент может оправлять данные Серверу в следующих режимах:
1. Через заданный в настройках интервал.
2. В ответ на запрос от сервера.
3. По импульсу на входе Send.
Имеется два основных режима работы:

– Есть один Сервер, который посылает данные Клиентам, а те в свою очередь, в ответ отправляют Серверу свой набор данных. Двухсторонний обмен данными.
– Сервер просто слушает, а Клиенты сами отсылают ему данные.

Сейчас существует два вида блоков:
1. Для передачи 6 переменных типа INT.
2. Для передачи строки (тип String) длинной 26 символов.

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

Блок позволяет настраивать :
– Канал передачи (рабочая частота)
– Мощность передатчика
– Скорость передачи данных
Подробнее в описании модуля.

В версии 1.0
Данные на выходах блока сохраняются до прихода новых .
В версии 1.1
Доработка произведена по просьбе пользователя zikkgaz24.
-Данные на выходах могут сбрасываться в ноль по истечению заданного в настойках времени.
-Добавлен выход прихода новых данных (New_data), на который выдается одиночный импульс.

Интересные ссылки по этим модулям:
Описание радиомодуля nRF24L01+
Тест дальности связи NRF24L01+
NRF24L01 – Arduino
NRF24L01 2.4 ГГц радио/беспроводные передатчики и Arduino


7

Вложения

  • zip nRF24L01+
    Date added: 03.02.2018 11:09 File size: 29 MB Downloads: 4082

Publication author

757
Comments: 15Publics: 388Registration: 04-02-2018

11 thoughts on “nRF24L01+ двусторонний обмен данными”

  1. Настройка блоков NRF24 в Flprog для радиомодулей nRF24L01.

    Ардуино Нано.

    NRF24_Главный  ставьте выше чем другие блоки и если

    сохраняете из проекта в библиотеку,

    то сохраняйте как  NRF24_Главный_передатчик от передатчика,

    NRF24_Главный_приемник от приемника(то же и с копированием), ну кому как.

     

    Блоки sendtouart не удаляйте и чтобы видеть в мониторе компорта

    сигнал от передатчика, на выходах приемника

    подключайте блок sendtouart(возможно и другое), без него

    не работало(как нагрузочный для выхода) и параллельно

    снимаете сигнал на свой блок или выход,

    шнур юсб компьютера подключайте к приемнику.

     

    Для блока передачи нужен мультивибратор G-AM вкл send,

    если просто подать единицу, то работать не будет(проверено).

    Чтобы передавать integer или дискретный(bool) сигнал(от кнопки или генератора),

    то в настройках(подменю блока редактировать) время паузы

    ставьте от 30 до 100мс(для триггера тт 100мс),

    вычисляется опытным путем(по умолчанию стоит 3с),

    чтобы передатчик работал не постоянно,

    можно вход send подключить через  блок and.

     

    Соединительные провода mjsi miso SCK можно подключать на разъем ICSP, а не 11 12 13,

    менял 9 10 на 1 2 блок не работал(может только у меня).

     

    Чтобы передавать сигнал bool применяйте блоки конвертации(запись и чтение бита BitW BitR),

    переводит в integer и на вход-выход.

     

    Если вход от кнопки или энкодера подключаете относительно минуса,

    то ставите инверсию у входа блока(подменю),

    вкл защита от дребезга, Подтягивающийрезистор.

     

    Я управлял одним шаговым двигателем от джойстика и энкодера,

    вклвыкл светодиода.

    У энкодера если относительно минуса входа на инверсию и подтягивающие резисторы не ставить.

    Так было у меня, всем удачи).

    0
  2. Добрый день!

    В описании не указана возможность работы модулей NRF24l01 c ESP8266. Возможно ли это?

    Подключаю следующим образом:

    CSN – D8 (gpio 15)

    CE – D0 (gpio 16)

    MOSI – D7 (gpio 13)

    SCK – D5 (gpio 14)

    MISO – D6 (gpio 12)

    С arduino всё работает стабильно.

    ____________________________

    Выражаю отдельную благодарность авторам программы FLProg а также пользователям, расширяющим её функционал.

    0
  3. В настройках П/Блока в.1.4 не могу найти Настройки Времени на сброс в Логический “0”

    (“-Данные на выходах могут сбрасываться в ноль по истечению заданного в настойках времени.“)

    0
  4. Не знаю может кому поможет, были две меги и три радиомодуля. Я подключал по блоку 0.2 там распиновка указано что МО на 50 пин меги но не получилось ничего. После поиска выяснилось что этот пин не правильно указан (может я не так понял) нужно всегда проверять по распиновкам ардуины и модуля оказывается)) то есть МО  нужно подключить к 51 пину. Питались радиомодули от специального стабилизатора для них, там то и указано распиновка МО, MI. Да и еще не мешает предварительно сами модули тестировать  специальным скечем в youtube полно и подробно рассказано. У меня из трех, один не рабочим оказался.

    0
    • и еще )) оказывается необходимо блоки данных то есть, строки или интеджер, флоат ставить выше главного блока. В старых версиях где-то написано, а здесь нет ))).

      0
  5. Здравствуйте, при загрузке блоков в контроллер происходит ошибка, ” неудалось выгрузить библиотеку RF24″, что можно сделать для исправления?

    0
  6. Добрый день.

    Поспешил с просьбой, извините пожалуйста. Распаковался архив. Работает. Спасибо.

    По примерам для версии 0.2 получился проект.

    Arduino UNO. Настройки приемника и передатчика по примерам. Между приемником и передатчиком три метра (больше пока не требуется, поэтому не проверял). Отладка не потребовалась. Три переменные типа Integer подключены к блокам отправки и приема по протоколу Modbus RTU. Все работает.

    0

Leave a Comment

Войти с помощью: