Аппаратная часть.
- Контроллер 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с — сброс всё по новой.
а в остальном супер, все понравилось.