Печать

Кодовый замок с ЖК дисплеем

Опубликовано . Опубликовано в Устройства на AVR

Рейтинг:   / 7
ПлохоОтлично 

При разработке охранной сигнализации достаточно часто возникает необходимость в устройстве управления, которое бы производило включение/выключение системы. Применение кодового замка позволяет отказаться от всевозможных ключей и использовать в качестве контрольного элемента набор символов, которые можно легко запомнить.

Описание

Данное устройство способно управлять различным стационарным оборудованием при помощи кода, который можно изменять напрямую с клавиатуры. В последствии он записывается в энергонезависимую EEPROM память микроконтроллера и остается там после выключения питания.

Кодовый замок с ЖК дисплеем - cхема

Конструкция

Как видно из схемы, устройство ввода представляет собой клавиатуру из 12 клавиш. Из них 10 для ввода символов(SB1...SB10), и 2 для подтверждения (SB11) и сброса (SB12). При сборке использовались обычные кнопки, но можно поэкспериментировать и с графитовыми контактами, однако придется подобрать сопротивление R1 ...R4. Если же планируется выводить клавиатуру на проводах, превышающих в длине 20 см, то для более устойчивой работы необходимо уменьшить сопротивление до 4...5 кОм. Введенные символы дублируются на ЖКИ, который также осуществляет отображение режима работы. Функции управления реализованы на микроконтроллере ATmega8, который настроен на работу от внутреннего генератора 8 МГц. Для подключения к другим устройствам используется разъем, в котором предусмотрены следующие выходы: SW-для включения/выключения (изменяет свое состояние при правильном вводе кода на противоположное: логический "0" на "1" и обратно при повторном вводе), STR - на нем в течении 5 с после правильного кода устанавливается логическая "1". По истечении этого времени устанавливается "0" (преимущественно предусмотрен для замка двери). Данные выходы рассчитаны на максимальный ток нагрузки 20 мА и позволяют самостоятельно разработать исполнительный элемент (транзисторный ключ с реле, например) либо без особого труда связать замок с другим устройством. Питание осуществляется однополярным напряжением 5 В, которое снимается со стабилизатора главной схемы. При отсутствии такового можно применить микросхему 7805. Если вы уверены в возможности ввода кода "в слепую", то ЖКИ можно не подключать. На работу схемы зто не повлияет, но создаст неудобства при смене кода.

Настройка

Она заключается только в подстройке сопротивления R6, чем определяется контраст ЖКИ.

Детали

ЖКИ может быть использован любой марки, но с такой же конфигурацией и возможностью вывода 16 символом на 2 строки. Конденсатор С1 можно исключить в случает наличия цепей фильтрации в управляемом устройстве.

Работа с устройством

Базовый вариант данного устройства предусматривает 9 символов кода. Однако, для простоты использования, программа микроконтроллера была изменена. Более подробно см. в главе Прошивка.

При первом включении устройства в ячейках 0-8 (в зависимости от кода) EEPROM памяти находятся значения FFh. Так и должно быть, ведь при стирании МК "с заводской конфигурацией" стирается и этот вид памяти. Следовательно, физически с клавиатуры ввести 255 одним символом невозможно. Поэтому в программу введена специальная процедура проверки EEPROM. При запуске схемы она считывает значение с адреса 0 и анализирует. Если оно не является О, 1,2.. .9 (физически доступным символом), то производиться запись во все ячейки кода значений 0. Следовательно, код будет "000000000" в базовой версии (9 символов). Если же все нормально, то в ОЗУ загружается значения из памяти. На индикатор будет выведено слово "Code: (рус. версия Код:)". На обоих выходах будет присутствовать логический "0". С этого момента устройство работает в режиме ожидания кода (далее РО).

Ввод кода

Для открытия замка необходимо ввести код с клавиатуры и нажать клавишу "Ok". При правильном коде вы увидите сообщение "Ок!!! (Верно!!!)" и произойдет изменение на выходах устройства. После 5 с - переход в РО. Если же код не верен, вы получите соответствующее сообщение, и схема будет заблокирована на 10 с. Это вынужденный шаг, который позволяет увеличить время взлома замка путем перебора кода. При варианте 9 символов из {0...9}, данная операция от первой до последней комбинации займет около 310 лет (По 9 комбинаций). В целях безопасности код дублируется на индикаторе символом "#". При превышении количества введенных символов выполняется автоматическая очистка ЖКИ. Кнопка "Clear" служит для произвольной очистки в случае ошибки.

Смена кода

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

Поэтому процедура выглядит следующим образом:

1. Ввести комбинацию "123" (она фиксирована), нажать "Ok". На индикаторе отобразиться строка "Enter code" ("Введите код")
2. Ввести ваш старый код (при первом запуске все 0) и нажать "Ok". Если все правильно, то вы перейдете на следующий уровень (("Enter new" (Введите новый)), в противном случае - сообщение об ошибке, блокировка и переход в РО.
3. Ввести новый код, который отображается на индикаторе соответствующими символами при нажатии клавиш. При переполнении количества символов, отображаться и использоваться будут те, что были введены первыми. Если количество символов соответствует необходимому, то после нажатия на "Ok" появиться сообщение "Code is changed (Код изменен)", устройство перепишет код в EEPROM и перейдет в РО с измененным кодом. В противном случае-сообщение о несоответствии количества символов и переход в РО. На любом этапе смены кода выход из данного режима осуществляется нажатием на кнопку "Clear". Это необходимо в том случае, если вы не согласны с тем, что ввели. Так как в данной операции на ЖКИ отображается реальный код, то ее следует производить при отсутствии посторонних.

Монтаж устройства

К данному условию следует отнестись достаточно серьезно, так как это в основном и определяет безопасность использование подобных устройств. Одно из главных требований - это отсутствие открытых и неизолированных участков схемы. Ведь "открыть" замок в противном случае достаточно просто. Клавиатуру желательно выполнить с диэлектрическими толкателями (если выбран вариант с кнопками). На ее внешней части следует установить проводящую пластину с отверстиями под толкатели, которая должна быть заземлена (подойдет и кусок стеклотекстолита с одним слоем фольги). Обращаю ваше внимание, что "земля" клавиатуры должна быть изолирована от "земли" устройства. Это позволит снизить вероятность его поражения от высоковольтных разрядов при попытке вывести из строя. Универсальный вариант - это заземленная рамка, в которую производится монтаж внешних частей устройства. Данные способы подходят для наружной установки замка, однако в большинстве случаев монтаж можно выполнять произвольный, в зависимости от условий эксплуатации.   

Прошивка

Для данного устройства было написано 6 прошивок: русский и английский язык по 4, 6 и 9 символов. Английский вариант предусмотрен в тех случаях, когда контроллер ЖКИ не отображает русских символов. У них нет функции "мастер код", при помощи которой можно открыть замок в независимости от основного кода. Код" 123" не осуществляет воздействия на выходы устройства. Для настройки на внутренний генератор 8 МГц необходимо установить биты конфигурации (они же FUSE bits) CKSEL 0-3 в положение 1101 соответственно. В программаторе от "CodeVisionAVR" 1 соответствует установленная "галочка", т.е. данный бит программируется.

Установка fuse-битов

Источник: mdn-project.narod.ru

Файлы:
Дата 28.03.2010 Размер файла 24.01 KB Закачек 2200

Комментарии  

0 #21 AntonChip 18.08.2012 19:14
Попробуй без R8 и С1, R7 - 1кОм
Сообщить модератору
0 #22 pudikq 18.08.2012 19:17
Цитирую admin:
Попробуй без R8 и С1, R7 - 1кОм

спасибо, попробуем :-)
Сообщить модератору
0 #23 Pudikq 20.08.2012 09:58
Цитирую admin:
Цитирую pudikq:
STR постоянно GND...при правильном воде пароля STR отключается на 5с.

так и есть, постоянно на STR лог.0, при правильном вводе пароля на нем лог.1 в течение 5 сек. Подключить реле так


Спасибо вам большое, все заработало! :D
Сообщить модератору
0 #24 Pudikq 22.08.2012 17:03
Привет!
как можно сделать открывание замка не 5с, а скажем 1 или 0,5с???????
Сообщить модератору
0 #25 AntonChip 22.08.2012 17:49
Исходника нет. Напиши автору, если нормально попросишь он поменяет.
Сообщить модератору
0 #26 Pudikq 22.08.2012 17:52
спасибо
Сообщить модератору
0 #27 laser_shot 18.01.2013 14:20
Добрый день!!!
Собрал схему, прошивка на 4 (рус),
все работает. Как устройство взятия\снятия
(вых. SW), рулит по полной, а вот как замок...(вых. STR), по моему не хватает
кнопки выхода изнутри помещения. Просьба
к автору...если не затруднит...доб авить кнопку на свободный порт, при нажатии которой на вых. STR появлялась "1" на 5 сек.
СПАСИБО!
С уважением к автору!!!
Сообщить модератору
0 #28 perehiniak 04.06.2013 21:39
а можно ету прошивку под mega32 переделать? кто может буду очень благодарен!!
Сообщить модератору
0 #29 Makc 28.10.2015 15:30
Блин собрал сей девайс, не работает вообще ни как!
Может кто подскажет чего?
Перебрал уже штук шесть разных атмег и в дип, и смд , и а и л. Результат один набираю код никакой реакции 5в на выходе и усе а после нескольких таких операций в еепром дописывается 030, причем столько раз сколько было попыток.
Сообщить модератору
0 #30 AntonChip 28.10.2015 18:30
Цитирую Makc:
Блин собрал сей девайс, не работает вообще ни как!

Код меняется?
Сообщить модератору
0 #31 Makc 29.10.2015 03:22
Похоже на то. Я так понимаю еепром должен быть пуст при первом запуске, но при считывании после попыток вот такая фигня. Экран тоже не реагирует, было один раз что вроде заработало но экран все равно не работал.
Сообщить модератору
0 #32 Makc 29.10.2015 03:25
Д и вписывается не 030 а просто 30, опечатка.
Сообщить модератору
0 #33 Makc_ 21.01.2016 14:55
Есть печатка под смд, могу скинуть.
И кнопки лучше использовать резиновые, типа калькулятора, пульта и т.д., дребезга нет на них, а на тактовых сначало нормально потом хрен код подберешь.
Сообщить модератору

Рекомендуем посмотреть