Кодовый замок на pic. Кодовый замок на микроконтроллере PIC16F628A
В различной радиолюбительской литературе можно обнаружить множество вариантов электронных кодовых замков.
Особенностью данной схемы кодового замка на микроконтроллере является принципиально новый метод считывания нажатия клавиш, используя всего лишь один порт микроконтроллера PIC12F675. Эта особенность может быть реализована только с микроконтроллерами в составе которого имеется модуль аналого-цифрового преобразователя (АЦП), к примеру как наш микроконтроллер PIC12F675.
Данный микроконтроллер снабжен 10 битным АЦП с диапазоном преобразования от 0 до 1023. Суть метода в том, что клавиатура представляет из себя, по сути, делитель напряжения на резисторах R1-R12 и при нажатии определенной кнопки клавиатуры на вход 7 микроконтроллера поступает напряжение, величина которого характерна только для данной кнопки.
Работа кодового замка на PIC12F675
Для записи 4 цифр секретного кода сперва необходимо нажать кнопку “CODE” и удерживать ее до того момента когда загорится светодиод LED. Затем поочередно нужно набрать 4 цифры секретного кода. По завершению ввода, данный код будет записан в энергонезависимую память микроконтроллера.
Теперь если набрать данный код на клавиатуре произойдет включение реле на 5 секунд. При десятикратной неверно набранном секретном коде прозвучит сигнал тревоги.
Работаю я электромонтером в районе Крайнего Севера. Зимой у нас всегда возникала проблема, замерзает замок на входе в электроцех. И вот попался мне на глаза журнал «Радио» №5 за 2008 год. Там была опубликована статья Е. Переверзева «Цифровой кодовый замок».
Решил и сделал. Перерисовал печатку из журнала. Спаял схему.
Залил прошивку и схема заработала сразу, хотя это моя первая схема на микроконтроллере.
О моей сборке
На схеме показан аккумулятор, но я его не ставил.Отсутствие электричества в электроцехе - это нонсенс, но на печатке аккумулятор я учел.
Файл «1.hex» - прошивка флэш, файл «2.hex» - прошивка EEPROM.
В EEPROM изначально заносится код открытия «1, 2, 3». Смена кода производится на открытом замке, после нажатия кнопки «#». Код может содержать до 125 знаков.
Версия печатки из статьи Е. Переверзева
Саму схему, кнопки «Открытие», «Закрытие», блок питания разместил к коробочке из под блока управления вакуумным выключателем.
Блок питания использовал от старого сканера.
Соленоид использовал от старой электоролаборатории, один минус - соленоид потребляет 1,5 А.
Клавиатуру взял от старого телефона.
Резиновые контакты пришлось удалить, т.к на морозе они работать не будут. На их место поставил кнопки SWT-9. Установить замок пока нет возможности (холодно). Но схема полностью работоспособна.
--
Спасибо за внимание!
Игорь Котов,
главный редактор журнала «Датагор»
Оригинальная статья из "Радио":
▼
🕗 20/12/11 ⚖️ 512,66 Kb ⇣ 111
Здравствуй, читатель!
Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель.
Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.
Хорош! Халява кончилась. Хочешь файлы и полезные статьи - помоги мне!
Alan Parekh
Данная конструкция отличается простотой схемотехнического решения, для ввода кода используется лишь одна кнопка, которую необходимо нажать определенное, в соответствии с цифрой кода, количество раз, соблюдая выдержку паузы при вводе следующей цифры. Количество цифр в коде - 4. Для повышения секретности можно разместить клавиатуру, в которой будет активна лишь одна кнопка для ввода кода. В случае ввода правильного кода, система активирует реле, однако возможна настройка под другие функции при активации системы, для этого потребуется перейти в режим программирования устройства.
Устройство может применяться в системах управления гаражными воротами, в системе управления освещением, в охранных системах.
Принципиальная схема устройства
Основным элементом схемы является микроконтроллер PIC16F628A , который отслеживает нажатие кнопки, визуально оповещает пользователя о приеме команды, управляет состоянием реле. Для визуализации используется светодиод, который подключен параллельно с кнопкой для ввода кода, что позволяет использовать лишь два провода для установки и подключения кнопки в необходимом месте.
Для питания устройства потребуется источник питания 12 В, в схеме установлен регулятор напряжения LM7805 . Светодиод D3 свидетельствует о подаче питания.
Система имеет два режима работы: обычный режим и режим программирования. В обычном режиме устройство выполняет свою основную задачу - отслеживает нажатия кнопки и реагирует при правильном вводе кода. В режиме программирования производится настройка основных параметров системы: код, время активации, режим работы.
Для изменения режима работы (обычный/программирование) используется переключатель JP1. При выключенном переключателе - обычный режим работы, при включенном - режим программирования (настройки). Следует заметить, что вход в тот или иной режим осуществляется при подаче питания (состояние переключателя проверяется микроконтроллером при подаче питания). Поэтому для входа в режим настройки необходимо установить переключатель и подать питание, для выхода из режима - отключить переключатель, выключить и затем включить питание.
Для ввода кода вида 1234, последовательность действий следующая:
- нажать кнопку 1 раз;
- дождаться визуального подтверждения светодиодом на кнопке (светодиод мигнет один раз);
- нажать кнопку два раза;
- нажать кнопку три раза;
- дождаться визуального подтверждения светодиодом на кнопке;
- нажать кнопку 4 раза.
После ввода четвертой цифры система будет функционировать в соответствии с установленным режимом работы. Если был введен неверный код, пользователь увидит визуальное оповещение (мигание светодиода).
Для установки параметров замка используется режим программирования. В этом режиме для перехода между опциями кнопка нажимается и удерживается в течении 3 секунд. После отпускания кнопки будет выполнен переход в следующий пункт меню, при этом светодиод количеством вспышек укажет, в каком пункте меню вы находитесь (например, вспышка, вспышка, пауза, вспышка, вспышка, пауза,… - означает, что выбран второй пункт меню).
Опции меню:
- Изменение кода - используется для изменения пользовательского кода. Для изменения код вводится также, как и в обычном режиме работы. Когда новый код будет сохранен, светодиод сообщит об этом частыми вспышками;
- Изменение времени активации - используется для изменения времени активного состояния. Нажатие кнопки один раз в этом меню изменяет это время на 1 с. Например, если необходимо время 10 секунд, то необходимо нажать кнопку 10 раз. Когда параметры будут сохранены, светодиод сообщит об этом частыми вспышками.
- Выбор режима работы - используется для изменения режима управления реле. Имеется два режима работы: активация реле при введении правильного кода и смена состояния реле (активация/деактивация) при вводе правильного кода. При выборе второго режима устройство будет действовать так: если реле активировано и вводится верный код, то реле деактивируется, при следующем вводе верного кода реле активируется. Для изменения режима работы: нажмите кнопку один раз для выбора первого режима и два раза для выбора второго режима.
Все параметры хранятся в энергонезависимой памяти микроконтроллера.
Схема собрана на двухсторонней печатной плате.
Для увеличения кликните на изображение
Загрузки
Hex-файл для программирования микроконтроллера -
- Собрал, прошил, работает! Плату развел однослойную.
- как пршивал(зарание СПАСИБО)
- прошивал icprog105D программой, а програматор делал давно и как он называется уже не помню. Но проблем при прошивке не было. Я эту схему и в протеусе собирал она у меня и там работала.
- Выложи модель в Proteus.
- В архиве схема, анимация, и печатка в Proteus 7.7 SP2(Сборка9151) Уровень3. На печатной плате, реле взято с какой то сигнализации от авто, и модель для протеуса, сделана мной а схема аниме, это то что собственно можно запустить и проверить работу схемы в целом. Светодиод вместо реле поставил для наглядности.
- Идея сделать замок на МК неплохая, только набор шифра неудобен. Представь что нужно набрать 9 сколько раз нажимать нужно. Нужен однорозрядный индикатор, держишь кнопку до появления нужной цифры, отпускаешь, и цифра запоминаеться или опознается в зависимости от режима. Жаль что программировать не могу ато бы занялся этим. Все попытки самостоятельно изучить, пока не увенчались успехом. Модель скачал.
- А как вам такой, простой кодовый, и совсем без кнопок на двери http://shema.org.ua/forum/index.php?...&st=0#entry781
- Замок оригинальный, но можно потерять брелок и не попасть за дверь охраняемую замком. А вот с единственной кнопкой! Её трудно потерять, но еще труднее найти! Код вводить долго, но если придумать использовать его как второй, резервный так сказать! В случае банально простом, Захлопнули двери, а ключи остались за дверьми. И вот эта конструкция, с одной кнопкой поможет! А вот кнопки может и не быть, роль кнопки выполнит ручка той же двери, захлопнувшейся. Дальше не буду разъеснять, и так понятно.
- Конечно можно и потерять, а можно и у соседей оставить, как в старые добрые времена:) код не говорить только.