В данной статье приводиться очень простой цифровой кодовый замок на микроконтроллере ATTiny24A.
Микроконтроллер тактируется от внутреннего генератора на частоте 1 МГц (внутренний RC-генератор 8 МГц с делителем на 8).
Секретный код (0…31 цифр) хранится в EEPROM. Секретный код можно изменить без перепрограммирования контроллера.
Управление замком осуществляется с помощью клавиатурной матрицы 3 х 4 0-9, *, #). Для индикации состояния кодового замка используются три светодиода и пьезоизлучатель. Конденсатор С1 следует разместить как можно ближе к микроконтроллеру к выводам питания микроконтроллера.
Потребление микроконтроллера в холостом режиме при 5 В составляет от 0,3 до 0,5 мА. Общее потребление тока этим кодовым замком в основном зависит от потребления светодиодов и выходной нагрузки.
Резисторы R1, R2 и R3 определяют ток и, следовательно, яркость соответствующих светодиодов. Напряжение питания 5 В можно получить от более высокого напряжения, используя простую схему со стабилизатором 7805.
Режимы работы
С помощью перемычки DP1 (переключатель режима) вы можете выбрать один из 5 режимов работы кодового замка:
- 1 : секретный код для разблокировки замка, одиночная кнопка для блокировки
- 2 : секретный код для разблокировки замка и секретный код для его блокировки
- 3 : открытие замка на 2 секунды
- 4 : открытие замка на 6 секунд
- 5 : открытие замка на 18 секунд
В режиме 1 необходимо ввести код для разблокировки замка. Замок можно заблокировать без ввода кода. В режиме 2 необходимо ввести код как для блокировки, так и для разблокировки. Режимы 3-5 используются для импульсной разблокировки — после ввода кода устройство разблокируется на указанное время, а затем автоматически блокируется. Режимы 3-5 отличаются друг от друга только длиной импульса (время до автоблокировки).
Блокировка и разблокировка
Цифровой код вводится с помощью матричной клавиатуры 3X4, используя цифры от 0 до 9. Для подтверждения кода при разблокировке используйте # (так называемую кнопку решетки или знак решетки — в правом нижнем углу клавиатуры). Для блокировки устройства используйте * (так называемую звездочку или звездочку — в нижнем левом углу).
В режимах 3-5 после таймаута замок автоматически блокируется. Звездочку (*) можно использовать для блокировки до истечения времени ожидания. Нажатие клавиши обозначается коротким звуковым сигналом. Блокировка обозначается высоким, а затем низким звуковым сигналом. Разблокировка обозначается низким, а затем высоким звуковым сигналом.
Если вы введете неправильный код, вы услышите 5 коротких звуковых сигналов. При превышении максимальной длины кода (31 цифра) вы услышите 3 коротких звуковых сигнала. Светодиод HL1 горит, когда замок заблокирован, а HL2, когда он разблокирован.

Восстановление забытого кода
Если вы забыли секретный код, то есть возможность его восстановить. Выключите питание, установите перемычку между выводами PB1 (вывод 3) с PA4 (вывод 9) и снова подайте питание. Сейчас устройство находится в режиме восстановления секретного кода.
Нажмите # и удерживайте в течение 2 секунд, чтобы войти в процесс смены кода. Введите новый код дважды и при этом всегда подтверждайте нажатием #. Не забудьте снять перемычку после восстановления.
Скачать прошивку (1,4 KiB, скачано: 270)
