Аппаратная часть.
- Контроллер arduino (в моем случае mega 2560).
- Клавиатура 4*4 – 1 шт.
- LCD дисплей 16*2 – 1 шт.
- Переменный резистор 10 КОм или иного номинала для настройки контрастности дисплея – 1 шт.
- Светодиоды, желательно разных цветов – 3 шт.
- Резисторы 100-300 Ом – 3 шт.
- Buzer – 1шт.
- Кнопка без фиксации – 1шт.
- Соединительные провода – не считал 🙂
Программная часть.
Алгоритм работы:
Состояние по умолчанию – “Закрыто”.
При вводе верного четырех-значного кода замок переходит в состояние “Открыто” на пять секунд, затем возвращается в исходное состояние.
Кнопка на ноге 23 так же переводит замок в состояние “Открыто”
После каждой четырехзначной комбинации клавиатура блокируется на пять секунд.
Смена кода на открытие замка:
- На клавиатуре зажать одновременно кнопки “*” (звездочка),”#” (решетка) и “A” на пять секунд, в первой строке дисплея высветится надпись “Setup”
- После паузы ввести сервисный пароль (по умолчанию 2580, редактируется на пятой плате путем изменения констант). Дождаться надписи “New password” в первой строке и “Enter” в конце второй строки.
- Ввести новый пароль и нажать “В”, пароль будет записан в энергонезависимую память и замок перейдет в состояние по умолчанию.
Сменить пароль можно только в режиме “Setup”. Если ввести сервис
Работа замка сопровождается сигналами пьезы в трех режимах, светодиодной индикацией и оповещениями на дисплее.
LED индикация
- pin 24 – “Открыто” (зеленый)
- pin 26 – “Закрыто” (красный)
- pin 27 – “Ожидание” (любой, в моем случае белый)
Оповещение: пьезоэлемент на ноге 22
Алгоритм работы схож с заводскими кодовыми замками.
Усовершенствование проекта и замечания по его исполнению приветствуются.
Файл проекта: https://yadi.sk/d/1SyUtw_9uNNFE
Автор: Pratak
вот и все. файл проекта нету
А где защита от подбора кода?
Предлагаю изменять сервисный пароль с помощью SD карты.
А исполнительный механизм подключать к
И про проект “Замок 6 кнопок” тоже желательно описание.
Для начинающих желательно подробный рассказ о работе программы, можно видео. За ранее спасибо.
S. А можете поделиться скетчем под нано? 🙂
Привет.
Хочу сказать спасибо автору программы Flprog и
разработчику программы “Кодовый замок”.
Перенёс на Arduino Nano и всё заработало
(я так думаю, на сколько разобрался.)
Изменил: установил цепочку включения
подсветки на время набора кода.
-дисплей подключил по I2C.
Замечания: если ввести меньше четырех цифр,
то они продолжают сидеть на дисплее (звездочки).
и не сбрасываются пока не введешь четвертую.
и второе пожелание, это ограничить время ввода-
не уложился, к примеру в 10с – сброс всё по новой.
а в остальном супер, все понравилось.