Главная » Безопасность » Кодовый замок на микроконтроллере. Схема и описание.

Кодовый замок на микроконтроллере. Схема и описание.

Данный кодовый замок на микроконтроллере собран на достаточно простом микроконтроллере AVR ATtiny13. Его можно применить для ограничения допуска в различные складские помещения, запирание ворот гаража и дверь дома, а также для включения различных приборов, включение которых нужно ограничить.

Принцип работы

Работа замка на микроконтроллере основана на поочередном вводе трех чисел. Размер каждого числа может быть в диапазоне от 0 до 255. Это в свою очередь повышает уровень секретности кодового замка по сравнению с другими замками, у которых каждое секретное число имеет размер от 0 до 9.

В том случае если введенная последовательность этих трех чисел совпадает с тремя числами, которые внесены в память микроконтроллера кодового замка, то на выходе (вывод 3) появится управляющий сигнал ( лог.1),   на 15 секунд  загорится светодиод HL4 сигнализируя о правильности ввода и сработает реле К1 управляющее исполнительным механизмом замка. По истечении 15 секунд на выводе 4 микроконтроллера появится лог. 0 и замок перейдет в первоначальное состояние ожидания.

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

Управление работой кодового замка осуществляется всего двумя кнопками, руководствуясь только индикацией светодиодов. Причем ввод секретного кода осуществляется только одной кнопкой SB2, которая находится на наружной панели замка. Вторая кнопка SB1 предназначена для программирования, и она расположена на самой плате.

Этапы управления кодовым замком

  • Внесение в энергонезависимую память микроконтроллера три кодовых числа.

Рассмотрим это на конкретном примере. Допустим, нам нужно задать следующий секретный код: первая цифра 8, вторая цифра 12, третья цифра 9.  Для этого подаем  питание на устройство, затем нажимаем и удерживаем обе кнопки (SB1 и SB2). После этого отпускаем кнопку SB1, и как только начал мигать светодиод HL1 отпускаем и кнопку SB2. После этих манипуляций светодиод HL1 будет гореть постоянно, а светодиоды HL2 и HL3 не будут гореть. Это состояние светодиодов говорит о том, что устройство перешло в режим программирования.

Теперь чтобы записать первое число нам нужно нажать и удерживать кнопку SB2, при этом все три светодиода начнут мигать. Нужно отсчитать необходимое количество вспышек (в нашем случае это 8) и отпустить кнопку. После этого, в подтверждении правильности введенного числа, светодиоды промигают такое же количество раз (8 раз). Все, первое число записано. Далее загорается светодиод HL2 – напоминая нам, что необходимо записать второе число.

Поступаем точно так же как и с записью первого числа: нажимаем и удерживаем кнопку SB2 и отсчитываем необходимое число вспышек светодиодов (в нашем примере это 12), отпускаем кнопку и проверяем правильность ввода по повторным вспышкам. Затем загорается светодиод HL3 для третьего числа, и повторяем туже процедуру и для третьего числа (число 9).

После того так мы записали в память микроконтроллера все три числа и для выхода из режима программирования нужно нажать кнопку SB1.

  •  Набора секретного кода

Рассмотрим так же это на примере. До этого мы записали секретный код 8-12-9. Для ввода вначале нажимаем кнопку SB1 и отпускаем ее сразу, после того как загорится светодиод HL1, тем самым переводим наш замок в режим ввода кода. Свечение светодиода HL1 свидетельствует, что нужно ввести первую цифру. Процедура ввод цифр  аналогична тому, как вводились цифры при программировании. То есть, нажимая на кнопку SB1, отсчитываем необходимое количество, после чего отпускаем кнопку и наблюдаем подтверждение наборной цифры путем мигания светодиодов. Затем переходим ко второй и третьей цифре.

В том случае если все три цифры секретного кода введены верно, сработает реле и на 15 секунд включится светодиод HL4, светодиоды HL1,HL2,HL3 будут светиться в режиме бегущих огней.

Для ввода секретного кода предоставляется три попытки. Если в третий раз код введен неверно, возможность ввода блокируется на 2,5 минуты. По прошествии этого времени замок снова будет готов к вводу кода.

 При программировании микроконтроллера следует выставить следующие фьюзы:

  • CKDIV8 = 0
  • BODLEVEL0 = 0
  • SPMEN = 0

Скачать прошивку (1,3 MiB, скачано: 2 283)




Добавить комментарий


.