К размышлению
Из-за своей дешевизны радиомодуль nRF24L01 можно встретить во множестве проектов, включая элементы умного дома и всевозможных самодельных роботов. Кто-то передает через nRF24 телеметрию с квадрокоптера, а кто-то делает на его основе «умные» розетки.
Справедливости ради, следует отметить, что кроме nRF24L01 существует еще много разных радиомодулей подобного класса. Ярким примером может являться CC2500. Также важно отметить, что nRF24L01 является устаревшей моделью, и имеется его более новая версия, которая является и более дорогой.
В одной из следующих статей мы рассмотрим радиомодуль nRF24L01 с усилителем, который позволяет передавать сигнала на расстояния до 2 км!
Задания
С помощью nRF24L01 можно немного автоматизировать быт. Вот пара заданий, которые позволят закрепить пройденный урок.
- Дистанционное реле для светильника. Требуется собрать пульт и исполнительное устройство, связанные радиоканалом. Пульт состоит из контроллера Ардуино, радиомодуля и одной тактовой кнопки. Исполнительное устройство состоит из контроллера Ардуино, радиомодуля и реле. При нажатии на кнопку пульта, необходимо отправлять сигнал на исполнительное устройство, которое переключит реле в нужное состояние и включит светильник.
- Пульт дистанционного управления телевизором. Необходимо собрать два устройства, которые позволят управлять телевизором или любым другим бытовым прибором с ИК пультом. Первое устройство — пульт, содержит: контроллер Ардуино, радиомодуль и три кнопки: «вкл/выкл», «канал+» и «канал-«. Второе устройство состоит из контроллера Ардуино, радиомодуля и ИК светодиода. При нажатии на одну из кнопок пульта, необходимо передавать на второе устройство команду. Второе устройство принимает команду и отправляет соответствующую управляющую последовательность импульсов на бытовой прибор с помощью ИК светодиода.
Здравствуйте! Возникли проблемы с библиотекой SerialFlow. Если быть точнее, я её нигде не смог найти. Тот файл, который автор статьи выложил в сеть, вызывает ошибку в Arduino IDE. Буду благодарен за разъяснение данной проблемы.
А какая именно ошибка появляется?
Здравствуйте! В вашей статье очень не хватает картинки с подписью номеров пинов на самом радиомодуле.
Здравствуйте! Лично у меня возникала следующая проблема: я подключал выводы радиомодуля так, будто бы по картинкам с подписями они находятся с обратной стороны, т.е. зеркально, из-за того, что ножки на моем радиомодуле выведены не в лицевую сторону печатной платы, а в тыльную.
Вдруг, у кого-нибудь еще есть такая проблема? Мне кажется, она заслуживает отдельного упоминания вместе с картинкой пинов на радиомодуле.
Не могу найти библиотеку SerialFlow. пришлите, пожалуйста…
Можно скачать тут:
https://github.com/oevsegneev/arduino-dev/tree/master/libs
главное в файле SerialFlow.h раскомментировать нужный интерфейс: HardwareSerial либо RF24
Большое Вам спасибо, устройство заработало. Надо было раскомментировать RF24….
Столкнулся с такой проблемой. Все сделал, как описано на сайте, но вместо значений таймера на передатчике мне выводятся какие- то квадраты да разные буквы и символы. В чем может быть проблема?
Вероятно в мониторе COM-порта стоит неправильная скорость.
Здравствуйте. Возникает ошибка с SerialFlow rd(7,8); а именно no matching function for call to ‘SerialFlow::SerialFlow(int, int).
Нужно посмотреть SerialFlow.h файл, вероятно там установлен не тот тип передатчика в самом начале и соответственно используется другой конструктор объекта SerialFlow.
Самое интересное, что автор пишет:
«Главное, не путаем напряжение: стандартные для Ардуино 5 Вольт могут повредить модуль.»
и при этом на схеме — макета заводит с ардуины +5В на плату))) От ардуины питать не рекомендуют, так как если модуль заработает, то однозначно работать будет криво! Данный модуль очень чувствителен к питанию, ардуиновского выхода по питанию ему явно не хватает.
Всё верно, для правильной работы лучше питать от 3.3 с внешнего стабилизатора с хорошим током. В примере же используется 5В, что, действительно, весьма рискованно, но стабильно работает некоторое время.
Подредактируем урок, чтобы ни у кого не возникало желания рисковать здоровьем модуля:)
Добрый день. А где скачать библиотеку SerialFlow уже под nrf24? Или скажите какой програмой редактировать .h -файлы…
Для редактирования .h файла подойдет любой текстовый редактор. Блокнот, к примеру.
Добрый день.Подскажите, пожалуйста, по его документации у него 125 каналов, а объединяться могут только 6? Если стоит задача сделать 100 устройств, которые способны общаться между собой, то это нельзя реализовать с использованием NRF24L01?
Либо один приемник на каждые шесть передатчиков, либо сколько угодно передатчиков, но в режиме приема-передачи: делаешь запрос к конкретному передатчику, он переключается в режим передачи и отправляет данные.
Пришлось мне как-то дебажить этот приемо-передатчик.
Чтобы упростить дело, сделал такой сайтик. Может кому пригодится.
http://nrf24l01.codes/
Как в файле SerialFlow.h раскомментировать нужный интерфейс: HardwareSerial либо RF24
Живу в Деревне. Пенсионер.