Экспертное сообщество по ремонту ванных комнат

Кодовый замок на pic16f628a прошивка. Кодовый замок на микроконтроллере PIC16F628A

Answer

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry"s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five http://jquery2dotnet.com/ centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

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

Устройство может применяться в системах управления гаражными воротами, в системе управления освещением, в охранных системах.

Основным элементом схемы является микроконтроллер PIC16F628A, который отслеживает нажатие кнопки, визуально оповещает пользователя о приеме команды, управляет состоянием реле. Для визуализации используется светодиод, который подключен параллельно с кнопкой для ввода кода, что позволяет использовать лишь два провода для установки и подключения кнопки в необходимом месте.
Для питания устройства потребуется источник питания 12 В, в схеме установлен регулятор напряжения LM7805. Светодиод D3 свидетельствует о подаче питания.
Система имеет два режима работы: обычный режим и режим программирования. В обычном режиме устройство выполняет свою основную задачу – отслеживает нажатия кнопки и реагирует при правильном вводе кода. В режиме программирования производится настройка основных параметров системы: код, время активации, режим работы.
Для изменения режима работы (обычный/программирование) используется переключатель JP1. При выключенном переключателе – обычный режим работы, при включенном – режим программирования (настройки). Следует заметить, что вход в тот или иной режим осуществляется при подаче питания (состояние переключателя проверяется микроконтроллером при подаче питания). Поэтому для входа в режим настройки необходимо установить переключатель и подать питание, для выхода из режима – отключить переключатель, выключить и затем включить питание.

Для ввода кода вида 1234, последовательность действий следующая:
нажать кнопку 1 раз;
дождаться визуального подтверждения светодиодом на кнопке (светодиод мигнет один раз);
нажать кнопку два раза;

нажать кнопку три раза;
дождаться визуального подтверждения светодиодом на кнопке;
нажать кнопку 4 раза.
После ввода четвертой цифры система будет функционировать в соответствии с установленным режимом работы. Если был введен неверный код, пользователь увидит визуальное оповещение (мигание светодиода).
Для установки параметров замка используется режим программирования. В этом режиме для перехода между опциями кнопка нажимается и удерживается в течении 3 секунд. После отпускания кнопки будет выполнен переход в следующий пункт меню, при этом светодиод количеством вспышек укажет, в каком пункте меню вы находитесь (например, вспышка, вспышка, пауза, вспышка, вспышка, пауза,… – означает, что выбран второй пункт меню).

Опции меню:

Изменение кода – используется для изменения пользовательского кода. Для изменения код вводится также, как и в обычном режиме работы. Когда новый код будет сохранен, светодиод сообщит об этом частыми вспышками;
Изменение времени активации – используется для изменения времени активного состояния. Нажатие кнопки один раз в этом меню изменяет это время на 1 с. Например, если необходимо время 10 секунд, то необходимо нажать кнопку 10 раз. Когда параметры будут сохранены, светодиод сообщит об этом частыми вспышками.
Выбор режима работы – используется для изменения режима управления реле. Имеется два режима работы: активация реле при введении правильного кода и смена состояния реле (активация/деактивация) при вводе правильного кода. При выборе второго режима устройство будет действовать так: если реле активировано и вводится верный код, то реле деактивируется, при следующем вводе верного кода реле активируется. Для изменения режима работы: нажмите кнопку один раз для выбора первого режима и два раза для выбора второго режима.

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

Схема собрана на двухсторонней печатной плате.

В различной радиолюбительской литературе можно обнаружить множество вариантов электронных кодовых замков.

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

Данный микроконтроллер снабжен 10 битным АЦП с диапазоном преобразования от 0 до 1023. Суть метода в том, что клавиатура представляет из себя, по сути, делитель напряжения на резисторах R1-R12 и при нажатии определенной кнопки клавиатуры на вход 7 микроконтроллера поступает напряжение, величина которого характерна только для данной кнопки.

Работа кодового замка на PIC12F675

Для записи 4 цифр секретного кода сперва необходимо нажать кнопку “CODE” и удерживать ее до того момента когда загорится светодиод LED. Затем поочередно нужно набрать 4 цифры секретного кода. По завершению ввода, данный код будет записан в энергонезависимую память микроконтроллера.

Теперь если набрать данный код на клавиатуре произойдет включение реле на 5 секунд. При десятикратной неверно набранном секретном коде прозвучит сигнал тревоги.

Устройство предназначено для защиты помещений, шкафов и сейфов от несанкционированного вскрытия.

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

Эта несложная схема вполне по силам многим радиолюбителям.

А продуманный алгоритм работы, доставит вам удовольствие эксплуатации этой схемы.

Основой устройства служит микроконтроллер PIC16F628A (DD1 на схеме рис. 1).

После подачи питания программа микроконтроллера настраивает его порты, а также отключает источник образцового напряжения, модуль ШИ/захвата сравнения, таймеры, компараторы и аппаратный USART - эти модули не нужны для работы замка. Затем начинается опрос клавиатуры. Она состоит из двух частей. Первая - кнопки SB3-SB14 - находится снаружи охраняемого объекта. Вторая - кнопки SB1, SB2 и выключатель SA1 - расположена внутри помещения. Кнопки SB3-SB 13 первой части клавиатуры объединены в матрицу. Кнопка SB 14 в матрицу не входит, она предназначена для перезапуска микроконтроллера в случае какого-либо сбоя в программе, а также в ряде других случаев, о которых будет рассказано ниже.

Кнопка SB1 "Открыть" установлена внутри помещения около двери. Нажатием на нее можно открывать дверь изнутри, не набирая кода. SB2 - кнопка перезапуска программы; кнопки SB2 и SB И включены параллельно. Кнопкам матрицы присвоены обозначения: SB3 - "1", SB4 - "4", SB5 - "7", SB6 -"Открыть". SB7 - "2", SB8 - "5", SB9 -"8 " , SB10 - "О", SB11 - "3", SB12 - "6". SB13 - "9". Тумблером SAI выбирают режим закрывания замка. Код вводят поочередным кратковременным нажатием на цифровые кнопки. В подтверждение нажатия прозвучит короткий тональный сигнал пьезоизлучателя НА1. управляемого транзистором VT2.

Перед тем как открыть дверь, вводят четырехзначный код с паузами между соседними нажатиями не более 3 с. а затем в течение 3 с надо кратковременно нажать на кнопку SB6 Через 2 с на выходе RAO микроконтроллера DD1 установится высокий уровень, откроется транзистор VT1 и сработает электромагниту!, который приведет в движение ригель замка, сжимая его пружину, и дверь откроется.

Если пауза между соседними нажатиями превысит 3 с, то прозвучит сигнал с уменьшающейся частотой. Это означает, что программа начала выполняться заново и код надо вводить сначала. Диод VD1 предназначен для защиты транзистора VT1 от всплеска напряжения самоиндукции обмотки электромагнита Y1. Перед срабатыванием электромагнита прозвучит сиг нал такой же частоты, как и при нажатии цифровых клавиш, но большей длительности, что сигнализирует об открывании двери.

Когда контакты выключателя SA1 разомкнуты, электромагнит закроет замок через определенное время (по умолчанию - 12 с). Это время устанавливают при программировании микроконтроллера. В программе, которую нужно будет загрузить в контроллер, в поле работы с EEPROM, в ячейку с адресом 0x06 (седьмая по счету) необходимо вставить число от 0x01 до OxFF, из расчета 1 единица = 2,5 с. Минимально возможная пауза равна 2,5 с, максимальная - 10 мин.

В случае, если контакты выключателя SA1 замкнуты, т. е. на входе RA4 микроконтроллера DD1 установлен низкий уровень, то закрывание замка происходит после нажатия на кнопку SB 14 либо на SB2. После того как закроется транзистор VT1, электромагнит обесточится и пружина замка вытолкнет ригель обратно - дверь снова окажется запертой.

Для открывания двери изнутри помещения нажимают на кнопку SB1 и удерживают ее до срабатывания электромагнита, о чем оповестит тональный сигнал длительностью 2 с. Открыть дверь изнутри можно в любой момент. Если открывания двери не произойдет, необходимо нажать на кнопку SB2 (перезапустить программу) и снова нажать на кнопку SB 1.

Когда необходимо сменить код, сначала вводят старый точно так же, как и при операции открывания двери, но потом нажимают на кнопку SB6 не кратковре­менно, а удерживают ее до того момента, пока не прозвучат три тональных сигнала. Затем необходимо немедленно отпустить кнопку SB6, ввести новый четырехзначный код и сразу же в подтверждение введения еще раз нажать на кнопку SB6. Далее прозвучит сигнал с нарастающей частотой, который известит о том, что новый код принят. Он хранится в первых четырех ячейках энергонезависимой памяти микроконтроллера DD1.

Устройство снабжено системой блокировки. Каждый раз при введении неверного кода замок воспроизведет два сигнала частотой 1000 Гц и один частотой 500 Гц. Ошибочным контроллер считает нажатие на кнопку SB6 в то время, когда в рабочих регистрах находится неверный код, и введение пяти цифр кода. После трех ошибок подряд микроконтроллер DD1 установит на выходе RA2 высокий уровень. При этом откроется транзистор VT3, который включит тревожное устрой­ство. Этим устройством может быть сирена или узел дозвона по телефону.

Одновременно включится светодиод HL1, установленный на панели клавиатуры, который покажет, что опрос клавиатуры (кроме тумблера SA1 и кнопок SB1, SB2, SB14) отключен. Затем следует десятиминутная пауза, во время которой работает тревожное устройство и включен светодиод HL1. В течение этого времени открыть замок можно только изнутри. Если нажать на кнопки SB 14 и SB2 (кнопки перезапуска программы микроконтроллера), то десятиминутный отсчет начнется заново. После паузы контроллер предоставит только одну возможность ввести код, и если он будет неверным, десятиминутная пауза с включением тревожного устройства повторится снова. И так будет продолжаться до введения правильного кода. Каждый раз после верного введения кода счетчик ошибок обнуляется.

Питает устройство источник постоянного тока напряжением 10...15 В. При отключении электроэнергии в сети 220 В замок продолжает работать от аккуму­ляторной батареи. Схема простейшего варианта такого блока питания показана на рис. 2.

Трансформатор Т1 понижает сетевое напряжение 220 В до 15...20 В. Максимальный ток вторичной обмотки трансформатора не должен быть менее 1,5 A. DA1 - регулируемый стабилизатор напряжения. Изменяя сопротивление построечного резистора R2, устанавливают на выходе стабилизатора DA1 такое напряжение, при котором ток зарядки заряженной аккумуляторной батареи GB1 не превышает 100...200 мкА. При этом во время большого потребления тока, когда сработал электромагнит Y1, основную часть тока дает аккумуляторная батарея, что позволяет не перегружать стабилизатор DA1. Диод VD5 предназначен для защиты стабилизатора DA1 в случае отсутствия на его входе напряжения.

Аккумуляторная батарея должна обеспечивать ток 300...600мА (емкость - 7 А-ч). Стабилизатор DA1 следует установить на теплоотвод площадью 30...40 см2.

Клавиатуру можно изготовить из отдельных кнопок. Подойдут, к примеру, DIPTRONICS DTSMW-66N. Но можно применить и готовую клавиатуру от кнопочного телефонного аппарата или калькулятора. Как правило, можно легко подключить такую клавиатуру к устройству, собрав кнопки в подходящую матрицу. Также необходимо вынести на панель клавиатуры светодиод HL1.

Пьезоизлучатель подойдет любой из серии ЗП. Электромагнит Y1 применен от лентопротяжного механизма магнитофона, но подойдет любой другой, подходящий по габаритам и с максимальным током обмотки не более 1,3 А. Если ток, потребляемый электромагнитом, будет больше 1 А, то транзистор VT1 следует установить на теплоотвод площадью 30... 40 см2.

Архив с микропрограммой

Работаю я электромонтером в районе Крайнего Севера. Зимой у нас всегда возникала проблема, замерзает замок на входе в электроцех. И вот попался мне на глаза журнал «Радио» №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 лет наш журнал существует только на мои средства.

Хорош! Халява кончилась. Хочешь файлы и полезные статьи - помоги мне!

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

Эта простая схема позволяет осуществлять контроль над различными вещами, например, импульс для открытия автоматических ворот, включение и выключение освещения, доступ в помещения, в системе безопасности снятие и постановка на охрану и так далее.

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

Режимы работы кодового замка на PIC16F628

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

Состояние ввода кода

Для ввода секретного кода необходимо поочередно ввести четыре цифры, каждая цифра соответствует количеству нажатий на кнопку SA1. После первой введенной цифры, светодиод мигнет один раз. Затем необходимо ввести следующую цифру. После набора четвертой цифры при верно набранном коде светодиод быстро мигнет три раза и активируется реле. При неверно набранном коде светодиод также мигнет три раза, но медленно. Затем можно повторить попытку ввода. Изначально в памяти микроконтроллера записан код 1234.

Состояние программирования кодового замка

В схеме предусмотрен переключатель SA2, который используется для изменения режима работы секретного замка. Когда переключатель замкнут, устройство находится в состоянии программирования. Необходимо обратить внимание, что состояние данного переключателя опрашивается только при подаче питания, поэтому при изменении его положения необходимо выключить и включить питание схемы.

Меню программирования кодового замка состоит из трех пунктов:

  1. Запись нового секретного кода в память микроконтроллера PIC16F628. При переводе SA2 в режим программирования и включении питания, светодиод будет светить одинарными вспышками. Это свидетельствует, что вы находитесь в первом пункте меню. Для записи нового кода необходимо поочередно ввести каждую цифру, так же как и при обычном вводе. После ввода последней цифры устройство подтвердит успешное завершения серией быстрых вспышек светодиода. Теперь питание можно выключить и перевести SА2 в обычный режим, либо можно перейти ко второму пункту меню программирования кодового замка. Для этого необходимо нажать кнопку SA1 и удерживать ее не менее 3 секунд. После отпускания кнопки, светодиод будет мигать двойными вспышками.
  2. Изменения продолжительности включения реле. Каждое нажатие прибавляет одну секунду. Допусти если нужно чтобы реле было активно в течении 5 секунд, то необходимо нажать кнопку SA1 пять раз с частотой нажатий в одну секунду. После этого устройство подтвердит запись значения серией частых вспышек. Для перехода в 3 пункт меню также нажимаем кнопку на 3 и более секунды и отпускаем. Теперь светодиод будет мигать тройными вспышками.
  3. Режим работы реле кодового замка. При одном нажатии реле будет активироваться на период, установленный во втором пункте меню. При двойном нажатии – реле будет включаться при вводе секретного кода, и выключаться только при повторном вводе секретного кода.

Для программирования микроконтроллера PIC16F628 модно воспользоваться несложным программатором, который описан

Похожие публикации