Замок на ардуино.

Замок на ардуино.

Если вы хотите собрать кодовый замок на Ардуино, то вы попали по адресу.Сегодня поговорим о кодовом замке на клавиатуре 4х4. Я буду использовать кнопочную клавиатуру, потому что мембранная очень ненадёжная и у неё не всегда хороший контакт. Да и смотрится она не очень. Правда у неё есть плюс – она влагозащищённая.

Это моё третье видео про системы доступа.
Первые два – это доступ по отпечатку пальцев, и доступ по карте RFID. Больше я не знаю какую систему ещё собрать и на чём. Если знаете, то напишите, и я сниму про неё видео.
Все эти видео со всеми скетчами можно посмотреть на канале.

Для работы с клавиатурой мы будем использовать библиотеку Keypad. С этой библиотекой поставляются несколько примеров.
Рассмотрим самый простой CUSTOM KEYPAD. Этот пример выводит в монитор порта номер нажатой кнопки.
В первых строчках мы задаём количество строк и рядов клавиатуры. В моём случае это 4х4. 

 

Затем указываем названия этих кнопок.
Теперь к каким пинам будем подключаться.
Теперь проводим инициализацию клавиатура и создаём переменную класса Keypad. 
В цикле луп получаем значение нажатой кнопки и выводим в монитор.
Есть пример для подключения сразу 3 клавиатур, так что подключить несколько клавиатур к одной библиотеки не проблема. Главное чтобы хватило пинов на Ардуино.
Если видео не затянется надолго, то в конце я опишу, что делают остальные примеры.

 

Мы же сейчас остановимся на работе кодового замка.
Описание рабочего примера.
Сделаем так чтобы при правильном наборе цифр и букв на клавиатуре загорался зелёный светодиод и срабатывало реле., а если был неправильно набран код, то срабатывала пищалка и загорался красный светодиод. Количество попыток неограниченно, но можно было бы сделать определённое число раз, и система блокировалась бы, скажем на 10 минут.
Конец набора кода определяется по нажатии кнопки решётка. 
Если вы начали набирать код и ошиблись, то нажимаете звёздочку и набираете снова.
Установка кода и количества символов в коде меняется в двух строчках и тоже не ограничена. Я пробовал код их 10 символов и всё работало.
После правильного набора, через 5 секунд, система обнуляется и снова встаёт в режим ожидания набора кода. Реле отключается, а светодиод гаснет.
При неправильном наборе Загорается красный светодиод на 1 секунду и играет мелодия. После этого светодиод гаснет, а система снова встаёт в режим ожидания.
Алгоритм работы действующего скетча такой. 
Нажимаем 4 цифры или буквы, а пятой нажимаем знак решётка #  - это даёт сигнал, что набор закончен и начинается проверка введённого кода. Ну а про результат я уже писал. К реле можно подключить электромагнитный замок или сервомотор которые будут открывать дверь или что-нибудь другое.

Схема подключения.
Расположение выводов от клавиатуры бывает разное, так что у вас могут быть абсолютно другие контакты. 
Узнавайте при покупке и в скетче вписывайте свои данные.

Описание скетча.
Скетч хорошо прокомментирован, поэтому я здесь быстро пробегу по коду, чтобы не задерживать вас.
 

Дополнительные материалы по теме
Подключение кнопки к ардуино
TTP223 сенсорная кнопка
Резистивные кнопки
Управление одной кнопкой на ESP
Первая программа на Arduino. Aрдуино для начинающих
Digital Read Arduino
Управление светодиодами кнопкой на Ардуино
Кнопка, дребезг контактов при нажатии
input pullup arduino кнопка
Analog Read Arduino
Ардуино аналоговый вход Чтение аналогового напряжения

Скетчи