Кодовий замок на мікроконтролері. Електронний кодовий замок на мікроконтролер PIC12F675. Схема. Принципова схема пристрою

Alan Parekh

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

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

Принципова схема пристрою

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

Для живлення пристрою знадобиться джерело живлення 12 В, у схемі встановлений регулятор напруги LM7805. Світлодіод D3 свідчить про подачу живлення.

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

Для зміни режиму роботи (звичайний/програмування) використовується перемикач JP1. При вимкненому перемикачі – звичайний режим роботи, при увімкненому – режим програмування (налаштування). Слід зазначити, що вхід у той чи інший режим здійснюється під час подачі живлення (стан перемикача перевіряється мікроконтролером при подачі живлення). Тому для входу в режим налаштування необхідно встановити перемикач і подати живлення, для виходу з режиму - вимкнути перемикач, вимкнути, а потім включити живлення.

Для введення коду виду 1234 послідовність дій наступна:

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

Після введення четвертої цифри система функціонуватиме відповідно до встановленого режиму роботи. Якщо введено неправильний код, користувач побачить візуальне оповіщення (блимання світлодіода).

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

Опції меню:

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

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

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






Для збільшення натисніть на зображення

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

Hex-файл для програмування мікроконтролера

  • Зібрав, прошив, працює! Плату розвів одношарову.
  • як пршивал(зарання ДЯКУЙ)
  • прошивав icprog105D програмою, а програматор робив давно і як він називається вже не пам'ятаю. Але проблем при прошивці не було. Я цю схему і в протеусі збирав вона в мене і працювала там.
  • Виклади модель у Proteus.
  • В архіві схема, анімація, та друк в Proteus 7.7 SP2(Сборка9151) Рівень3. На друкованій платі, реле взято з якоїсь сигналізації від авто, і модель для протеуса, зроблена мною а схема аніме, це те, що можна запустити і перевірити роботу схеми в цілому. Світлодіод замість реле поставив для наочності.
  • Ідея зробити замок на МК непогана, лише набір шифру незручний. Уяви, що потрібно набрати 9 скільки разів натискати потрібно. Потрібен однорозрядний індикатор, тримаєш кнопку до появи потрібної цифри, відпускаєш, і цифра запам'ятовується або розпізнається залежно від режиму. Шкода що програмувати не можу або зайнявся б цим. Усі спроби самостійно вивчити, доки не увінчалися успіхом. Модель скачав.
  • А як вам такий, простий кодовий, і зовсім без кнопок на дверях http://shema.org.ua/forum/index.php?
  • Замок оригінальний, але можна втратити брелок і не потрапити за двері замком, що охороняється. А ось із єдиною кнопкою! Її важко втратити, але ще важче знайти! Код вводити довго, але якщо придумати використовувати його як другий, резервний так би мовити! У випадку банально простому, зачинили двері, а ключі залишилися за дверима. І ось ця конструкція з однією кнопкою допоможе! А ось кнопки може і не бути, роль кнопки виконає ручка тих самих дверей, що зачинилися. Далі не роз'яснятиму, і так зрозуміло.
  • Звичайно можна і втратити, а можна і у сусідів залишити, як у старі добрі часи:) код не казати тільки.

Пристрій призначений для захисту приміщень, шаф та сейфів від несанкціонованого розтину. Усі установки та код зберігаються в енергонезалежній пам'яті мікроконтролера. Основою пристрою є мікроконтролер PIC16F628A(DD1 на схемі рис. 1). Після подачі живлення програма мікроконтролера налаштовує його порти, а також відключає джерело зразкової напруги, модуль ШІМ захоплення порівняння, таймери, компаратори та апаратний USART – ці модулі не потрібні для замку. Потім починається опитування клавіатури.

Вона складається із двох частин. Перша - кнопки SB3-SB 14 - знаходиться зовні об'єкта, що охороняється. Друга – кнопки SB1, SB2 та вимикач SA1 – розташована всередині приміщення. Кнопки SB3-SB 13 першої частини клавіатури об'єднані у матрицю. Кнопка SB 14 в матрицю не входить, вона призначена для перезапуску мікроконтролера у разі будь-якого збою в програмі, а також у інших випадках, про які буде розказано нижче.

Кнопка SB1 "Відкрити" встановлена ​​всередині приміщення біля дверей. Натисканням на неї можна відчиняти двері зсередини, не набираючи коду. SB2 – кнопка перезапуску програми; кнопки SB2 та SB 14 включені паралельно. Кнопкам матриці присвоєно позначення: SB3 - "1", SB4 - "4", SB5 - "7", SB6 - "Відкрити", SB7 - "2", SB8 - "5", SB9 - "8", SB 10 - "0", SB11 - "3", SB 12 - "6", SB 13 - "9". Тумблером SA1 вибирають режим закривання замка. Код вводять по черзі короткочасним натисканням на цифрові кнопки. На підтвердження натискання прозвучить короткий тональний сигнал пьезоизлучателя НА1, керованого транзистором VT2.

Перед тим як відчинити двері, вводять чотиризначний код з паузами між сусідніми натисканнями не більше 3 с, а потім протягом 3 с потрібно коротко натиснути на кнопку SB6. Через 2 з на виході RA0 мікроконтролера 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 (перезапустити програму) і знову натиснути кнопку SB1.

Коли необхідно змінити код, спочатку вводять старий так само, як і при операції відчинення дверей, але потім натискають на кнопку SB6 не короткочасно, а утримують її до того моменту, поки не пролунають три тональні сигнали. Потім необхідно негайно відпустити кнопку SB6, ввести новий чотиризначний код і відразу підтвердження ще раз натиснути на кнопку SB6. Далі прозвучить сигнал із наростаючою частотою, який сповістить про те, що новий код прийнято. Він зберігається у перших чотирьох осередках енергонезалежної пам'яті мікроконтролера DD1.

Пристрій має систему блокування. Щоразу при введенні неправильного коду замок відтворить два сигнали частотою 1000 Гц і один частотою 500 Гц. Помилковим контролер вважає натискання на кнопку SB6 у той час, коли в робочих регістрах знаходиться невірний код, і введення п'яти цифр коду. Після трьох помилок підряд мікроконтролер DD1 встановить на виході RA2 високий рівень. При цьому відкриється транзистор VT3, який увімкне тривожний пристрій. Цим пристроєм може бути сирена або вузол телефону.

Одночасно увімкнеться світлодіод HL1, встановлений на панелі клавіатури, який покаже, що опитування клавіатури (крім тумблера SA1 та кнопок SB1, SB2, SB 14) вимкнено. Потім слідує десятихвилинна пауза, під час якої працює тривожний пристрій і включений світлодіод HL1. Протягом цього часу відкрити замок можна лише зсередини. Якщо натиснути кнопки SB 14 і SB2 (кнопки перезапуску програми мікроконтролера), то десятихвилинний відлік почнеться заново. Після паузи контролер надасть лише одну можливість ввести код, і якщо він буде невірним, десятихвилинна пауза із включенням тривожного пристрою повториться знову. І так продовжуватиметься до введення правильного коду. Щоразу після правильного введення коду лічильник помилок обнулюється.

class="eliadunit">

Живить пристрій джерело постійного струму напругою 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 .

Принципова схема дворівневої системи охорони, побудована застосуванням AVR мікроконтролерів серії ATMega. 1-й рівень охорони – кодовий замок. 2-й рівень охорони – пристрій охорони. Дві функціональні плати, що входять до системи, виконані на базі мікроконтролерів ATmega 8535.

Структурна схема

Мікроконтролери (родини AVR, MCS-51 та ін.) зі своєю архітектурою, програмними та апаратними ресурсами, як цифрові кубики ідеально підходять для розробки різних пристроїв охорони, сигналізації, кодових замків та ін.

Мал. 1. Структурна схема системи охорони.

У системі (рис. 1) є дві основні складові: кодовий замок А2, і пристрій охорони А1. Пристрій охорони А1 має 24 незалежні вхідні лінії, до яких підключені кінцеві вимикачі S1...S24. Ці вимикачі контролюють стан вікон 01...05, двері Д1, люків Л1, Л2.

Кількість вищевказаних об'єктів контролю може бути різною, і прив'язана до кожного конкретного приміщення або периметру, що охороняється.

Кількість застосовуваних пристроїв охорони А1 та кодових замків А2 теж нічим не обмежена та визначається умовами охорони, ступенем захисту, особливостями будівель, приміщень та ін. Зрозуміло, що кінцеві вимикачі S1...S24 можуть контролювати й ті двері, люки доступ до яких обмежений замком (або кодовими замками) А2. p align="justify"> Принципова схема кодового замку представлена ​​на рис. 2.

Принципова схема

Розглянемо роботу устрою охорони. Зовнішніми (виносними) елементами по відношенню до пристрою є 24 кінцеві вимикачі (S1...S24), які дозволяють контролювати стан 24 об'єктів (наприклад, двері). Один кінцевий вимикач контролює стан одних дверей. Якщо двері зачинені - кінцевий вимикач розімкнуто.

Користувач (оператор, диспетчер) візуально стан дверей може проконтролювати стан індикатора.

Якщо двері відчинені - кінцевий вимикач замкнений. Індикатор – періодично блимає. Якщо двері зачинені - кінцевий вимикач розімкнуто. Індикатор – не горить (погашений). Нехай кінцевий вимикач S1 встановлений у дверях № 1. Нехай кінцевий вимикач S2 встановлений у дверях № 2 і т.д.

Якщо відкриті двері № 1, то періодично блимає індикатор HL2 (якщо двері № 1 закриті індикатор HL2 – погашено). Якщо відкриті двері № 2, то періодично блимає індикатор HL3 (якщо двері № 1 закриті індикатор HL3 - погашено) і т.д.

Автор, не зупинятиметься на якомусь конкретному конструктивному виконанні установки кінцевого вимикача, а також конструкції самого пристрою. В інтерфейс контролю та керування пристрою входять: тумблери SA1, SA2, індикатори HL1...HL25. Конструктивно всі вищевказані елементи доцільно розмістити на окремій панелі управління.

Мал. 2. Принципова схема кодового замку системи охорони.

Елементи інтерфейсу керування пристрою мають таке призначення:

  • SA1 (ОХОРОНА) – тумблер сигналізації. При встановленні даного тумблера в положення "ВКЛ" пристрій ставиться під охорону. Пристрій ставиться під охорону через ~ 10 сек. з моменту встановлення тумблера SA1 у положення "ВКЛ" із положення "ВИМКН". Після встановлення під охорону сигналізація спрацьовує через ~ 10 сек з моменту замикання будь-якого кінцевого вимикача S1...SA24.
  • SA2 - перемикач вимикання звуку. Цей перемикач функціонує тільки в режимі контролю стану дверей. Тумблер SA1 повинен бути встановлений у положенні "ВИМК." При встановленні тумблера SA2 у положення "ВКЛ" при відкритті будь-яких дверей п'єзоелектричний випромінювач ВА1 відразу видасть звуковий сигнал, тривалістю ~ 2 сек. Якщо даний тумблер у положення "ВИМК", то при відкритті будь-яких дверей, буде періодично блимати тільки відповідний індикатор, п'єзоелектричний випромінювач ВА1 - буде вимкнений.
  • HL1 – індикатор активації режиму охорони. Якщо пристрій знаходиться в режимі "охорона", цей індикатор - горить, якщо в режимі "контроль стану дверей" цей індикатор - погашено.

Сигналізація спрацьовує – це означає: реле К1 – постійно включено. Висновки 5 і 6, а також 2 і 3 даного реле - замкнуті. П'єзоелектричний випромінювач ВА1 - включається та вимикається з періодом ~ 1 сек. Для вимкнення сигналізації необхідно тумблер SA1 встановити в положення "ВИМКН".

Розглянемо основні, функціональні вузли принципової схеми устрою. Основою пристрою служить мікроконтролер DD1, робоча частота якого задається генератором із зовнішнім резонатором ZQ1 на 10 МГц.

Мал. 3. Принципова схема устрою охорони на микроконтроллере.

До порту PD мікроконтролер DD1 підключені вимикачі SA1, SA2 п'єзоелектричний випромінювач ВА1, індикатор HL1, ключ на транзисторах VT1, VT2 для управління реле К1. До портів РВ, РА, PC мікроконтролера DD1 підключені кінцеві вимикачі S1...S24 та індикатори HL2...HL25.

Живлення на ці індикатори надходить через ключ на транзисторі VТЗ, який управляється з виведення 21 мікроконтролера DD1. Резистори R10...R17, R20...R27, R28...R35 - струмообмежувальні для індикаторів HL2...HL25. Резистор R8 - струмообмежувальний індикатор HL1.

Реле К1 управляється відповідно до виведення 14 мікроконтролера DD1. Напруга живлення +12 В і +5В надходить на пристрій зі з'єднувача XI. Конденсатор С5 фільтрує пульсації в ланцюгу живлення +5 В. Блокувальний конденсатор С4 стоїть по ланцюгу живлення мікроконтролера DD1.

В алгоритмі роботи пристрою можна виділити два режими роботи: режим контролю стану дверей та режим охорони. Розглянемо алгоритм роботи пристрою у режимі контролю стану дверей. Нехай всі двері об'єкта, що охороняється, закриті. Тумблер SA1 у положенні "ВИКЛ".

Тумблер SA2 у положенні "ВКЛ". Після подачі живлення пристрій, при ініціалізації в усі розряди портів РВ, РА, PC мікроконтролера DD1 записуються балка. 1. Ключі на транзисторах VT1 ... VT2 закриті, індикатор -HL1 - погашено.

Індикатори HL2...HL25 -погашені. Кінцеві вимикачі S1...S24 розімкнені. З виводу мікроконтролера 21 DD1 генерується періодичний сигнал (меандр) з періодом порядку 1 с. Якщо відкрити двері № 1, включиться кінцевий вимикач S5.

Індикатор HL2 періодично блиматиме з періодом ~ 1 сек. П'єзоелектричний випромінювач ВА1 видасть звуковий сигнал тривалістю 3 сек.

Якщо відкрити двері № 2, включиться кінцевий вимикач S6. Індикатор HL2 періодично блиматиме з періодом ~ 1 сек. П'єзоелектричний випромінювач ВА1 видасть звуковий сигнал тривалістю ~ 2 сек і т. д. Якщо встановити тумблер SA2 у положенні "ВКЛ", то при замиканні будь-якого кінцевого вимикача (при відчиненні будь-яких дверей) тільки блиматиме відповідний індикатор.

Розглянемо роботу пристрою у режимі охорони. Нехай всі двері об'єкта, що охороняється, закриті. Тумблер SA1 встановлений у положенні "ВЫКЛ".

Пристрій переходить в режим охорони через ~10 сек з моменту установки тумблера SA1 в положенні "ВКЛ". За цей час необхідно закрити всі двері і залишити об'єкт, що охороняється. Зрозуміло якщо периметр об'єкта, що охороняється, досить великий і за 10 сек. неможливо закрити всі двері, всі двері необхідно закрити до постановки об'єкта під охорону.

Якщо в режимі охорони включиться будь-який з кінцевих вимикачів S1...S24 (буде відчинені будь-які двері) при цьому на відповідному виведенні портів РВ, РА, PC мікроконтролера DD1 буде присутній сигнал рівня лог.0. то через ~10 сек. увімкнеться звукова сигналізація (п'єзоелектричний випромінювач ВА1). При цьому на виводі 14 мікроконтролер DD1 встановить рівень лог.0 (ввімкнеться реле К1).

Якщо на об'єкт, що охороняється, проникає "свій", то йому необхідно за ~ 10 сек і встановити тумблер SA1 в положенні "ВИКЛ", інакше спрацює сигналізація. Зрозуміло, що доступ до вимикача SA1 має бути обмеженим.

Якщо на об'єкт, що охороняється (через розкриті двері) проникає "чужий", то йому необхідно за ~10 сек. знайти вимикач SA1 і встановити його у положенні "ВИМК." Сигналізація увімкнеться і в тому випадку, якщо будь-який з кінцевих вимикачів S1...S24 включиться на короткий час (наприклад, закрити і відразу закрити двері). Контакти реле К1 можна використовувати для замикання ланцюгів управління або живлення різних виконавчих пристроїв, наприклад механізму блокування дверей або включення сирени (ревуна).

Розроблена програма на асемблері займає всього близько 0,4 КБайт пам'яті програм мікроконтролера DD1. Незадіяні апаратні (лінії PD6, PD7) та програмні (близько 7,6 Кбайт) ресурси мікроконтролера DD1 можна використовувати для додаткових опцій.

Наприклад, можна встановити пару кнопок і додати функцію встановлення та зняття з охорони пристрою через код доступу або керувати якимись іншими виконавчими пристроями. Розібравшись у програмі можна замінити встановлені програмно параметри пристрою:

  • період миготіння індикатора HL1;
  • тривалість звукового сигналу п'єзоелектричного випромінювача ВА1 в режимі контролю стану дверей;
  • час встановлення пристрою під охорону, а також час затримки на включення сигналізації.

У пристрої використані резистори С2-ЗЗН-0.125, підійдуть будь-які інші з такою ж потужністю розсіювання та похибкою 5%. Конденсатор С5 типу К50-35. Конденсатор С1...С4 типу К10-17а. Конденсатор С4 встановлюються між ланцюгом +5V та загальним провідником мікроконтролера DD1. Тумблери SA1...SA2 типу МТД1.

Реле К1, типу РЕМ48Б виконання РС4.590.202-01. Дані реле, з робочою напругою 12 В (або з якоюсь іншою робочою напругою), для кожного конкретного випадку, можна підібрати абсолютно будь-які, враховуючи при цьому комутовані струм і напруга виконавчого пристрою, що підключається.

Кінцеві вимикачі можна підібрати будь-які під кожен конкретний випадок. Це може бути кнопка типу ПКН124, або, наприклад, вологозахищений вимикач колійної типу ВПК2111. П'єзоелектричний випромінювач ВА1-НРМ14АХ.

Транзистор VT1 – КТ829А. Транзистори VT2, VT3-КТ3107Е. Індикатор HL1 – АЛ307АМ, червоного кольору. Індикатор HL1 можна замінити будь-якою іншою, бажано, з максимальним прямим струмом до 20 мА.

Розглянемо роботу кодового замка (далі замка) на малюнку 3. Алгоритм його досить простий: як запису в EEPROM мікроконтролера заноситься код, що з 4-х десяткових цифр і набирається на 7- кнопковій клавіатурі. Для перевірки записаний код читається в режимі читання. У робочому режимі замок чекає на введення коду.

Код, що вводиться, мікроконтролер записує в ОЗУ і побайтно порівнює його з кодом, записаним в EEPROM. Якщо коди збіглися, мікроконтролер на п'ять секунд подає сигнал на включення механізму відкривання замка.

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

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

В інтерфейс пристрою входять шкальний, знакосинтезуючий індикатор HG1, блок індикації (дисплей) з семисегментних цифрових індикаторах HG2...HG4, перемикач SA1, і клавіатура (кнопки S1...S8).

Кнопки S1...S7 позначені цифрами від "1" до "7". Дані кнопки задають код введення Кнопкою S8 (Р) задається в циклі один з трьох режимів роботи: "режим № 1", "режим № 2", "режим № 3". Після режиму №3 вмикається режим №1.

Елемент №1 індикатора HG1 включений при роботі в режимі №1", елемент №2 індикатора HG1 включений при роботі в режимі № 2, і елемент №3 включений відповідно при роботі в режимі № 3. На 5-розрядному дисплеї (здвоєні цифрові індикатори індикатор HG2, HG3 відображається код, що вводиться, індикатор HG4 індикує символи "3" (при закритому замку) і "0" (при відкритому замку).

Перемикач SA1 визначає режим відображення коду на дисплеї пристрою. Якщо цей перемикач знаходиться в положенні "1", код, що задається з клавіатури, індикується на дисплеї пристрою. Якщо в положенні "2" (прихований режим), при наборі коду на дисплеї пристрою в кожному розряді відображаються символи

У режимі №1 (Робочий режим) замок готовий до введення коду для відкривання замка (якщо звичайно код був попередньо записаний в EEPROM). Перед набором коду на дисплеї відображається код 0000. Елемент №1 індикатора HG1 увімкнено (інші елементи індикатора HG1 вимкнені).

Індикатор HG4 відображає символ "3" (закрито). Кнопками S1...S7 набирається 4-розрядний код. Набраний код відображається на дисплеї. Мікроконтролер після натискання будь-якої з кнопок S1...S7 записує отриманий 4-х розрядний код в ОЗП і починає звіряння коду записаного в ОЗП та коду записаного в EEPROM. Коди порівнюються побайтно.

Якщо порівняння пройшло успішно, мікроконтролер подає сигнал на виконавчий механізм відкриття замка. На п'ять секунд включається елемент №4 індикатора HG1, індикатор HG4 індикує символ "О" (відкрито) та встановлюється балка. 0 на виводі 21.

Через п'ять секунд вимикається елемент №4 індикатора HG1 на виводі 21 встановлюється балка. 1. На дисплеї знову відображається код 0000. Індикатор HG4 знову відображає символ "3" (закрито).

У режимі №2 (режим запису) здійснюється запис секретного коду EEPROM. На дисплеї відображається код 0000. Елемент №2 індикатора HG1 увімкнено. Індикатор HG4 відображає символ "3" (закрито). Кнопками SI...S7 набирається код. Набраний код відображається на дисплеї.

Мікроконтролер записує в EEPROM 4-розрядний код, що індикується на дисплеї, після натискання будь-якої з кнопок 51...57. Після запису коду на дисплеї знову відображається код 0000.

У режимі №3 (режим перевірки записаного коду) здійснюється перевірка записаного секретного коду EEPROM. Елемент №3 індикатора HG1 увімкнено. Індикатор HG4 відображає символ "3" (закрито). Записаний код EEPROM, індикується на дисплеї.

Зрозуміло, що доступ до кнопки S8 та перемикача SA1 повинен бути обмежений. Конструктивно це зробити не так уже й складно.

Розглянемо основні, функціональні вузли устрою (рис. 3). Основою пристрою служить мікроконтролер DD1, робоча частота якого задається генератором із зовнішнім резонатором ZQ1 на 11.0592 МГц. Порт PD мікроконтролера DD1 управляє динамічною індикацією.

Динамічна індикація зібрана на транзисторах VT1...VT5, здвоєних, цифрових, семисегментних індикаторах HG2, HG3 та одинарному цифровому індикаторі HG4. Резистори R7...R14 - струмообмежувальні сегменти індикаторів HG2...HG4. Коди для включення вищезазначених індикаторів при функціонуванні динамічної індикації надходять до порту PC мікроконтролера DD1.

Для функціонування клавіатури задіяно виведення 19 (PD5) мікроконтролера DD1. Елементи шкального індикатора HG1 підключені до висновків порту РВ мікроконтролера DD1. Резистори R2...R5 - струмообмежувальні елементи індикатора HG1.

Відразу після подачі живлення на виведенні мікроконтролера 9 DD1 через RC-ланцюг (резистор R1, конденсатор С3) формується сигнал системного апаратного скидання для мікроконтролера DD1. На дисплеї відображається код 0000. Елемент №1 індикатора HG1 - увімкнено. Індикатор HG4 відображає символ "3" (закрито).

Напруга живлення +5V надходить на пристрій зі з'єднувача XI. Конденсатор С5 фільтрує пульсації в ланцюзі живлення +5 В. Блокувальний конденсатор С4 стоїть по ланцюзі живлення DD1.

Зовсім коротко про програму. У програмі використовуються два переривання: Reset та переривання таймера ТО, обробник якого починається з мітки ТІМ0. При переході на мітку Reset ініціалізуються стек, таймер, порти, а також прапори та змінні, що використовуються в програмі.

Таймер ТО генерує переривання з переповнення (у регістрі TIMSK встановлено біт TOIE0). Коефіцієнт попереднього поділу тактової частоти таймера встановлено рівним 64 (у регістрі TCCR0 записано число 3).

В основній програмі вмикається елементи індикатора HG1. Включені елементи даного індикатора, як згадувалося вище визначають поточний режим роботи замка. В обробнику переривання таймера ТО здійснюється: процедура опитування кнопок S1...S8, функціонування динамічної індикації, запис секретного коду в EEPROM, читання секретного коду з EEPROM, перекодування двійкового числа в код для відображення інформації на семисегментних індикаторах пристрою, а також тривалістю п'ять секунд, необхідний включення виконавчого пристрою соленоїда.

У ОЗП мікроконтролера з адреси $61 за адресою $70 організовано буфер відображення динамічної індикації. Нижче наведено докладний розподіл адресного простору в ОЗП мікроконтролера.

  • $60 - адреса початку ОЗП мікроконтролера.
  • $61...$64 - адреси, де зберігається код, що задається для відкривання замка і символ "3". Ці адреси виводяться на індикацію у режимі №1 (буфер №1).
  • $66...$69 - адреси, де зберігається код, що читається з EEPROM і символ "3". Ці адреси виводяться на індикацію у режимі №3 (буфер №2).
  • $6С...$70 - адреси, де зберігаються символи при прихованому наборі коду, та символ "3". Ці адреси виводяться на індикацію режимі № 1(буфер №3).

Прапори, задіяні у програмі, знаходяться у регістрах R19 (flo) та R25 (flo1).

Розроблена програма на асемблері займає близько 1,2 Кб пам'яті програм. Розібравшись у програмі, при незначних доопрацюваннях принципової схеми, задіявши вільні апаратні та програмні ресурси мікроконтролера DD1, можна, наприклад, збільшити кількість розрядів у дисплеї та кількість кнопок або додати звукову сигналізацію.

Застосовані резистори типу С2-ЗЗН підійдуть будь-які інші з такою ж потужністю розсіювання та похибкою 5%. Конденсатори С1...С4, типу – К10-17а, С5 – К50-35а. з'єднувач ХІ типу WF-4. Конденсатор С4 встановлюється між ланцюгом +5V та загальним провідником мікроконтролера DD2. Для відпрацювання макету застосовувався вимикач SA1 типу ВДМЗ-8.

Для установки в блоковий корпус можна застосувати, наприклад, перемикач типу МТДЗ. На дисплеї виділено розряд, що індикує символи "3", "О" (індикатор HG4) на тлі інших розрядів інтерфейсу. Тому для цього розряду вибрано семисегментний індикатор зеленого кольору HDSP-F501, індикатори HG2, HG3 зеленого кольору DA56-11GWA.

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

Вихідний код та прошивки програм - Завантажити (8 КБ).

Шишкін С. В. РК-07-16.

Література:

  1. А. В. Бєлов Створюємо пристрої на мікроконтролерах.
  2. С. В. Шишкін. Кодовий замок на базі мікроконтролера. Р-10-2011.
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 разів. Коли параметри буде збережено, світлодіод повідомить про це частими спалахами.
Вибір режиму роботи– використовується для зміни режиму керування реле. Є два режими роботи: активація реле при введенні правильного коду та зміна стану реле (активація/деактивація) під час введення правильного коду. При виборі другого режиму пристрій діятиме так: якщо реле активовано і вводиться вірний код, то реле деактивується, при наступному введенні правильного коду реле активується. Щоб змінити режим роботи: натисніть кнопку один раз для вибору першого режиму та двічі для вибору другого режиму.

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

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

Поділитися