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

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

Добавлено: 12.06.2017{, 16:28}
Слимпер
Возникала у меня задача переделать свою автоматику где канал передачи данных были Радиомодули nRF24L01+.

По ряду причин все старые версии моих блоков, меня же не устроили  

Вот посидел, сделал новую версию.

Основана на доработано библиотеки

Теперь это не два блока, а целый набор, подробное описание в  самих блоках.

Из возможностей :
- Возможно слушать до 5 труб одновременно
- Реализована штатная система контроля доставки сообщений (достоверна только когда адреса у вех труб разные)
- Возможно передавать String (30 символов максимум)
- Возможно передавать INT (пока 5 в одном блоке, но можно доделать до 15)
- Возможно передавать Float (7 в одном блоке)
- В одном проекте можно использовать по несколько блоков одно типа и блоки разных типов.
- На стороне получения в блоках есть выход новые данные
- Есть независимый блок Сканер - для проверки работы модуля и поиска свободного канала.

Если надо можно добавить блоки и для других типов данных.

На столе протестировал в сети из 3 штук. Вроде все работает. Если кому интересно на Яндекс Диск выложил Новая версия.

Буду признателен за тестирование. Возможно еще не все косяки выловил.

Тем кто использовал прошлые версии  блоков  необходимо удалить папки содержащие в названии RF24 из папки Flprog\ide\libraries\ (\Flprog\ideV2\libraries\) и/или c:\Users\Имя пользователя\Documents\Arduino\libraries\

Добавлено (08.06.2017, 06:39)
---------------------------------------------
Тут подумал, походу надо делать еще возможность отсылать данные под разными адресами, чтобы функция контроля доставки могла нормально работать.

Суда по описанию библиотеки, должно получится, надо пробовать сделать.

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

Добавлено: 12.06.2017{, 16:38}
Слимпер
До работал описанную выше версию  блоков

Теперь о возможностях:
- Можно передавать данные сразу от имени несколькими разными адресов
- Возможно слушать до 5 труб одновременно
- Реализована штатная система контроля доставки сообщений (достоверна только когда адреса у вех труб разные)
- Возможно задавать частотные каналы
- Возможно задавать коэффициент усиление передатчика
- Возможно передавать String (30 символов максимум)
- Возможно передавать INT ( 5 и/или 15 в одном блоке)
- Возможно передавать Float (7 в одном блоке)
- В одном проекте можно использовать по несколько блоков одно типа и блоки разных типов.
- Есть отдельный блок для ретрансляции данных от контроллера к контроллеру
- На стороне получения в блоках есть выход новые данные
- Реализована система нескольких попыток отправки сообщения, для надежности доставки.
- Есть контроль переполнения приемного буфера.
- Есть независимый блок Сканер - для проверки работы модуля и поиска свободного канала.

Вообщем, блоки позволяют создать полноценную сеть из модулей и при этом получились довольно компактные.

Выложил там же  на Яндекс Диск  Новая версия 1.0.
И прикладываю самый простой пример.

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

Добавлено: 26.06.2017{, 11:08}
jet-belan
дорогие друзья, пока не могу понять как использовать две платы в одном проекте на новых блоках версии 1,0) если кто то имеет возможность, пожалуйста, создайте проект в котором можно передать значение с кнопки (высокий и низкий уровень) и значение с переменного резистора (от 0 до 255) на другую плату посредством nrf24l01+ и там вывести на пины: аналоговый (значение с кнопки) и цифровой с ШИМ (значение с потенциометра))))

а уж  от этого я буду плясать дальше))

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

Добавлено: 06.07.2017{, 07:53}
vlad
Чем обусловлена разность правил написания адреса в блоке " NRF24_Главный" и в блоках отправки?
( если я конечно правильно понял про адресацию в блоках) я понял что адрес в главном блоке: "1adrs", "2adrs","3adrs"."5adrs"."9adrs" соответствует "0","1","2","3","4" адресу в передающем блоке. Почему нельзя одинаково. что в главном то и в передающем? или я все не правильно понял?

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

Добавлено: 06.07.2017{, 14:21}
Слимпер
vlad писал(а):Чем обусловлена разность правил написания адреса в блоке " NRF24_Главный" и в блоках отправки?( если я конечно правильно понял про адресацию в блоках) я понял что адрес в главном блоке: "1adrs", "2adrs","3adrs"."5adrs"."9adrs" соответствует "0","1","2","3","4" адресу в передающем блоке. Почему нельзя одинаково. что в главном то и в передающем? или я все не правильно понял?
Тут такое дело, фактически,  в главном блоке есть два параметра:
Адреса Устройства -тут через запитую задается массив (список) адресов от имени которых и будет совершатся отправка.
Адреса Прослушки - здесь  через запитую задается массив (список) адресов устройств от кого требуется принимать сообщения.

А вход address блоков отправки это всего лишь ссылка на положение (порядковый номер) нужного вам адреса из массива заданного в главном блоке в параметре Адреса Устройства.

Это было сделано для оптимизации получаемого кода.

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

Добавлено: 06.07.2017{, 20:54}
vlad
Слимпер спасибо, вроде разобрался.

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

Добавлено: 08.07.2017{, 19:23}
vovka1973
DerAlex писал(а):Программа прекрасная и замечательная.Кто бы спорил.Самое слабое звено сама Ардуинка.В самое неподходящее время зависает, перезагружается.Для какого то серъезного устройства это очень нехорошо.
тоже заметил что ловит помехи с сети и перезагружается .избавился я от перезагрузов вот такой платой  и забыл про перезагруз.

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

Добавлено: 22.07.2017{, 16:35}
Smit8719
Здравствуйте, наткнулся на али на такой конвертер для NRF24L01 SPI to I2C, если его использовать, нужно будет что-то менять в блоке (CE и СSN)?

Изображение

Добавлено (22.07.2017, 16:35)
---------------------------------------------
Еще такой вопрос, двустороннюю связь можно реализовать?  делал "1Node" , "2Node",  менял address и message_ID,передать получается, а вот принять нет

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

Добавлено: 22.07.2017{, 19:54}
Слимпер
Smit8719 писал(а):Здравствуйте, наткнулся на али на такой конвертер для NRF24L01 SPI to I2C, если его использовать, нужно будет что-то менять в блоке (CE и СSN)?
Ну точно не скажу, но думаю не будет работать вообще, там на борту совой процессор и работа с модулем реализовано на нем, а эти блоки рассчитаны на работу на прямую
Smit8719 писал(а):Еще такой вопрос, двустороннюю связь можно реализовать?  делал "1Node" , "2Node",  менял address и message_ID,передать получается, а вот принять нет
Описание вроде подробное , к тому же  в сообщении 362, давал ссылку на яндекс диск, там там много разных примеров лежит.

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

Добавлено: 22.07.2017{, 22:18}
Smit8719
Действительно, не обратил внимание на пример, думал сам разберусь, настроил на двухстороннюю связь, спасибо за блок

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

Добавлено: 24.07.2017{, 16:19}
vovka1973
кто нибудь пробовал путать питание nrf + с - .сразу сгорает или нет?

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

Добавлено: 24.07.2017{, 16:27}
pan
предлагаете кому то повторить ваш трюк?)

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

Добавлено: 24.07.2017{, 16:57}
vovka1973
нет конечно    ,просто спросил , я так сделал но как точно узнать сгорела или нет?

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

Добавлено: 24.07.2017{, 17:25}
Dev1
vovka1973 писал(а):я так сделал но как точно узнать сгорела или нет?
Обычно они медленно ползут на кладбище, накрывшись белой простыней. Хотя я предпочитаю с шумовыми и световыми эффектами. 

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

Добавлено: 24.07.2017{, 18:15}
vovka1973
Dev1 писал(а):Обычно они медленно ползут на кладбище
значит маленькая надежда есть что живой?

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

Добавлено: 24.07.2017{, 18:20}
pan
подключите и проверьте. что мешает?

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

Добавлено: 24.07.2017{, 18:26}
vovka1973
pan писал(а):подключите и проверьте. что мешает?
как придут новые тогда только я смогу проверить .а так просто я незнаю как проверить

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

Добавлено: 24.07.2017{, 18:32}
Слимпер
vovka1973 писал(а):как придут новые тогда только я смогу проверить .а так просто я незнаю как проверить
Для начала мульти метром нет ли короткого по питанию.

Если все вроде нормально то подключаем как надо к контролеру, а затем в новой версии блоков есть один блок  "NRF24_Сканер", он сделан специально для проверки работоспособности модуля.

Ссылка

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

Добавлено: 24.07.2017{, 18:52}
vovka1973
Слимпер писал(а):Для начала мульти метром нет ли короткого по питанию.
все разобрался модули целые ура

$IMAGE2$

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

Добавлено: 24.07.2017{, 23:06}
cocs667
вопрос на засыпку автору блока, есть возможность измерить силу сигнала от передатчика?