Кодовый замок на микроконтроллере
Ivica Novakovic
Можно найти много модификаций устройств, известных как электрический кодовый замок. Уникальность этого устройства в новом способе считывания нескольких клавиш при помощи только одного входа микроконтроллера (МК). Я использовал аналогово-цифровое преобразование (АЦП), и этим методом я могу точно детектировать, какая из клавиш нажата. Этот способ детектирования клавиш может быть использован только с микроконтроллерами, имеющими встроенный АЦП, поэтому мы будем использовать простой PIC12F675, т.к. нам не требуется много портов для считывания состояний клавиш.
Как это работает Нажмите четыре клавиши в определенном порядке, и реле переключится на 5 секунд, вот и все. Но вначале вы должны запомнить ваш код: нажмите и удерживайте кнопку, подключенную к выводу 3 МК, пока не загорится светодиод. Теперь, когда светодиод загорелся, вы должны ввести секретный код.
После того, как вы сделали это, ваш код сохранился в eeprom контроллера PIC12F675, и вы сможете включить реле, используя только этот код. Если вы наберете неправильный код 10 раз, включится реле сигнализации.
Определение клавиш с помощью аналого-цифрового преобразователя
Вывод 7 на PIC12F675 определен как вход и внутренне он подключен к модулю АЦП. PIC12F675 имеет встроенный 10 битный АЦП с диапазоном значений преобразования от 0 до 1023. Поэтому, если у нас использовано 12 клавиш, зазор преобразования между ними равен 85. Согласно этим вычислениям, зададим «клавише 0” диапазон 0-85, «клавише 1” — диапазон 86-170, «клавише 2” — диапазон 171-256 и т.д.
Я думаю, что можно подключить и больше 12-ти клавиш, сохранив при этом хорошее распознавание каждой клавиши.
PCB back 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
2 комментария