Кодовый замок на клавиатуре 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

Залишити коментар

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