Оптопары и оптореле Megawin

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

Ivica Novakovic

Можно найти много модификаций устройств, известных как электрический кодовый замок. Уникальность этого устройства в новом способе считывания нескольких клавиш при помощи только одного входа микроконтроллера (МК). Я использовал аналогово-цифровое преобразование (АЦП), и этим методом я могу точно детектировать, какая из клавиш нажата. Этот способ детектирования клавиш может быть использован только с микроконтроллерами, имеющими встроенный АЦП, поэтому мы будем использовать простой PIC12F675, т.к. нам не требуется много портов для считывания состояний клавиш.

АЦП азиатских производителей. Часть 1. Преобразователи последовательного приближения

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

Как это работает

Нажмите четыре клавиши в определенном порядке, и реле переключится на 5 секунд, вот и все. Но вначале вы должны запомнить ваш код: нажмите и удерживайте кнопку, подключенную к выводу 3 МК, пока не загорится светодиод. Теперь, когда светодиод загорелся, вы должны ввести секретный код.

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

Определение клавиш с помощью аналого-цифрового преобразователя

Определение клавиш с помощью аналого-цифрового преобразователя

Как видно на рисунке, клавиатура сделана из последовательности резисторов и кнопок. От клавиатуры выходит только три провода: +5В, «Земля» и сигнал клавиши, который идет к выводу 7 МК. Резисторы соединены последовательно, и в каждом узле значения напряжения различны. Когда мы нажимаем любую клавишу на клавиатуре, мы подаем определенное напряжение от узла резистивной цепи на 7 вывод МК.

Вывод 7 на PIC12F675 определен как вход и внутренне он подключен к модулю АЦП. PIC12F675 имеет встроенный 10 битный АЦП с диапазоном значений преобразования от 0 до 1023. Поэтому, если у нас использовано 12 клавиш, зазор преобразования между ними равен 85. Согласно этим вычислениям, зададим “клавише 0” диапазон 0-85, “клавише 1” - диапазон 86-170, “клавише 2” - диапазон 171-256 и т.д.

Я думаю, что можно подключить и больше 12-ти клавиш, сохранив при этом хорошее распознавание каждой клавиши.



схема кодовый замок

кодовый замок плата

PCB back side
кодовый замок плата
PCB components side

Keylock sch & pcb - pcb files in Protelu-99 SE format

Keylock.pdf - pcb in acrobat PDF format

Keylock program in hex: Keylock hex

Перевод: Павел Катлеров, по заказу РадиоЛоцман

На английском языке: KeyLock

ТМ Электроникс. Электронные компоненты и приборы. Скидки, кэшбэк и бесплатная доставка
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • Собрал данную схему, прошил PIC программатором EXRA-PIK, программа IC-prog 1.05d. Контролер пишится, читается, все ОК. Но замок не работает. Вот такие дела. Может кто собирал? Подскажите...:mad:
  • Извиняюсь... Все работает. При прошивке стер константу внутреннего гениратора
  • Так вам инадо, любители прошивок! Сколько простых и надежных схем! Нет же - скоро дверной звонок без контроллера не обойдется!
  • Хорошая конструкция. Простота, компактность. Просто у PIC немножко надо поморочиться с заливкой прошивки (ну там константы всякие, параметры запуска). Хотя у других контроллеров также. Не надо говорить - без контроллера не обойдется - конечно же - сейчас их выгоднее применять, чем использовать кучу других деталей.
  • Не совсем понял С5 какого номинала? простите, непонятно.
  • Но должны ж быть какие-то разумные пределы! Например, бегушка с десятками разных программ - согласен. Но приносят недавно мне в ремонт-доработку пусковую установку для 16 фейерверков (бегушка с одной программой, только изменяемой скоростью): сделать, чтоб дистанционкой включался не полный пробег (все 16 поочередно без возможности остановить), а пуск одной следующей ракеты. Думаю - плевое дело (и соответствующую цену назначаю): отцепить от входа счетчика тактовый генератор, а подать прямо с дистанционки... Открываю - контроллер!!!!!! Представляете, что я сказал об этом контроллере, его конструкторе, родственниках этого конструктора, правительстве этой страны и всей моей х....й жизни!
  • А что же Вы хотели - 21 век. Вот как раз если исходить из стоимости такого устройства - оно стоит копейки, т.к. грубо говоря стоит один контроллер и все! Естественно, что потом с таким устройством проблемно что-то сделать (как в Вашем случае) аппаратно. Но заменой прошивки (т.е. написать новую прогу и залить ее в контроллер) все решается :)
  • Ну, в моем примере, может, контроллер и оправдан (просто меня достало): шестнадцатью поджигателями он управлял чрез 7 релюшек (я так и не разобрался, почему хотя бы не 8).
  • Короче, вместо переброски одной перемычки пришлось собрать [url]http://www.rlocman.ru/forum/showthread.php?p=11753#post11753[/url]
  • При увеличении длины кода до 10-12 знаков, и наличии защиты клавиатуры от вандалов, теоретически можно поставить такое изделие на дверь квартиры или гаража в качестве дополнительного замка. Как защитить клавиатуру от огня, воды, молотка, электрошокера… ?
  • По большому счету "против лома нет приема". Но у нормальной схемы повреждение вводного устройства не должно вызывать отпирания.
  • Как я писал, конструкция мне понравилась. Но в ней врядли продуман вопрос защиты от повреждения вводного устройства. Да и используя клавиатуру это немного затруднительно сделать. Немного повысить надежность можно используя "таблетки".
  • Я согласен с некоторыми постами, эта схема не особо требует микроконтролер
  • Прошу прощения но не могли бы мне дать инфу о битах конфигурации (при попытке прошивки icprog выругивается на их отсутствие) для данной схемы, заранее благодарен. если можно то на почту [email]scorpi@moto18.ru[/email]
Полный вариант обсуждения »