nrf24 подключение к Ардуино. Электронный кодовый замок.

nrf24 подключение к Ардуино. Электронный кодовый замок.

Установка и подключение радиочастотного модуля nrf24 к Ардуино. Характеристики модуля, дальность приёма сигнала, характеристики. Настройка модуля nrf24 в систему электронного замка. Соберём электронный замок с управлением радиочастотным модулем NRF24L01+. Рассмотрим схему подключения, такие как приёмник и передатчик. Управлять будем с помощью кодового замка построенного на клавиатуре 4х4.  Схемы, а также скетчи и программы будут лежать в архиве на моём сайте. NRF24L01+ это дешёвый и качественный модуль для радиоуправления с помощью Ардуино. Может передавать голос с хорошим качеством.

NRF24L01.

Сегодня, по просьбе одного из моих подписчиков, я покажу пример работы с модулем NRF24L01+.
Вначале я планировал показать как удалённо управлять электромагнитным замком на двери. Прикольно когда подходишь к входной двери, а там нет замочной скважины для ключа,  кодового замка или считывателя карт, картридера. Все гости будут в шоке придя к вам в гости. А всё потому, что сам кодовый замок вы будете носить с собой в кармане. И даже если вы его потеряете или у вас его украдут в этом нет ничего страшного, ведь всё равно надо знать комбинацию кода.
У меня уже было видео про кодовый замок, поэтому я взял код оттуда. Немного урезал его, так как мне сейчас не нужны были светодиоды и пищалки. А если вам интересно, то вы можете посмотреть полную версию в этом видео.
Теоретическую часть я пропущу. Если вам будет интересно, то могу снять отдельное видео про технические параметры модуля  NRF24L01+.
Самое основное что нам надо знать, то это то что работает по радиоканалу. Частота как и у WIFI 2.4 гГЦ
 питается от 3.3 вольт, и радиус действия моего модуля что в видео на улице 100 метров, а в доме до 30 метров. Если вы купите с внешней антенной, то радиус увеличится до 1 км. Скорость передачи до двух мегабит в секунду. И он может работать как на приём, так и на передачу, но не одновременно. На нём можно сделать домофон, так как он может достаточно неплохо передавать голосовые сообщения. Имеет 128 фиксированных канала. 
На 1 канале может работать - 1 приёмник и  6 передатчиков. Каждому передатчику присваивается уникальный номер. Ещё его называют адрес трубы. А в коде приёмника записывают все номера передатчиков которые он должен слушать.
Можно задать скорость и уровень мощности передатчика. От этого зависит потребление тока модулем.
Есть возможность подключить уведомление о приёме. И он будет передавать сообщение пока не получит подтверждение, что оно получено.
Модуль можно перевести в режим энергосбережения, при этом он сохранит возможность приёма и передачи данных. 

В ПРОЦЕССЕ сборки ,у меня правда развалился электрозамок. Поэтому я просто подключил реле, а к нему вы можете уже подключить что угодно.
Давайте теперь посмотрим что у меня получилось.


Схема подключения модуля NRF24L01+ В РЕЖИМЕ ПЕРЕДАТЧИКА к плате Ардуино НАНО. Так же здесь показано как подключать клавиатуру 4*4. У вас может быть другое расположение выводов. У меня так было на другой клавиатуре. Перед подключением проверьте по даташиту. 

В режиме приёмник подключаем реле и нагрузку. Для питания нагрузки скорее всего понадобится отдельное напряжение. Клавиатуру убираем.

Здесь вам единственное что надо сделать, то это поменять значения в этой строчке. Это пины отвечают за контакты CE и SCN расположенные на модуле. В моём случае это 14 пин или Аналоговый вход А0, и 10 пин Ардуино.

Для работы с модулем NRF24L01+ вам надо скачать и установить библиотеку RF24. Вот от этого автора. Устанавливаем последнюю версию.
После установки у нас появилась папка с примерами. Загрузим пример Сканер. 
Здесь вам единственное что надо сделать, то это поменять значения в этой строчке. Это пины отвечают за контакты CE и SCN расположенные на модуле. В моём случае это 14 пин или Аналоговый вход А0, и 10 пин Ардуино.

Сначала я неправильно укажу пины.  Прошиваем. Открываем ком порт и смотрим. 
И мы увидим, что Ардуино не опознало модуль. То же самое будет если вы неправильно подключите выводы или у вас не рабочий модуль.
Теперь укажем правильное значение. Открываем ком порт и видим, что у нас определился модуль и показаны его характеристики.
Ине забывайте, что скорость у меня установлена в скетче 115200 бод. Такая же должна быть и в ком порту.
На этом будем считать, что установка прошла хорошо и у вас всё подключено и работает правильно.

Можно загрузить мой пример ТЕСТ из архива.

Теперь перейдём к скетчу.
Код у нас установлен в символах ABCD. Количество символов до ввода знака решётка, 4 .
Клавиатура 4*4 . Горизонтальны и вертикальны ряды подключены вот так.
Код примера замка я рассматривать не буду, если что не понятно то смотрите видео про замок. Просто запомним что я ввёл комбинацию из 4 знаков. Для простоты – это ABCD.

Здесь я сделал возможность видеть ответ в ком порту. В конечном коде я убрал эту возможность, так как она без надобности.
Для окончания ввода комбинации надо нажать знак решётка. Если вы ошиблись при наборе номера, то вы можете нажать звёздочку и начать набор заново.
Посмотрим как это работает.
Я на одном экране вывел данные ком порта и клавиатуру и реле. При правильной комбинации реле включится, что мы увидим по загоревшемуся светодиоду на модуле реле.
Сначала у нас появляется надпись - Введите код.
При неправильно набранной комбинации Нас уведомят что набрано не верно. И предложат попробовать снова. Так будет пока не будет набран правильный код. Можно было бы ограничить количество попыток. Но я сейчас не стал этого делать.
Как только вы введёте правильную комбинацию, то вам напишут, Доступ разрешён и реле включится на 5 секунд. Через 5 секунд система снова встанет в режим ожидания ввода кодового слова.
Теперь давайте посмотрим как просто заменить комбинацию символов на другую. Для этого надо просто поменять значения и перепрошить Ардуино.
Теперь при наборе старой комбинации ABCD замок не откроется и нас не пропустят.

Вот так просто можно сделать довольно интересную и полезную вещь. Карманный кодовый замок.
Конечно его можно было бы сделать в разы меньше. Размер зависит только от размера клавиатуры.

Как мы помним, чтобы включить реле надо набрать кодовое слово. ABCD. Видим что что реле сработало. Оно будет в таком состоянии 5 секунд. После этого приёмник снова переключится в режим ожидания.
При неправильном нажатии ничего не происходит. Если вы ошиблись в наборе, то можно нажать звёздочку и снова начать набор. Окончание набора – это нажатие на символ решётка.
        


Напряжение питания:             1,9В – 3,6В;
Интерфейс обмена данными:         SPI;
Частота приёма и передачи:         2,4 ГГц;
Количество каналов:             128 с шагом 1МГц;
Тип модуляции:             GFSK;
Скорость передачи данных:         250kbps, 1Mbps и 2Mbps;
Чувствительность приёмника:     -82 dBm;
Расстояние приёма/передачи:     100м – прямая видимость; 30м – помещение;
Коэффициент усиления антенны:     2dBm;
Диапазон рабочей температуры:     -40оС…+85оС;
Организация сети на одном канале:     7 модулей (1 приёмник и 6 передатчиков).

 

 

Скетчи