Набор блоков для односторонней, двухсторонней передачи данных между 2 и более контролерами с nRF24L01+, вплоть до создания сложной сети.
Про подключение модулей
SCK (Serial ClocK) — тактирование (синхронизация). ( Arduino UNO D13 | Arduino Mega D52)
MOSI / MI (Master Out Slave In) — вход данных. ( Arduino UNO D11 | Arduino Mega D51)
MISO / MO (Master In Slave Out) — выход данных. ( Arduino UNO D12 | Arduino Mega D50)
CE/SS – Выбор ведомого на шине SPI из нескольких устройств.
SCN – выбор режима приема/передача , фактически тот же CE.
IRQ – выход прерывания, чаще всего не используется. Необходим для немедленной реакции микроконтроллера при приеме нового пакета данных.
GND – земля, масса, минусовая шина.
Vcc -питание модуля 3.3в. Для надежной работы параллельно питанию как можно ближе к радиомодулю рекомендуется подключить электролитический конденсатор не менее 100мкф , а так же керамический на 0.1 мкф.
Подключение NRF24L01 к Arduino (вид сверху):
Основана на доработано библиотеки Optimized High Speed NRF24L01+
Теперь о возможностях:
– Можно передавать данные сразу от имени несколькими разными адресов (Необходимо для работы в сети с потверждением доставки)
– Возможно слушать до 5 труб одновременно
– Реализована штатная система контроля доставки сообщений (достоверна только когда адреса у вех труб разные)
– Возможно задавать частотные каналы
– Возможно задавать коэффициент усиление передатчика
– Возможно передавать String (30 символов максимум)
– Возможно передавать INT ( 5 и/или 15 в одном блоке)
– Возможно передавать Float (7 в одном блоке)
– В одном проекте можно использовать по несколько блоков одно типа и блоки разных типов.
– Есть отдельный блок для ретрансляции данных от контроллера к контроллеру
– На стороне получения в блоках есть выход новые данные
– Реализована система нескольких попыток отправки сообщения, для надежности доставки.
– Есть контроль переполнения приемного буфера.
– Есть независимый блок Сканер – для проверки работы модуля и поиска свободного канала.
В принципе сделать блоки для других типов данных тоже не сложно.
Актуальная версия новых блоков 1.0b
Подробное описание каждого блока, в самих блоках.
Там же есть Старая версия , ее я делал с год назад и выкладывал здесь, но сейчас она уже меня не устраивает.
Интересные ссылки по этим модулям:
Описание радиомодуля nRF24L01+
Тест дальности связи NRF24L01+
NRF24L01 – Arduino
NRF24L01 2.4 ГГц радио/беспроводные передатчики и Arduino
как узнать пароль для архива?
Настройка блоков 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 и на вход-выход.
Если вход от кнопки или энкодера подключаете относительно минуса,
то ставите инверсию у входа блока(подменю),
вкл защита от дребезга, Подтягивающийрезистор.
Я управлял одним шаговым двигателем от джойстика и энкодера,
вклвыкл светодиода.
У энкодера если относительно минуса входа на инверсию и подтягивающие резисторы не ставить.
Так было у меня, всем удачи)
В Уно загружается эти блоки а с Нано ошибку выдает( выбираю нано как в проекте так и в ide) в чем проблема может быть?
Не могу подключить кнопки . нужно четыре кнопки и чтобы две можно дать одновременно. Вместо кнопок будут оптопары.