Форма входа

Поиск



Счетчик посетителей

Рейтинг@Mail.ru

Разработано jtemplate модули Joomla

Кодовый замок

В этой статье описывается оригинальная конструкция кодового замка с встроенным музыкальным дверным звонком.

Это не совсем обычный замок. Представьте себе кодовый замок, который может воспринимать в качестве кодовой комбинации не только отдельно нажимаемые кнопки, но и любые их сочетания. Например, попарно нажимаемые кнопки, комбинации типа: «Нажать кнопку 6 и не отпуская набрать код 257». Или так: "Нажать кнопку 1, не отпуская нажать кнопку 4, а затем, не отпуская первые две кнопки нажать кнопку 9". И вообще, любую комбинацию любых кнопок в любом сочетании. Мною был разработан такой замок. Его я и хочу предложить вашему вниманию.

Принцип действия замка следующий:

Замок имеет два режима работы. Режим "Записи кода" и режим "Охраны". Для выбора режима предназначен переключатель S12 (см. схему). Если контакты этого переключателя разомкнуты - замок находится в режиме "Охрана", если замкнуты - в режиме "Запись кода". В режиме "Записи кода" хозяин квартиры нажимает кнопки набора кода в любом порядке и в любых комбинациях. Микроконтроллер отслеживает все изменения на клавиатуре и записывает их в ОЗУ. Причем не берется во внимание время удержания той либо иной комбинации. В память записывается лишь факт смены комбинаций. Длина кодовой последовательности ограничена только размерами ОЗУ. Сигналом к окончанию ввода кода служит прекращение манипуляций с клавиатурой. Процессор с читает, что ввод кода закончился, если состояние клавиатуры не изменилось в течение одной секунды. В процессе набора код записывается в ОЗУ. При обнаружении паузы в 1 секунду процессор переписывает код в свою внутреннюю долговременную память (EEPROM). Этот код представляет собой последовательность байтов, отражающих все состояния клавиатуры во время набора. После того, как коды будут записаны, замок можно перевести в режим "Охрана" (разомкнув контакты S12).

В режиме Охраны замок постоянно находится в ожидании нажатия кнопок (S1...S10). То есть, ждет ввода кода. Для того, что бы дверь открылась, необходимо повторить те же самые манипуляции с кнопками, которые были сделаны в режиме записи кода . Микроконтроллер так же, как и в предыдущем случае отслеживает эти манипуляции, и записывает полученный таким образом код в ОЗУ. По окончании ввода кода (не нажатие кнопок в течении 1 секунды) программа переходит в режим сверки кода. Она сравнивает код находящийся в ОЗУ и код, записанный в EEPROM. Сначала сравнивается длина обоих кодов. Затем коды сверяются побайтно. Если сравнение прошло успешно, микроконтроллер подает сигнал на ключ механизма открывания замка (VT2). Транзистор открывается и подает питание на реле K1, котрое и открывает замок. Тут можно сделать по разному. Например, контакты реде K1 могут включать ссоленоид замка.

Кроме собственно замка это устройство выполняет так же роль дверного звонка. Для этого в схеме есть кнопка звонка (S11) и звуковой излучатель (VF1). В качестве усилителя звука используется ключ на транзисторе VT1. Программа сделана таким образом, что при прикращении звука на выходе PB3 контроллера всегда устанавливается логический ноль. Ключ закрывается и ток через транзистор и динамик VF1 не идет. Таким образом удалось обойтись без разделительной емкости. Дверной звонок работает независимо от кодового замка. Правда только в режиме ожидания кода. Когда код уже начали набирать, звонок отключается. При нажатии на кнопку звонка звучит одна из восьми записанных в память мелодий. При каждом нажатии новая мелодия. Мелодия звучит, пока нажата кнопка.

Представленная выше конструкция подробно описана в книге "Разработка устройств на микроконтроллерах AVR, шаг за шагом от "чайника" до профи ". Подробнее об этой книге вы можете прочитать перейдя на специальный сайт перейти>>.

В книге, размещены два варианта программы для этого устройства. Одна на языке Ассемблера, а другая на языке СИ. Для обоих вариантов программы в книге даны очень подробные описания. Там же есть и еще целый ряд примеров со схемами и описаниями.

Название книги

"Разработка устройств на микроконтроллерах AVR, шаг за шагом от "чайника" до профи"

Игра