Страница 18 из 23

nRF24L01+ пользовательский блока на Си

Добавлено: 31.03.2017{, 23:20}
ARDO
sser,
Здравствуйте.  Можно пример вашего проекта? Много времени потратил и ничего неполучается.
Немогу понять что не так делаю. Заранее спасибо.

nRF24L01+ пользовательский блока на Си

Добавлено: 02.04.2017{, 22:35}
Гость
У меня тоже не получалось запаял конденсаторы по питанию 3,3В прямо на каждый модуль  220мкФ и 0.1 мкФ и всё заработало с пол пинка, примеры сам брал в блоках пользователей.
http://flprog.ru/load....-1-0-76

nRF24L01+ пользовательский блока на Си

Добавлено: 03.04.2017{, 00:36}
Oleg_UA
Слимпер подскажите почему Вы отказались от использования встроенной в библиотеку функции подтверждения доставки пакета

bool ok =radio.write( &clientnf, sizeof(clientnf) );

Были проблемы?

nRF24L01+ пользовательский блока на Си

Добавлено: 03.04.2017{, 18:03}
Слимпер
Oleg_UA писал(а):Слимпер подскажите почему Вы отказались от использования встроенной в библиотеку функции подтверждения доставки пакета bool ok =radio.write( &clientnf, sizeof(clientnf) );

Были проблемы?
Давно это было, точно не помню.
Но по моему дело было в том, что когда в схемы больше 2 двух устройств, становится не понятно кто из них получил пакет. А значит уже нет смыла это использовать.
Все выше описано касается первой версии блоков, в версии RF24Network все несколько по другому.

nRF24L01+ пользовательский блока на Си

Добавлено: 03.04.2017{, 20:27}
Oleg_UA
Слимпер писал(а):Но по моему дело было в том, что когда в схемы больше 2 двух устройств, становится не понятно кто из них получил пакет. А значит уже нет смыла это использовать.
Если есть возможность попробуйте с изменённым блоком, у меня нет сейчас этих модулей.
Один блок как передатчик и как приёмник для связи с пятью модулями одновременно.Обмен между модулями идёт по своему идентификатору что гарантирует точность доставки указанному клиенту и вывод результата на выход Tx_OK.
Network тяжела для слабых контролеров а master то что нужно когда ресурсы ограничены  .
Гляньте блок может принцип понравится и поможет в дальнейших улучшениях, надеюсь не умрёт библиотека master.

nRF24L01+ пользовательский блока на Си

Добавлено: 03.04.2017{, 21:47}
Oleg_UA
ARDO писал(а):Может у кого та  есть пример как подключить кнопку  к клиенту и реле к серверу? Несколько дней пробую и не получаетса. в тестовых режимах модули работают хорошо
В примере три кнопки и три реле, распиновка модуля написана для nano
Заодно и протестите изменённый блок

nRF24L01+ пользовательский блока на Си

Добавлено: 19.05.2017{, 18:00}
ashil
Протестил эти блоки. Все работает, когда 2 модуля. У меня задача, две кнопки на разных модулях и модуль приемника. В этом случае прав Слимпер -
 Но по моему дело было в том, что когда в схемы больше 2 двух      устройств, становится не понятно кто из них получил пакет. А значит  уже нет смыла это использовать.

Выключаю модуль приемника, жму кнопку CD на 6 светится, выключаю второй передающий модуль, CD гаснет. Т.е. контролируется связь с любым модулем.
Ну а если не проверять связь то все работоспособно в моем случае.
Спасибо за блоки, пригодились.

nRF24L01+ пользовательский блока на Си

Добавлено: 19.05.2017{, 18:43}
Oleg_UA
ashil писал(а):В этом случае прав Слимпер - Но по моему дело было в том, что когда в схемы больше 2 двух      устройств, становится не понятно кто из них получил пакет. А значит  уже нет смыла это использовать.
В блоках от Слимпера передача и приём идут по одному ID поэтому и не понятно, в моих блоках для связи с каждым модулем используется свой ID, в этом случае отправка идёт конкретному модулю а не всем сразу.

Я уже потестил этот способ на 5-ти. модулях и всё работает отлично, но создать блоки для общего использования у меня не получилось, из-за сложности настройки (редактор блоков пока не позволяет такое сделать)  .

Если есть желание поковырять могу выложить свои блоки.
У меня сделано: один основной блок с настройками ID и отдельные блоки для связи с каждым модулем,  в котором через параметр выбирается номер удалённого модуля с которым этот блок связан.

nRF24L01+ пользовательский блока на Си

Добавлено: 19.05.2017{, 18:56}
ashil
Oleg_UA писал(а):Если есть желание поковырять могу выложить свои блоки.У меня сделано: один основной блок с настройками ID и отдельные блоки для связи с каждым модулем,  в котором через параметр выбирается номер удалённого модуля с которым этот блок связан.
У меня опыта мало по блокам. Но желание есть.

nRF24L01+ пользовательский блока на Си

Добавлено: 19.05.2017{, 18:58}
Oleg_UA
ashil писал(а):Но желание есть.
Тогда добавлю максимум комментариев и выложу

nRF24L01+ пользовательский блока на Си

Добавлено: 19.05.2017{, 20:53}
Oleg_UA
В архиве блоки и четыре примера в которых настроил блоки для связи между собой, в блоках добавил описание.

nRF24L01+ пользовательский блока на Си

Добавлено: 21.05.2017{, 14:22}
Oleg1345140
Добрый день, проблема в следующем при попытке скомпилировать проект с любым из данных пользовательских блоков получаю сообщение о том что "неудалось выгрузить библиотеку <<RF24-master>>"  и следующее сообщение "не найдены следующие библиотеки RF24.hnRF24L01.h" данные сообщения выдает  FLProg. Библиотека добавлена.

Добавлено (21.05.2017, 14:22)
---------------------------------------------
Проблема не актуальна, если у кого возникнет, папку с библиотекой нужно добавлять путям копирования а не через ИДЕ ардуины.

nRF24L01+ пользовательский блока на Си

Добавлено: 21.05.2017{, 15:08}
Dev1
Oleg1345140 писал(а):Проблема не актуальна, если у кого возникнет, папку с библиотекой нужно добавлять путям копирования а не через ИДЕ ардуины.
В настройках IDE поставьте свой путь. По умолчанию она кидает ...\Documents\Arduino\libraries\
Вообще плохая идея использовать стороннюю программу внутри другой.

nRF24L01+ пользовательский блока на Си

Добавлено: 21.05.2017{, 23:34}
jet-belan
Oleg1345140 писал(а):Проблема не актуальна, если у кого возникнет, папку с библиотекой нужно добавлять путям копирования а не через ИДЕ ардуины.
спасибо! Как раз была эта проблема, всё исправилось)))

nRF24L01+ пользовательский блока на Си

Добавлено: 29.05.2017{, 18:12}
СЛОН0077
Олег подключил твой блок NRF.rar(213Kb). В ПЕРЕДАТЧИКЕ УСТАНОВИЛ ГЕНЕРАТОР С ЧАСТОТОЙ ИМПУЛЬСОВ 1 СЕК,СЧЕТЧИК. С ПРИЕМНИКА ВЫВЕЛ ЗНАЧЕНИЕ НА ДИСПЛЕЙ.В СРЕДНЕМ СВЯЗЬ ДЛИТСЯ СЕКУНД 120 ЗАТЕМ СВЯЗЬ ПРОПАДАЕТ.ЕСЛИ ПЕРЕЗАГРУЗИТЬ ПЕРЕДАТЧИК НИЧЕГО НЕ МЕНЯЕТСЯ.
ЕСЛИ ПЕРЕЗАГРУЗИТЬ ПРИЕМНИК СВЯЗЬ ВОССТАНАВЛИВАЕТСЯ НА СЕКУНД 120.РАЗНИЦЫ РАБОТЫ ИЗ- ЗА РАССТОЯНИЯ МЕЖДУ ПРИЕМНИКОМ И ПЕРЕДАТЧИКАМ НЕ ЗАМЕТИЛ
Юрий.

nRF24L01+ пользовательский блока на Си

Добавлено: 29.05.2017{, 20:27}
Oleg_UA
СЛОН0077, попробовал на двух модулях:один без усилителя, второй с усилителем и антенной, таймер в блоке (timer_send) установил 1000, на расстояние  около метра.
15 минут без единой потери или сбоя.
Единственная проблема это перегрев AMS 1117 питающая модуль с усилителем.
Проверьте питание и наличие кондёра после стабилезатора обязательно.

nRF24L01+ пользовательский блока на Си

Добавлено: 29.05.2017{, 23:57}
СЛОН0077
Олег,по железу все правильно подключено тестил на нем твои блоки из примера три кнопки три реле 2 недели никаких проблем не было.у меня тоже один модуль с усилителем  другой без,только когда  подключал sd карту при подключении контакта miso соединение разрывалось, если знаешь причину подскажи.
описываю, как я подключал твои блоки,может в этом проблема:
в пояснении ты пишешь ,что настроил блоки для связи между собой.
я часа два пытался что то передать,принять ничего не получилось,тогда я скопировал NRF MASTER  с твоими настройками,и установил его в передатчик и приемник,в новом проекте.
P.S пока писал письмо, приемник произвольно включился и уже работает 6 минут,может все наладилось.

nRF24L01+ пользовательский блока на Си

Добавлено: 30.05.2017{, 01:57}
Oleg_UA
СЛОН0077, Настройка заключается в выборе идентификаторов в блоке NRF MASTER
//Идентифекаторы (ID) труб для связи с 5-ю. модулями
const uint64_t pipe_1=0xF0F0F0F0**LL;
const uint64_t pipe_2=0xF0F0F0F0**LL;
const uint64_t pipe_3=0xF0F0F0F0**LL;
const uint64_t pipe_4=0xF0F0F0F0**LL;
const uint64_t pipe_5=0xF0F0F0F0**LL;
Отличатся должны только последними значениями, в примере я вписал ID так что все блоки имеют только одним совпадающий ID у каждого свой.

В блоках клиентов нужно в параметре выбрать (N_pipe номер трубы) с которым этот блок работает, для каждого удалённого модуля свой отдельный блок.
Не придумал способ как упростить настройку мастера для общего применения а писать инструкции я совсем не мастак
СЛОН0077 писал(а):тогда я скопировал NRF MASTER  с твоими настройками,и установил его в передатчик и приемник,в новом проекте.
Копировать можно если использовать только два модуля, если больше тогда будут сбои с доставкой пакетов (не понятно от кого пришло и кому отправлено).

На SPI можно садить много устройств разница только в том что они не должны работать одновременно для чего и нужны пины: "slave select" отвечает за выбор ведомого а "serial clock" за тактирование. 
Теоретически sd ридер без команды от мастера не должен слать что либо, возможно проблема  в подтягивающих резисторах которые садят линию или скорее всего не согласован режим тактирования.
У меня нет опыта работы с SD, поэтому не смогу подсказать точнее.

nRF24L01+ пользовательский блока на Си

Добавлено: 30.05.2017{, 18:53}
СЛОН0077
Олег,по железу все правильно подключено тестил на нем твои блоки из примера три кнопки три реле 2недели никаких проблем небыло.у меня тоже один модуль с усилителем  другтой без,только когда  подключал sd карту при подключении контакта miso соединение разрывалось, если знаеш причину подскажи.
описываю, как я подключал твои блоки может в этом проблема:

Добавлено (30.05.2017, 16:03)
---------------------------------------------
Утром выпаял nrf c усилителем,и заменил на простую nrf,все отлично работает,
это уже вторая nrf c усилителем которая вышла из строя,первая отработала несколько минут.
Олег,спасибо за блоки и за объяснения.

Добавлено (30.05.2017, 18:53)
---------------------------------------------
Утром выпаял nrf c усилителем,и заменил на простую nrf,все отлично работает,
это уже вторая nrf c усилителем которая вышла из строя,первая отработала несколько минут.
Олег,спасибо за блоки и за объяснения.

nRF24L01+ пользовательский блока на Си

Добавлено: 30.05.2017{, 22:06}
Oleg_UA
СЛОН0077, чем смог, тем помог