Кодовий замок на pic16f628a прошивка. Електронний кодовий замок на мікроконтролері PIC12F675

У різній радіоаматорській літературі можна знайти безліч варіантів електронних кодових замків.

Особливістю даної схеми кодового замку на мікроконтролері є принципово новий метод зчитування натискання клавіш, використовуючи лише один порт мікроконтролера 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 років наш журнал існує лише за мої кошти.

Гарний! Халява скінчилася. Хочеш файли та корисні статті - допоможи мені!

Answer

Lorem Ipsum is simply dummy text printing and typesetting industry. Lorem Ipsum has been the industry"s standard dummy text ever since the 1500s, when unknown printer took a galley of type and scrambled it to make a typ specimen book. Вона була популярна в 1960-х роках з літрами літерами, що містять Lorem Ipsum pasages, і більше останнього з робочим програмним забезпеченням як Aldus PageMaker including version.

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

Пристрій може застосовуватись у системах управління гаражними воротами, у системі управління освітленням, в охоронних системах.

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

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

натиснути кнопку тричі;
дочекатися візуального підтвердження світлодіодом на кнопці;
натиснути кнопку 4 рази.
Після введення четвертої цифри система функціонуватиме відповідно до встановленим режимомроботи. Якщо введено неправильний код, користувач побачить візуальне оповіщення (блимання світлодіода).
Для встановлення параметрів замка використовується режим програмування. У цьому режимі для переходу між опціями кнопка натискається та утримується протягом 3 секунд. Після відпускання кнопки буде виконано перехід до наступного пункту меню, при цьому світлодіод кількістю спалахів вкаже, в якому пункті меню ви перебуваєте (наприклад, спалах, спалах, пауза, спалах, спалах, пауза… – означає, що обрано другий пункт меню).

Опції меню:

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

Усі параметри зберігаються в незалежній пам'яті мікроконтролера.

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

Цей електронний замок можна використовувати для відкриття електромеханічного затвора. Функціональність реалізована в програмне забезпечення. Реле керування замком включається (зазвичай, щоб відкрити двері) протягом кількох секунд, якщо хтось вводить правильний код.

Струм споживання схеми є низьким, тому що мікроконтролер спить більшу частину часу, і прокидається тільки для обробки натискань клавіш. Контролер 16F628A вже працює від внутрішнього RC генератора, тому ніяких зовнішніх кристалів не потрібно. Кожне натискання клавіші дублюється звуковим сигналомзумера BM1. Зумер використовується із внутрішнім генератором. Стан висвітлюється на LCD індикаторі типу 16x02 з контролером HD44780. У замку використовується стандартна матрична клавіатура з кількістю стовпців 3 і рядків 4. Схема замку на малюнку нижче.

Щоб відкрити замок, введіть правильний код і використовуйте "#" як клавішу "введення". Початковий код 623342. Код може бути змінений у будь-який час після введення чинного коду. Кнопка "*" використовується для зміни коду. Введіть фактичний код та натисніть "*". Якщо код введено правильно, індикатор зміни коду HL1 загориться, після чого введіть новий код двічі, підтвердивши введення клавішею "#". Також можна змінити довжину коду.

Пристрій призначений для захисту приміщень, шаф та сейфів від несанкціонованого розтину.

Усі установки та код зберігаються в енергонезалежній пам'яті мікроконтролера.

Ця нескладна схема цілком під силу багатьом радіоаматорам.

А продуманий алгоритм роботи, принесе вам задоволення експлуатації цієї схеми.

Основою пристрою є мікроконтролер 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.

Архів з мікропрограмою



Завантаження...
Top