Кодовый замок на клавиатуре 4х4

Аппаратная часть.

  1. Контроллер arduino (в моем случае mega 2560).
  2. Клавиатура 4*4 — 1 шт.
  3. LCD дисплей 16*2 — 1 шт.
  4. Переменный резистор 10 КОм или иного номинала для настройки контрастности дисплея — 1 шт.
  5. Светодиоды, желательно разных цветов — 3 шт.
  6. Резисторы 100-300 Ом — 3 шт.
  7. Buzer — 1шт.
  8. Кнопка без фиксации — 1шт.
  9. Соединительные провода — не считал 🙂

Программная часть.

Алгоритм работы:
Состояние по умолчанию — «Закрыто».
При вводе верного четырех-значного кода замок переходит в состояние «Открыто» на пять секунд, затем возвращается в исходное состояние.
Кнопка на ноге 23 так же переводит замок в состояние «Открыто»
После каждой четырехзначной комбинации клавиатура блокируется на пять секунд.

Смена кода на открытие замка:

  1. На клавиатуре зажать одновременно кнопки «*» (звездочка),»#» (решетка) и «A» на пять секунд, в первой строке дисплея высветится надпись «Setup»
  2. После паузы ввести сервисный пароль (по умолчанию 2580, редактируется на пятой плате путем изменения констант). Дождаться надписи «New password» в первой строке и «Enter» в конце второй строки.
  3. Ввести новый пароль и нажать «В», пароль будет записан в энергонезависимую память и замок перейдет в состояние по умолчанию.

Сменить пароль можно только в режиме «Setup». Если ввести сервис
Работа замка сопровождается сигналами пьезы в трех режимах, светодиодной индикацией и оповещениями на дисплее.

LED  индикация

  1. pin 24 — «Открыто» (зеленый)
  2. pin 26 — «Закрыто» (красный)
  3. pin 27 — «Ожидание» (любой, в моем случае белый)

Оповещение: пьезоэлемент на ноге 22

Алгоритм работы схож с заводскими кодовыми замками.
Усовершенствование проекта и замечания по его исполнению приветствуются.

Файл проекта: https://yadi.sk/d/1SyUtw_9uNNFE

 

Автор: Pratak


2

Автор публикации

не в сети 6 месяцев

Анатолий

77
Комментарии: 26Публикации: 77Регистрация: 21-12-2017

9 комментариев к “Кодовый замок на клавиатуре 4х4”

  1. Привет.
    Хочу сказать спасибо автору программы Flprog и
    разработчику программы «Кодовый замок».
    Перенёс на Arduino Nano и всё заработало
    (я так думаю, на сколько разобрался.)
    Изменил: установил цепочку включения
    подсветки на время набора кода.
    -дисплей подключил по I2C.
    Замечания: если ввести меньше четырех цифр,
    то они продолжают сидеть на дисплее (звездочки).
    и не сбрасываются пока не введешь четвертую.
    и второе пожелание, это ограничить время ввода-
    не уложился, к примеру в 10с — сброс всё по новой.
    а в остальном супер, все понравилось.

     

    0

Оставьте комментарий

Войти с помощью: