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

Схема и программа цифрового кодового замка с инфракрасным ключом на микроконтроллере

Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “ “

Доброго дня уважаемые радиолюбители! Сегодня в разделе “Радиолюбительские схемы на микроконтроллерах” мы рассмотрим несложную схему – цифровой кодовый замок с ИК ключом.

Данный кодовый замок устанавливается на любой входной двери помещения с ограниченным доступом. Для открывания двери применен ИК ключ. Благодаря этому отпадает надобность во внешней клавиатуре для набора кода, и кроме того, перехватить сигнал в ИК диапазоне очень сложно. Схема кодового замка:

Кодовый замок находится в режиме ожидания, пока на фотодиод VD1 не поступит ИК сигнал, который преобразуется в электрические импульсы. Ключ представляет собой передатчик ИК сигнала и питается от одного гальванического элемента. На микросхеме собран преобразователь напряжения 1,5 вольта в 5 вольт. Данную часть схемы ключа с преобразователем напряжения можно игнорировать, но для этого потребуется подобрать подходящий источник питания ключа напряжением 5 вольт. Ключ активизируется подачей питающего напряжения выключателем SA1. При замене “секретных” слов надо изменить их коды в текстах программы как замка, так и ключа. Питают замок от сетевого блока питания напряжением 12 вольт. Его желательно дополнить аккумулятором для питания соленоида при отсутствии сетевого напряжения.

Дело было вечером, когда на пороге офиса появилась настойчивая крупногабаритная женщина, предлагающая купить посуду известной марки. На следующий же день я получила от начальника (он же ) задание оградить его творческую натуру от нападок торговых представителей. Так появилась идея создания проекта под кодовым названием Hungry _ Wall . Конечно, сейчас существует множество служб, занимающихся контролем доступа в помещение. Но куда интереснее сделать электронный замок своими руками, особенно мне, начинающему программисту и электронщику.

Как говорится, главное правильно составить ТЗ, т.е.то, что мы хотим получить в результате.

  1. Создать систему распознавания ключей.
  2. Сравнивать ключ с базой, и при совпадении кода поднесенного ключа с одним из записанных в базе открывать замок.
  3. Снимать показания магнитного датчика, позволяющие идентифицировать состояние двери, и если дверь открыта, закрывать замок.
  4. Использовать таймер, по истечению которого замок закрывается, в том случае, если мы передумали входить/выходить. Это предусмотрено для того, чтобы “враги” не попали в секретное логово, воспользовавшись нашей переменой настроения.
  5. Обеспечить открытие двери с помощью кнопки, размещенной внутри помещения.
  6. Запись нового ключа в базу после поднесения ключа-мастера и, естественно, запись самого мастера.
  7. Удаление ключа из базы (feature).
  8. Система индикации для пущей привлекательности.

Полдела сделано, осталось самое малое – реализовать задуманное аппаратно и программно. Для этого необходимо:

  1. Электрический замок
  2. Считыватель прокси (em-Marin) карт "CP-Z" фирмы IronLogic
  3. Ключи или карточки для записи в базу
  4. Кнопка
  5. Блок питания 12 V
  6. Корпус (чтобы все было аккуратно и красиво)
  7. Электроника – микроконтроллер ATmega 8, «кроваткаХ28», стабилизатор КР1158ЕН5В, транзистор IRLU 024 N , 6 разъемов KLEM 2, 1 разъем WF 3 (COM-port), конденсатор, светодиоды и резисторы по вкусу.

Разводка платы показана на схеме 1.

Внутренности платы показаны на рисунке 1.

Для решения поставленных задач все используемые устройства делятся на логические блоки,представленные на схеме 2.

Блок замка включает в себя непосредственно электрический замок, таймер TimeOpen , позволяющий задать максимальное время открытого состояния замка, магнитный датчик, индицирующий открытие и закрытие двери. Входом блока замка является команда открыть замок (Open), поступающая от блоков уключины и кнопки. Блок уключины состоит из считывающего устройства, базы данных, таймера TimeMaster , задающего максимальное время на поднесение нового ключа для записи в базу. Вход в блок осуществляется поднесением ключа или мастера. Блок кнопки состоит из кнопки, которая может принимать 2 состояния (нажата/не нажата).

Для считки бесконтактных карт применяется "Считыватель прокси (em-Marin) карт "CP-Z" фирмы IronLogic его особенность в том, что он эмулирует iButton (1-wire) если к нему поднести проксикарту.. это позволяет упростить программирование замка. однако следует учесть что в данной версии считывателя имеются свои подводные грабли .

Принцип работы предельно прост. При поднесении ключа происходит считывание его кода и сравнение с базой. Если ключ найден в базе замок получает команду Open . Здесь необходимо учитывать особенность замка: открытие надо производить щелчками (открыть-закрыть-открыть). Это обеспечивает защиту от заклинивания замка. При поднесении мастера логика программы меняется. Его наличие никак не влияет на “настроение” замка. Он рассматривается как некий турецкий султан, готовый зарегистрировать (записать в EEPROM) очередную жену (ключ). Т.е. при поднесении ключа (если он ранее не был записан) его код записывается в EEPROM . Тут необходимо учитывать, что память микрухи нерезиновая, и, например, для ATmega 8 она составляет 512 байт, что позволяет записать максимум 255 ключей (если для хранения 1 ключа использовать 2 байта, как в нашем случае). В качестве мастера записывается самый первый поднесенный ключ. Нажатие кнопки также посылает замку команду Open . Система индикации делает наш проект более красочным и информативным. Если горит красный диод – проход блокирован,если зеленый – можно идти! При поднесении мастера горят оба светодиода.

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

Внешний вид всего устройства показан на рисунке 2. Все достаточно аккуратно и красиво.

Скачать исходники можно

Исполнительным механизмом в электронном замке, схема которого показана на рис. 1, служит электромеханический замок ЗНЭМ-1-2, открывающийся при подаче на встроенный в него электромагнит Y1 постоянного напряжения 12 В. Логическая часть электронного замка построена на микроконтроллере PIC16F630-I/R Кнопки SB1 и SB2 предназначены для ввода открывающего его кода. Светодиоды HL1—HL3 разного цвета свечения сигнализируют о состоянии и режиме работы. Полевой транзистор VT1 по сигналу, формируемому микроконтроллером на выходе РСЗ, управляет электромагнитом Y1.

Рис. 1

Устройство питается от гальванической или аккумуляторной батареи напряжением 12 В. Такое напряжение необходимо для надёжного срабатывания электромагнита Y1. Его можно подавать как от гальванической или аккумуляторной батареи, так и от сетевого блока питания. Батарея гарантирует возможность открыть замок при отсутствии напряжения в сети, но придётся постоянно следить за её заряженностью.

Напряжение 5 В {требующееся для питания микроконтроллера) получается из 12 В с помощью интегрального стабилизатора DA1. Если использовать исполнительное устройство на другое напряжение или отдельный источник его питания, напряжение, подаваемое на вход стабилизатора, может быть уменьшено до 7 В или увеличено до 15 В.

Ток, потребляемый замком, когда он закрыт, очень невелик и не превышает нескольких миллиампер. В процессе набора кода он возрастает до десятков миллиампер в зависимости от числа включённых светодиодов, а при срабатывании электромагнита — приблизительно до 1 А.

Рис. 2a. Вид со стороны компонентов

Рис. 2b. Вид со стороны дорожек

Замок собран на печатной плате. Расположение элементов и чертёж печатных проводников на ней показаны на рис. 2. Светодиоды HL1—HL3 и кнопки SB1, SB2 установлены отдельно на раме запираемой замком двери. Открывающему замок человеку светодиоды должны быть видны, а кнопки доступны для нажатия. Светодиоды, типы которых указаны на схеме, имеют диаметр корпуса 10 мм и повышенную яркость. Однако можно применить и другие, подходящих цветов свечения.

Программа микроконтроллера создана в среде "PIC Simulator IDE v6.91". Открывающий код представляет собой комбинацию из восьми нажатий в определённом порядке на кнопки SB1 и SB2. В программе нажатие на кнопку SB1 представляется логическим нулём в соответствующем порядковому номеру нажатия разряде ячейки памяти, а нажатие на кнопку SB2 — логической единицей в таком разряде. Общее число возможных комбинаций — 256.
Нажатие на любую кнопку подтверждается включением светодиода HL1, что позволяет визуально их контролировать. Набирая код, нельзя нажимать на обе кнопки одновременно. Это приведёт к отмене попытки набора и блокировке замка на 4 с. В случае слишком продолжительной паузы между нажатиями на кнопки или слишком длительного (более 3 с) удержания кнопки нажатой программа включает свето-диод HL3 и также отменяет попытку ввода, блокируя замок на 4 с.

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

Образцовая кодовая комбинация хранится в EEPROM микроконтроллера по адресу 1. В начале своей работы программа читает содержимое этой ячейки и присваивает его переменной code. Первоначально код заносят в EEPROM на этапе программирования микроконтроллера. Средства для этого имеются в программном обеспечении любого программатора. Например, в главном окне среды программирования "PIC Simulator IDE v6.91" достаточно перед загрузкой программы в микроконтроллер открыть пункт меню "Tools-* EEPROM Memory Editor" и в окне с образом EEPROM записать нужный код в ячейку по указанному выше адресу. Содержимое памяти здесь представляется в шестнадцатеричной системе счисления, поэтому, например, код 00110011 выглядит как 33.

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

Светодиод HL2 начнёт мигать, a HL3 включится. Отпустите кнопки и после того, как светодиод HL3 погаснет, начинайте ввод новой комбинации- Если требования к длительности нажатий на кнопки и пауз между ними при вводе не нарушены, светодиод HL2 продолжит мигать, а светодиод HL3 снова будет включён- После того как светодиод HL3 вновь погаснет (для этого обе кнопки должны быть отпущены), наберите ту же комбинацию ещё раз. Если она идентична первой, программа её примет и запишет в EEPROM.

Приложенный к статье исходный текст программы на языке BASIC содержит описания всех используемых переменных и комментарии к наиболее важным строкам. Таймер TMR0 микроконтроллера сконфигурирован так, что переполняется с периодом около 65,5 мс, каждый раз формируя запрос прерывания. Обрабатывая эти запросы, микроконтроллер определяет состояние кнопок и отсчитывает необходимые интервалы времени. Например, приблизительно минутная блокировка замка основана на отсчёте 1000 прерываний. Их счёт в данном случае ведётся в переменной den_p. Поскольку она имеет тип long, занимая четыре байта памяти, то может принимать значения от 0 до 232-1 (4294967295). Если, например, задать предельное значение результата счёта равным 3600/0,0655^56000, продолжительность блокировки увеличится до часа.

Данный кодовый замок на микроконтроллере собран на достаточно простом микроконтроллере AVR ATtiny13. Его можно применить для ограничения допуска в различные складские помещения, запирание ворот гаража и дверь дома, а также для включения различных приборов, включение которых нужно ограничить.

Принцип работы

Работа замка на микроконтроллере основана на поочередном вводе трех чисел. Размер каждого числа может быть в диапазоне от 0 до 255. Это в свою очередь повышает уровень секретности кодового замка по сравнению с другими замками, у которых каждое секретное число имеет размер от 0 до 9.

В том случае если введенная последовательность этих трех чисел совпадает с тремя числами, которые внесены в память микроконтроллера кодового замка, то на выходе (вывод 3) появится управляющий сигнал (лог.1), на 15 секунд загорится светодиод HL4 сигнализируя о правильности ввода и сработает реле К1 управляющее исполнительным механизмом замка. По истечении 15 секунд на выводе 4 микроконтроллера появится лог. 0 и замок перейдет в первоначальное состояние ожидания.

Управление работой кодового замка осуществляется всего двумя кнопками, руководствуясь только индикацией светодиодов. Причем ввод секретного кода осуществляется только одной кнопкой SB2, которая находится на наружной панели замка. Вторая кнопка SB1 предназначена для программирования, и она расположена на самой плате.

Этапы управления кодовым замком

  • Внесение в энергонезависимую память микроконтроллера три кодовых числа.

Рассмотрим это на конкретном примере. Допустим, нам нужно задать следующий секретный код: первая цифра 8, вторая цифра 12, третья цифра 9. Для этого подаем питание на устройство, затем нажимаем и удерживаем обе кнопки (SB1 и SB2). После этого отпускаем кнопку SB1, и как только начал мигать светодиод HL1 отпускаем и кнопку SB2. После этих манипуляций светодиод HL1 будет гореть постоянно, а светодиоды HL2 и HL3 не будут гореть. Это состояние светодиодов говорит о том, что устройство перешло в режим программирования.

Теперь чтобы записать первое число нам нужно нажать и удерживать кнопку SB2, при этом все три светодиода начнут мигать. Нужно отсчитать необходимое количество вспышек (в нашем случае это 8) и отпустить кнопку. После этого, в подтверждении правильности введенного числа, светодиоды промигают такое же количество раз (8 раз). Все, первое число записано. Далее загорается светодиод HL2 – напоминая нам, что необходимо записать второе число.

Поступаем точно так же как и с записью первого числа: нажимаем и удерживаем кнопку SB2 и отсчитываем необходимое число вспышек светодиодов (в нашем примере это 12), отпускаем кнопку и проверяем правильность ввода по повторным вспышкам. Затем загорается светодиод HL3 для третьего числа, и повторяем туже процедуру и для третьего числа (число 9).

После того так мы записали в память микроконтроллера все три числа и для выхода из режима программирования нужно нажать кнопку SB1.

  • Набора секретного кода

Рассмотрим так же это на примере. До этого мы записали секретный код 8-12-9. Для ввода вначале нажимаем кнопку SB1 и отпускаем ее сразу, после того как загорится светодиод HL1, тем самым переводим наш замок в режим ввода кода. Свечение светодиода HL1 свидетельствует, что нужно ввести первую цифру. Процедура ввод цифр аналогична тому, как вводились цифры при программировании. То есть, нажимая на кнопку SB1, отсчитываем необходимое количество, после чего отпускаем кнопку и наблюдаем подтверждение наборной цифры путем мигания светодиодов. Затем переходим ко второй и третьей цифре.

В том случае если все три цифры секретного кода введены верно, сработает реле и на 15 секунд включится светодиод HL4, светодиоды HL1,HL2,HL3 будут светиться в режиме бегущих огней.

Для ввода секретного кода предоставляется три попытки. Если в третий раз код введен неверно, возможность ввода блокируется на 2,5 минуты. По прошествии этого времени замок снова будет готов к вводу кода.

При программировании микроконтроллера следует выставить следующие фьюзы:

  • CKDIV8 = 0
  • BODLEVEL0 = 0
  • SPMEN = 0

(1,3 Mb, скачано: 1 566)

Ограничивать доступ посторонних лиц в помещения с ценными вещами поможет кодовый замок. Один из вариантов реализации кодового замка на микроконтроллере PIC16F628A приведён в данной статье.

На рисунке ниже изображена схема кодового замка. Ядром схемы является микроконтроллер PIC16F628A. Алгоритм выполнения основных команд изображен на рисунке 2. Код программы написан на языке ассемблер, смотреть листинг в папке CL\16F628ATEMP.ASM архива с проектом. Прибор управляется одной кнопкой. Нажатием на кнопку добиваются последовательной смены режимов работы прибора. Звуковое сопровождение нажатия кнопки обеспечивает пьезоизлучатель звука. Для визуального отображения информации служит дисплей со встроенным контроллером.

Полный цикл внутрисхемного программирования и отладки микроконтроллера PIC16F628A был осуществлён при помощи MPLAB IDE v8.15 (интегрированная среде разработки), компилятор MPASM v5.22 (входит в MPLAB IDE v8.15) и MPLAB ICD 2 (внутрисхемный отладчик). Для тех, кто не располагает средствами приведёнными выше, а имеет свою программу для работы с HEX файлами и иной программатор, можно в соответствующем проекте найти файл 16F628ATEMP.HEX.

Микроконтроллер DD1 имеет функциональные выводы RA0, RB0 – RB7, CCP1, которые служат для ввода и вывода информации. Микроконтроллер DD1 не имеет функции принудительного сброса, вывод для сброса подключен через резистор R1 к положительному потенциалу питания. Для генерации тактовой частоты используется встроенный RC-генератор на кристалле.

К выводу RA0 через токоограничивающий резистор R3 подключена тактовая кнопка SB1. В отжатом положении тактовой кнопки SB1 резистор R7 имитирует низкий логический уровень. Микроконтроллер DD1 распознаёт три состояния тактовой кнопки SB1:

  1. Не нажата;
  2. Нажата кратковременно (менее 1 с);
  3. Нажата и удерживается (более 1 с).

Пьезоизлучатель звука P1 помогает различать состояния тактовой кнопки SB1. Так при 1 состоянии генерации звука не происходит, при 2 состоянии звук генерируется до того момента пока микроконтроллер не распознает 3 состояние, а в 3 состоянии генерации звука не происходит.

Для отображения информации используется жидкокристаллический дисплей HG1. Техническую спецификацию дисплея можно найти на сайте . Он имеет контроллер, в котором реализована функция знакогенерации. Отображает две строки по шестнадцать символов в каждой. Управление дисплеем осуществляется через выводы микроконтроллера RB0, RB1, RB4 – RB7. Загрузка данных происходи полубайтами, через выводы RB4 – RB7. «Защёлка» - RB1. Выбор регистра сигнала формируем на выводе RB0. Резисторами R5 и R6 устанавливаем контрастность дисплея HG1. Подсветка дисплея подключена к питанию через токоограничивающий резистор R4. Дисплей HG1 прикручивается к плате 3 x 15 мм латунными стойками и 3 x 6 мм винтами.

Формированием логики на RB2 добиваются открытия или закрытия полевого транзистора VT1 , который включает и выключает подключенный к клеммнику X1 электрический замок. Электрический замок должен быть рассчитан на рабочее напряжение 9-15 В и потреблять ток не более 1 А. При подачи напряжения на электрический замок должен открываться, при отсутствии напряжения блокируется (закрывается).

К выводу CCP1 (аппаратная реализация ШИМ, частота 4 кГц, скважность 2) через токоограничивающий резистор R2 подключен пьезоизлучатель звука P1 с рабочей частотой генерации звука 4 кГц.

Прибор запитывается от переменного или постоянного источника напряжения, подключаемого к разъему X2. Номинальное напряжение источника питания 9 – 15 В. Номинальный ток источника питания 1 А. Для стабилизации питания используется обычная схема из диодного моста VD1, линейного стабилизатора DA1, фильтрующих конденсаторов C1 – C4.

Прибор может эксплуатироваться в диапазоне температур от –20 °С до +70 °С.
Микроконтроллер запрограммирован таким образом, что имеет одиннадцать рабочих состояний.

  1. При включении прибора происходит чтение энергонезависимой памяти данных EEPROM, где происходит выгрузка данных состояния замка и кода. Прибор открывает или закрывает электрический замок согласно прочитанному регистру состояния замка. Прибор переходит в состояние где отображает статистику кодирования, т.е. 2.
  2. В данном состоянии прибор в верхней строке выводит на дисплее надпись «Stat. Стат.» и в нижней строке отображает статистику кодирования, а именно число кодирований и число декодирований*. После кратковременного или удерживаемого нажатия тактовой кнопки прибор руководствуясь регистром о состоянии замка переходит в состояние кодирования если замок открыт, т.е. 3 и переходит в состояние декодирования если замок закрыт, т.е. 4.
  3. Прибор выводит в верхней строке на дисплее надпись «Code Код» и переходит в состояние где происходит ввод кода (подпрограмма «Ввод кода»), т.е. 5. Происходи инкрементирование счётчика числа кодирований. Прибор переходит в состояние где меняет состояние замка, закрывая его, т.е. 9.
  4. Прибор выводит в верхней строке на дисплее надпись «Decode Д.код» и переходит в состояние где происходит ввод кода (подпрограмма «Ввод кода»), т.е. 5. Происходи инкрементирование счётчика числа декодирований. Прибор сравнивает введённый код с кодом сохранённым в энергонезависимой EEPROM памяти. Если код совпадает тогда прибор переходит в состояние где меняет состояние замка, открывая его, т.е. 10, а если код не совпадает переходит в состояние где выводит информацию о ошибке, т.е. 11.
  5. В нижней строке дисплея квадратными скобками выделяется первая цифра четырехзначного кода. Кратковременным нажатием на тактовую кнопку происходит инкрементирование регистра вводимой цифры**. Если тактовая кнопка нажата и удерживается более 1 с, то прибор переходит в состояние где происходит выбор второй цифры кода, т.е. 6.
  6. В нижней строке дисплея квадратными скобками выделяется вторая цифра четырехзначного кода. Кратковременным нажатием на тактовую кнопку происходит инкрементирование регистра вводимой цифры**. Если тактовая кнопка нажата и удерживается более 1 с, то прибор переходит в состояние где происходит выбор третей цифры кода, т.е. 7.
  7. В нижней строке дисплея квадратными скобками выделяется третья цифра четырехзначного кода. Кратковременным нажатием на тактовую кнопку происходит инкрементирование регистра вводимой цифры**. Если тактовая кнопка нажата и удерживается более 1 с, то прибор переходит в состояние где происходит выбор четвёртой цифры кода, т.е. 8.
  8. В нижней строке дисплея квадратными скобками выделяется четвёртая цифра четырехзначного кода. Кратковременным нажатием на тактовую кнопку происходит инкрементирование регистра вводимой цифры**. Если тактовая кнопка нажата и удерживается более 1 с, то прибор переходит в состояние на то место откуда запрашивалась подпрограмма «Ввод кода», т.е. 3 или 4.
  9. Прибор закрывает замок и сохраняет состояние замка и код. В верхней строке выводит на дисплее надпись «Saving Сохран.» и в нижней строке четырёхзначный код. Далее прибор переходит в состояние где отображает статистику кодирования, т.е. 2.
  10. Прибор открывает замок и сохраняет состояние замка и код. В верхней строке выводит на дисплее надпись «Saving Сохран.» и в нижней строке четырёхзначный код. Далее прибор переходит в состояние где отображает статистику кодирования, т.е. 2.
  11. В верхней строке выводит на дисплее надпись «Error Ошибка» и в нижней строке четырёхзначный код. (Фото 4) После кратковременного или удерживаемого нажатия тактовой кнопки прибор переходит в состояние где отображает статистику кодирования, т.е. 2.

*После переполнения счётчика (больше 65535) происходит обнуление и счёт начинается заново, что приводит к сбою в статистике, в том смысле, что число кодирования может быть больше числа декодирований. Таким образом, рекомендуется обесточить прибор для сброса счётчиков.

**При инкрементировании цифры 9 происходит обнуление.

Так как у микроконтроллера защищена от внутрисхемного чтения EEPROM память (задано в конфигурации) внутрисхемно прочитать и узнать пароль, а следовательно и включить электрический замок не получится. Остаётся более простой способ вскрытия – непосредственно на прямую подать напряжение на электрический замок. Делаю вывод, прибор «кодовый замок» и электрический замок должны быть надёжно защищены от проникновения посторонних лиц. В свободном доступе должна быть кнопка и дисплей.

Стоит отметить, что прибор можно обесточивать, всё равно в энергонезависимой EEPROM памяти после ввода кода сохраняется состояние замка и код. Обесточивать прибор во время сохранения кода в энергонезависимой EEPROM памяти запрещено.

Стоит обратить внимание на одну важную деталь в работе прибора. При включении прибора он может кратковременно открывать электрический замок (на время мене 1 с), не смотря на то, что в энергонезависимой EEPROM памяти сохранено закрытое состояние электрического замка. Мной при симуляции выполнения программного кода в среде MPLAB IDE данная ошибка не была выявлена. При неожиданном обесточивании прибора во время сохранения кода в EEPROM памяти можно некорректно сохранить код и восстановить его не удастся, что приведёт к повторному программированию микроконтроллера. Отсюда следует рекомендация о необходимости стабильного и (или) резервного питания прибора. GB1 – резервное питание.

Файлы для изготовления печатной платы смотреть в папке .

В данном устройстве можно заменить следующие детали. Микроконтроллер DD1 из серии PIC16F628A-I/P-xxx с рабочей тактовой частотой 20 МГц в корпусе DIP18. Дисплей HG1 подойдет любой из серии WH1602x. Стабилизатор напряжения DA1 отечественный КР142ЕН5А (5 В, 1.5 А). Полевой MOSFET транзистор VT1 (N-канал) в корпусе I-Pak (TO-251AA), подойдёт аналог номинала указанного на схеме. Пьезоизлучатель звука P1 с рабочей частотой генерации звука 4 кГц. Диодный мост VD1 можно применить любой из серии 2Wxx. Разъём питания X2 аналогичный указанному на схеме с центральным контактом d=2.1 мм. Неполярные конденсаторы С1 и С2 номиналом 0.01 – 0.47 µF x 50 V. Электролитические конденсаторы С3 и С4 ёмкостной номинал тот же, а напряжение не ниже указанного на схеме.

Скачать архив с проектом кодового замка: 16F628Code_Lock.rar

Loading...Loading...