TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Ročníkový projekt
Pavel Dvořák
Liberec
2012
Materiál vznikl v rámci projektu ESF (CZ.1.07/2.2.00/07.0247) Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření, KTERÝ JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY
TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií
Studijní program:B2612 Elektrotechnika a informatika Studijní obor: Informatika a logistika
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Ročníkový projekt
Autor:
Pavel Dvořák (M10000020)
Vedoucí práce:
Ing. Tomáš Náhlovský
V Jablonci nad Nisou dne 17. května 2012 Materiál vznikl v rámci projektu ESF (CZ.1.07/2.2.00/07.0247) Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření, KTERÝ JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Ústav řízení systémů a spolehlivosti
Školní rok: 2011/12
ZADÁNÍ ROČNÍKOVÉHO PROJEKTU Název projektu:
Rešitel(-é): Studijní obor:
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051 Pavel Dvořák 1802R022 - Informatika a logistika
Vedoucí projektu: Ing. Tomáš Náhlovský Zadání: 1. Zpracujte přehled současných průmyslových řešení zabezpečení místnosti. 2. Vypracujte návrh řešení zabezpečovacího systému, vyberte vhodná čidla, alarmy, jejich umístění a připravte technickou dokumentaci. 3. Seznamte se s vývojovou platformou MikroElektronika BIG8051, na které bude realizován projekt. 4. Na vývojové platformě BIG8051 prakticky realizujte základní funkce řízení zabezpečení místnosti.
Doporučená literatura: [1] PLÍVA, Zdeněk; DRÁBKOVÁ, Jindra. Metodika zpracování diplomových,
bakalářských a vědeckých prací na FM TUL. Vyd. 1. Liberec : Technická univerzita, 2007. 40 s. Dostupné z WWW:
. ISBN 978-80-7372-189-3. [2] Dokumentace výrobce k vývojovému systému MikroElektronika BIG8051 [3] Vybraná literatura týkající se problematiky zabezpečování objektů. ... Požadované náležitosti: Projekt PRJ1: K zápočtu v zimním semestru předložit laboratorní deník a stručnou průběžnou zprávu o dosažených výsledcích.
2
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Projekt PRJ2: K obhajobě předložit zprávu o řešení projektu (15 stran, písmo 12 b) včetně anotace v českém a anglickém jazyce (viz [1]). Prezentace výsledků (max. 15 minut), ukázky realizovaného díla atp. Termíny: Odevzdání dokumentace a obhajoba podle harmonogramu výuky na FM.
Datum zadání: 15.10.2011
Podpis vedoucího projektu:
2
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Abstrakt Tento ročníkový projekt je vypracován na téma zabezpečovacích systémů. Na začátku práce je přehled základních součástí zabezpečovacích systémů, zapojení a realizace rozvodů, čidel a ústředen. Úvodní kapitoly práce dále obsahují stručný popis principů čidel a jejich zásadní parametry. V další části práce je sepsán návrh řešení zabezpečovacího systému, včetně výběru čidel, jejich rozmístění a příslušných zdůvodnění. Druhá část práce je věnována seznámení s deskou BIG8051 a jejími periferiemi, popisu jejich funkcí, výhod a nedostatků. Na tuto kapitolu přímo navazuje část s popisem programovacího jazyka a jeho knihoven ulehčujících práci s BIG8051. V předposlední části je popis samotné realizace vlastního zabezpečovacího systému na této platformě. Kompletní okomentovaný program je v příloze na CD. Na závěr jsou sepsány další nápady, které se bohužel nepodařilo realizovat a zdůvodnění proč k jejich realizaci nedošlo. This Year project is written on the topic of security systems. At the beginning of the thesis is an overview of the basic parts of security systems, of connections and realizations of the wiring, sensors and centrals. The initial sections also contain a brief description of the principles of the sensors and their crucial parameters. In the following part of the thesis is presented a design of the proposed security system, including the choices of sensors and their positioning and argumentation for them. The second main part of the thesis is dedicated to introducing the board BIG8051 and its peripheries, to the description of its functions, advantages and shortcomings. This section is directly followed by a section about the corresponding programming language and its libraries that simplify the work with BIG8051. The last but one section of the thesis contains description of the designed security system on the platform BIG8051. A complete commented program is attached on CD. The conclusions contain several other ideas, which were, however, not realized and the reasons why they were not realized.
3
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Obsah Originál zadání............................................................................................................................... 2 Abstrakt ......................................................................................................................................... 3 Obsah ............................................................................................................................................ 4 Seznam obrázků ............................................................................................................................ 5 1
Zabezpečovací systémy ......................................................................................................... 6 1.1
Úvod .............................................................................................................................. 6
1.2
Základní časti zabezpečovacího systému ...................................................................... 6
1.3
Důležité parametry a funkce zabezpečovacího systému ............................................ 10
2
Návrh řešení zabezpečovacího systému ............................................................................. 11 2.1
Vstupní parametry ...................................................................................................... 11
2.2
Popis rozmístění čidel ................................................................................................. 11
2.3
Použitá čidla ................................................................................................................ 12
3
Vývojová platforma BIG8051 .............................................................................................. 14 3.1
Základní prvky BIG8051............................................................................................... 14
3.2
Kompilátor................................................................................................................... 17
4
Realizace vlastního programu ............................................................................................. 19 4.1
Základní části ............................................................................................................... 19
4.2
Dotyková klávesnice .................................................................................................... 19
4.3
Tlačítková klávesnice ................................................................................................... 20
4.4
Vlastní program ........................................................................................................... 20
4.5
Připojení čidla .............................................................................................................. 22
4.6
Další plány ................................................................................................................... 22
5
Závěr.................................................................................................................................... 23
Seznam použité literatury ........................................................................................................... 24 Příloha Vlastní program .............................................................................................................. 25 sah
4
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Seznam obrázků Obr. 1 Základní zapojeni PIR senzorů, klidový stav.
8
Obr. 2 Základní zapojeni PIR senzorů, aktivní stav prvního čidla.
8
Obr. 3 Alternativní zapojeni PIR senzorů, aktivní stav všech čidel.
9
Obr. 4 Detektor JS-20, zdroj [4].
12
Obr. 5 Záběrová charakteristika GBS-210, zdroj [5].
13
Obr. 6 Rozloženi komponent na BIG8051, zdroj [3].
16
Obr. 7 Ukázka možností výpisu displeje, zdroj [3].
18
Obr. 8 Ukázka dotykové klávesnice.
20
5
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
1 Zabezpečovací systémy 1.1 Úvod Zabezpečovací systémy jsou určeny k ochraně osob a majetku. Chrání před vniknutím cizích osob do objektu, odcizení nebo znehodnocení majetku cizí osobou, požárem či únikem plynu. Navržený zabezpečovací systém se skládá ze základních částí, které zabezpečují již dříve zmíněné funkce. V dalších částech práce se můžete dočíst na jakých principech čidla pracují, jaké jsou jejich základní parametry. K čidlům je zde krátký návod čemu by se měl technik při jejich instalaci vyhnout a jak naopak docílit nejlepší funkce systému. V další části práce je sepsán návrh řešení zabezpečovacího systému, včetně výběru čidel, jejich rozmístění a jejich zdůvodnění. Druhá část práce je zaměřená na popis desky BIG8051. V jejím úvodu je základní popis periferií a kompilátoru. Závěrečná část se věnuje vlastní realizaci zabezpečovacího systému. Ta je rozdělena na několik částí, které popisují jednotlivé části vlastní realizace.
1.2 Základní časti zabezpečovacího systému - Ústředna - Siréna - Magnetický detektor - Passive-infrared detektor (PIR) - Tísňová tlačítka - Detektory kouře a plynu - Detektor rozbití skla
Ústředna je nejdůležitější součástí zabezpečovacího systému. Obstarává veškerou komunikaci mezi všemi čidly, vstupní klávesnicí, čtečkou přístupových karet, alarmem a dalšími částmi. Dalšími důležitými funkcemi jsou zpracování příkazů od uživatele, vyhlašování napadení objektu či napadení systému. Její konstrukce zamezuje sabotáži systému.
6
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Siréna je jedním z indikátorů napadení objektu. Používají se jak vnitřní tak vnější sirény. Vnější se instalují za účelem upozornění okolí na napadení objektu. Vnitřní na znepříjemnění práce lupičů a vyvolání stresu, či útěku cizích osob bez odcizení majetku. Vnitřní siréna se může stát také detektorem, díky svým čidlům poškození a otevření. Když lupič vyvolá poplach, spustí se vnitřní siréna, která je následně lupičem zničena. Alarm se přepne z poplachu napadení budovy na napadení systému. V tomto případě je pak už pravděpodobné, že objekt je doopravdy napaden a nejedná se jen o závadu systému nebo spuštění poplachu neopatrností uživatele. V dnešní době se sirénám přiřazuje menší důležitost, než v dřívějších dobách. Klade se větší důraz na upozornění přes SMS nebo napojení systému na bezpečnostní složky. Magnetický detektor se používá k detekci otevření dveří a oken. Je složen z permanentního magnetu a spínače citlivého na magnetické pole. Principiálně se čidla chovají stejně jako tampery na ostatních čidlech. Lze si jej tedy představit jako rozpínací tlačítko, jediný rozdíl je, že u tamperu sepnutý stav drží tlak pouzdra na tlačítko. U magnetického senzoru je kontakt sepnut díky poli permanentního magnetu. Pokud se dveře otevřou, oddálí se permanentní magnet, který je na nich umístěn. Magnetické pole již nepůsobí na kontakt, ten se rozepne a rozpojí elektrický obvod. Tento systém není drahý na výrobu a je velmi spolehlivý. PIR detektor je nejvíce používaný detektor, reaguje na energii vyzařovanou lidským tělem. Jeho základními částmi jsou čočka citlivá na tepelné záření, tamper a snímač vibrací, které upozorní systém na otevření. Dále svorky na připojení drátů a umístění vnitřního odporu. Dražší čidla jsou opatřena fotočočkou, která případného pachatele i vyfotografuje. Vzdálenost, na kterou je čidlo schopno detekovat osobu, se liší podle použité čočky. Také se vyrábí PIR detektory, které mají dvě čočky. Jedna má zorné pole od země do jednoho metru a druhá od jednoho metru do dvou metrů nad zemí. Tyto detektory vyhlašují poplach, až když je objekt zachycen oběma čočkami. Takové čočky jsou vhodné do bytů s domácími mazlíčky nebo sklepních prostor, kde se mohou vyskytovat různí hlodavci. Jejich nevýhoda je vyšší cena a nižší montážní výška. Také s nimi nelze zaznamenat pohyb osoby, která se plazí po zemi. Doporučené zapojení těchto detektorů nerozpoznává jednotlivá čidla na jedné větvi. Schéma tohoto zapojení můžete vidět na obr. 1. Na obr. 2 můžeme pozorovat stav, kdy čidlo jedna zpozoruje osobu. Na obrázcích jsou tři PIR senzory zapojené na jedné obvodové větvi. 7
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Každá větev se skládá z jednoho odporu, aby byl jednoznačně definovaný klidový stav. Každý senzor se skládá z tamperu, ke kterému je připojen sériově odpor přemostěný rozpínacím kontaktem. V klidovém stavu je na větvi odpor 1kΩ. Při otevření jednoho ze tří čidel se větev rozpojí. Ústředna tento stav vyhodnotí jako sabotáž. Pokud některé čidlo zpozoruje osobu, rozpojí se kontakt senzoru a do větve se připojí další odpor 1kΩ. Pokud čidla zpozorují další osoby, do obvodu se přiřadí odpory. Na obrázcích jedna a dva je tento proces naznačen, pouze voltmetr a ampérmetr jsou ve skutečném zabezpečovacím systému nahrazeny vstupy ústředny.
Obr. 1 Základní zapojení PIR senzorů, klidový stav.
Obr. 2 Základní zapojení PIR senzorů, aktivní stav prvního čidla.
8
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Alternativní zapojení rozpoznávají jednotlivá čidla na obvodové větvi. Uživateli poskytnou nejen informaci, na jaké větvi byl poplach vyhlášen, ale i přesně určí, který senzor vyhlásil poplach. Toto zapojení používá místo odporů o velikosti 1kΩ odporové dekády, kdy součet všech předchozích odporů je menší než odpor dalšího čidla. Na obr. 3 je vidět, že každé kombinaci senzoru na větvi jde přiřadit právě jeden součet odporů, díky tomu je možné jednoznačně říci, které čidlo či čidla alarm spustila. Při otevření čidla se celá větev přeruší a rozpoznat, které čidlo je otevřené, nemůžeme.
Obr. 3 Alternativní zapojení PIR senzorů, aktivní stav všech čidel.
Detektory kouře pracují na dvojím principu detekce. Sledují jednak teplotu v místnosti a navíc opticky zkoumají, jestli se v prostorách nenachází kouř. Detektory plynu pracují na principu žhavení platinového drátku a měření jeho odporu, pokud se v blízkosti drátku objeví hořlavý plyn, oxidací molekul na povrchu vlákna se zvětší jeho teplota tím i jeho odpor. Tyto senzory mají nejčastěji i svoje vlastní sirény na upozornění lidí v místnosti před nebezpečím. Pokud se připojují do ústředny, vyhrazuje se jim samostatná větev.
9
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
1.3 Důležité parametry a funkce zabezpečovacího systému Základní parametr zabezpečovacího systému je druh periferií připojitelných k ústředně. Druhým důležitým parametrem je druh propojení čidel s ústřednou. Základní připojení je drátové, kde je důležitým parametrem počet čidel, které můžeme připojit a do jaké vzdálenosti od ústředny je lze umístit. Na kolik větví je možné systém rozdělit a jaký je maximální počet čidel na větev, je také důležitým parametrem. U bezdrátových čidel nás také zajímá počet připojitelných čidel. Parametr počtu větví zde odpadá, bezdrátová čidla se neumísťují do větví. Primárně nás zajímá vzdálenost, do které lze umístit čidla od ústředny, se standardní anténou, bez opakovače. Opakovač je elektronická součást, která snímá signál z okolí, zesílí jej a znovu vysílá. U některých systémů se dá přidat silnější anténa a opakovač. Pokud se opakovač dá přidat, musíme také zjistit, kolikrát v systému může být a jak zasahuje do prodlevy čidel. U bezdrátových periferií nás také zajímá jejich spotřeba, jak často musíme měnit baterie a jaká je jejich cena. Důležitým parametrem je doba, kterou vydrží zabezpečovací systém v aktivním stavu při výpadku elektrické sítě. Také je třeba zjišťovat za jakou dobu naběhne záložní zdroj. Samozřejmostí u systému s ovládací klávesnicí uvnitř chráněného objektu je nastavitelný čas zpožděného příchodu a odchodu. To znamená, že některé námi nastavené bezpečnostní větve jsou aktivní až po určitém čase po zakódování objektu. A naopak čidla v blízkosti přístupu ke klávesnici na odkódování při detekci osob nejprve spustí odpočítávání času pro odkódování a až pak při překročení časového limitu spustí poplach. U moderních systémů je další funkcí možnost rozdělit objekt na více nezávisle zakódovatelných částí. Například oddělení jednotlivých částí továrny či oddělení skladů nebo garáží od zbytku budovy. Další moderní technologií začleněnou do zabezpečovacích systémů je přístup pomocí RFID karet. U nich je k odkódování systému potřeba přiložit kartu nebo přívěšek s kódem. Ústředny mívají nastavitelný parametr, jestli k přístupu potřebujeme použít pouze kartu, nebo musíme použít kartu i heslo zadané na klávesnici.
10
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
2 Návrh řešení zabezpečovacího systému 2.1 Vstupní parametry Pro návrh systému jsem si zvolil středně velký rodinný dům se dvěma vchody. Objekt má dvě patra a garáž. V domě se nepohybuje žádné zvíře, proto můžeme zvolit jednoduchá čidla.
2.2 Popis rozmístění čidel Jako výchozí bod použijme umístění centrální jednotky na místo, kde není na očích a půjdou od ní dobře natáhnout kabelové cesty. Jako další bod umístíme za vchodové dveře klávesnici pro zadání kódu. V následujícím kroku nainstalujeme první větev čidel. Bude se skládat pouze ze dvou čidel, z dveřního magnetického senzoru a senzoru pohybu. Dveřní kontakt se instaluje na horní stranu dveřního rámu. Jeho druhou častí je permanentní magnet, ten nainstalujeme na horní okraj dveří tak, aby při zavření byl permanentní magnet těsně pod senzorem. PIR senzor nainstalujeme do výšky 2,5m do rohu místnosti tak, aby zabíral případného pachatele, který by chtěl do objektu vniknout oknem. Na tuto větev následně nastavíme zpožděný odchod a příchod. Čas nastavíme na 30 sekund, aby měl uživatel čas zadat kód dvakrát, kdyby se nepodařilo zadat kód správně napoprvé. Dalšími PIR senzory pokryjeme zbytek dolního patra, všechny senzory zapojíme do jedné větve, kterou zakončíme magnetickým senzorem na zadních dveřích. V přízemí navíc nainstalujeme jednu větev čidel detekující rozbití výplně skel v oknech. Jako další větev zvolíme horní patro, které budeme také chránit pomocí standardních PIR čidel. Na zvláštní větev dáme senzor kouře, který umístíme do kuchyně, zde je největší pravděpodobnost požáru. Jako poslední větev nainstalujeme PIR detektor a magnetický senzor do garáže. Magnetický senzor instalujeme na mechanismus vrat, tak aby se při otevření oddálil magnet od senzoru. PIR senzor znovu umístíme do rohu místnosti pro případ, že pachatel překoná vstupní vrata bez jejich otevření. Díky samostatnosti větve a funkce dvou sekcí můžeme aktivovat zvlášť senzory v garáži bez aktivace senzorů v domě. Nesmíme zapomenout na instalaci sirény. Podle nových trendů se siréna instaluje na místo, kde je viditelná a je v dosahu člověka. Tato instalace ovšem počítá 11
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
s napojením zabezpečovacího systému na GSM modul nebo pevnou linku. V případě kdy ústředna spustí sirénu, zasílá zároveň SMS nebo zahájí hovor s namluveným textem na předem určené číslo či čísla. Tím, že sirénu umístíme na dosažitelné místo, se stane čidlem. Pokud sepnou čidla sirény umístěné pod jejím pláštěm, nebo mezi místem kde je upevněna a pláštěm, je pravděpodobné, že jde o napadení objektu. Již v části zabývající se sirénami jsem zmiňoval zasílání SMS a hovoru přes pevnou linku nebo GSM síť. Nejpoužívanější je modul se SIM kartou. Důvodem je zmenšující se počet pevných linek a jednoduché odstřihnutí domu od pevné linky. GSM modul nám navíc rovnou nabízí ovládání systémů na dálku, jako třeba zakódování a odkódovaní přes SMS.
2.3 Použitá čidla Magnetický senzor - po instalaci je nutné zjistit jestli jeho funkci neovlivnily kovové části v jeho blízkosti. PIR detektor JS-20 - nesmí se instalovat přímo kolmo proti oknům, tepelným zdrojům, ventilacím a podobně. S běžnou čočkou se instaluje do výšky 2,5m jeho dosah je až 12 metrů. Spotřeba 8mA při 12V. Stupeň bezpečnosti 2.
Obr. 4 Detektor JS-20, zdroj [4].
12
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Sd-280 detektor kouře - montáž pouze do interiéru. Na místa s největší cirkulací vzduchu, vyhýbat se rohům a výklenkům. Doporučuje se neumísťovat jej přímo ke sporáku.
Pracuje na principu detekce záblesků rozptýlených kouřem a zároveň překročení teploty nad 60°C. Spotřeba 30mA při 8-15V DC. K testování se používá speciální aerosol, netestuje se ohněm. Má tlačítko na testování vlastní sirény. GBS-210 detektor rozbití skla – nemontuje se v blízkosti vyústění ventilátoru. Dosah 9 metrů pro okno
m dvojím měřením. Zaprvé detektor zaznamenává
tlakové vlny. Za druhé je citlivý na zvuk tříštění skla. Čidlo obsahuje také sabotážní senzor. Detektor rozbití skla se testuje pomocí testeru umístěného do prostoru skla, které chceme senzorem chránit, tester po spuštění začne vydávat zvuky simulující rozbíjení skla. Spotřeba 8mA při 12V. Stupeň bezpečnosti 3. Možnost nastavení snímače tlaku.
Obr. 5 Záběrová charakteristika GBS-210, zdroj [5].
13
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
3 Vývojová platforma BIG8051 3.1 Základní prvky BIG8051 Základním kamenem této desky je mikroprocesor typu 8051 s krystalem o frekvenci 25MHz. Nepájet lze desku střídavým napětím 7V až 23V nebo stejnosměrným 9V až 32V. Jako třetí možnost napájení můžeme použít USB (5V DC). K nahrávání nového programu na desku se používá USB adaptér. Deska je vybavena velkým množstvím elektronických součástí, které můžeme propojit s porty mikroprocesoru. Základním příkladem jsou tlačítka. Na desce je celkem 64 tlačítek. Ta jsou rozdělena na 8 portů P0 až P7. Pokud chceme tlačítka použít, musíme je propojit s mikroprocesorem pomocí přepínačů. Každý tlačítkový port má svůj switch o osmi přepínačích. Z toho vyplývá, že můžeme aktivovat každé tlačítko zvlášť. Deska má pro tlačítka dva módy. Mohou mít základní hladinu napětí 0V a při stisknutí se hladina skokově zvedne na 3,3V a po odlehčení tlačítka se skokově vrátí na 0V. Druhý mód pracuje obráceně, má jako základní hladinu 3,3V, při stisku tlačítka je napětí 0V a po odlehčení tlačítka se vrátí zpátky na 3,3V. Přechod je opět skokový. Přepínání módů se provádí pomocí jumperů J8 a J10. Pokud umístíme oba jumpery do horní polohy nastavení, na výstupu tlačítek bude neustále napětí 3,3V. Nezaleží, jestli je tlačítko zmáčknuté nebo není. Další periferií jsou LED diody, kterých je stejný počet jako tlačítek, tedy 64. Zapojení je se společnou zemí, z toho vyplívá, že se ovládají připojením kladných napětí na P0 až P7. Stejně jako u tlačítek je třeba LED diody před použitím aktivovat. LED diody se aktivují pomocí switche 8. Každý port má jeden posuvník pro aktivaci na SW8. Všech 8 diod na každém portu se aktivuje společně. Deska je vybavena dvěma displeji, první je pouze dvouřádkový a na každý řádek lze zapsat šestnáct znaků. Pomocí potenciometru můžeme nastavit jeho kontrast. Aktivovat jej lze pomocí sedmého posuvného přepínače na SW12. Pro zápis na displeji je třeba pinů P3.5,P3.4,P3.0 až P3.3. Druhý displej je grafický, také vyrobený technologií LCD. Pomocí potenciometru můžeme nastavit jeho kontrast stejně jako u prvního displeje. Rozlišení displeje je
bodů. Aktivace probíhá také na SW12
tentokrát osmým posuvným přepínačem. Obsluha displeje zabere pět pinů z portu dva. Přesněji P2.0 až P2.5 a celý port P4. 14
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Na grafický LCD (GLCD) displej lze umístit dotykovou fólii. Fólie se připojuje přes fóliový kontakt vyvedený z dotykové vrstvy, piny pro připojení jsou hned vedle patice na GLCD. Toto spojení je čtyřvodičové. Zabírá dva piny na portu jedna P1.5 a P1.4 a dva piny na portu tři P3.0 a P3.1. Dotyková vrstva je složená z dvou speciálních fólií. Určení polohy dotyku se provede ve dvou krocích, načtení odporu mezi vertikálními elektrodami z jedné fólie a ve druhém kroku se načítá odpor mezi horizontálními elektrodami z druhé fólie. Na desce můžeme dále najit piezobzučák. Jeho rezonanční frekvence je 3.8kHz, na této frekvenci je zvuk vyluzovaný bzučákem nejzřetelnější. Použitelná frekvence je od 20 Hz do 20 kHz, ale výrobce doporučuje se držet v rozmezí od 2kHz do 4kHz. Jeho povolení se provádí přes SW13 posuvný přepínač číslo 8. Pin pro ovládání je P2.7. Přes tento port se ovládá báze tranzistoru, který propojuje piezoelektrický krystal se zemí. Deska je osazena dvěma potenciometry, jejich maximální odpor se rovná 10kΩ. Každý potenciometr zabírá jeden pin na portu dva, P2.6 a P2.7. Mezi portem P2 a potenciometry je opět umístěn switch. Pokud chceme povolit propojení, musíme posunout posuvný přepínač do polohy on na SW15 přepínač pět a šest. Součástí Big8051 je také ADC modul. ADC modul má čtyři kanály. Samotný AD převodník je dvanáctibitový. Každý kanál má svůj speciální pin na mikroprocesoru Ain0.0 až Ain0.3. Analogový signál se přivádí na svorky CH0 až CH3. Pomocí jumperu J9 můžeme spojit libovolnou svorku s potenciometrem s odporem 10kΩ. Deska obsahuje také DAC modul, který je také dvanáctibitový. Je dvoukanálový. Jeho vývody jsou připojeny na speciální piny mikroprocesoru DAC0 a DAC1.
15
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Obr. 6 Rozloženi komponent na BIG8051, zdroj [3].
16
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
3.2 Kompilátor Pro realizaci vlastní zabezpečovací ústředny jsem použil kompilátor mikroC od firmy Mikroelektronika. Výhodou tohoto kompilátoru jsou vestavěné knihovny pro ovládání některých komponent na desce BIG8051. Díky těmto knihovnám je práce s některými komponentami o mnoho snadnější. Velmi dobrá je například knihovna pro ovládání grafického displeje. Nejdůležitější funkce z této knihovny jsou Glcd_Fill pro mazání displeje a Glcd_Line (1, 1, 127, 63, 1), která vytvoří úsečku z místa A do místa B. První dvě hodnoty v závorce udávají pozici startovního bodu a druhé dvě koncového bodu. První a třetí hodnota udává hodnotu x a je možné ji zvolit od 0 až 127. Druhá a čtvrtá hodnota udává hodnotu y v rozsahu od 0 do 63. Pátá hodnota udává barvu čáry 0=bílá,1=černá. Knihovna obsahuje ještě dva další podobné příkazy, kterými jsou zaprvé Glcd_V_Line (5, 25, 10, 1), který vytvoří vertikální úsečku s konstantní hodnotou x po celé její délce. První číslice v závorce udává startovní hodnotu y, druhá číslice koncovou hodnotu y a třetí hodnotu x. Čtvrtá hodnota udává barvu. A za druhé knihovna obsahuje příkaz Glcs_H_line(10, 50, 20, 1), do kterého se zadávají dvě hodnoty x a jedna y čtvrtá hodnota je opět barva. Tento příkaz vykreslí horizontální úsečku s konstantním ypsilon. Další částí knihovny pro displej, je kreslení 2D obrazců. Jako například obdélníku nebo kružnice. Obdélník se vykresluje pomocí příkazuGlcd_Box(5, 15, 20, 40, 1), první dvě číslice jsou souřadnice levého horního rohu a druhé dvě číslice souřadnice pravého dolního rohu. Poslední je opět barva. Pomocí příkazu Glcd_Circle(50, 50, 10, 1) můžeme vykreslit kružnici. První dvě hodnoty v závorce za příkazem udávají polohu středu, třetí poloměr kružnice, poslední opět barvu. Hodnota středu může být od až
a
až
.
Knihovna obsahuje i příkazy pro výpis textu. Můžeme si zvolit i font vypisovaného textu pomocí příkazu Glcd_Set_Font, pokud tento příkaz nevyužijeme, zůstane nastaven defaultní font. Můžeme vypisovat buď jednotlivé znaky pomocí příkazu Glcd_Write_Char('C', 10, 2, 1), kde na prvním místě v závorce se udává, jaký znak chceme vypsat (znaky A až Z nebo číslice 0 až 9). Pokud zadáváme znak přímo, umístíme vedle znaku odsuvník zleva i zprava. Bez odsuvníků kompilátor načítá z této pozice proměnnou, ve které má být znak uložen. Druhé číslo v závorce udává pozici na řádku, je možné volit opět číslo 0 až 127. Třetí číslice neudává hodnotu y, nýbrž řádek, 17
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
velikost displeje dovoluje osm řádků textu. Řádky jsou číslované od nuly, proto je možné zvolit číslo 0 až 7. Čtvrtá číslice opět udává barvu. Knihovna obsahuje příkaz pro vypsání celého řetězce znaků. Glcd_Write_Text("Libovolny text", 10, 2, 1); Příkaz se používá obdobně jako Glcd_write_Char pouze text se ohraničí uvozovkami. Knihovna navíc obsahuje příkaz pro vykreslení vlastních obrázků uložených jako bitmapy - Glcd_Image(název obrázku). MikroC obsahuje i jednoduchý program pro vytvoření vlastních obrázků o velikosti přesně na displej BIG8051.
Obr. 7 Ukázka možností výpisu displeje, zdroj [3].
Knihovny obsahují příkazy pro práci s tlačítky. Pro načítání tlačítek je v knihovnách funkce Button(1,1), první hodnota v závorce udává čas v milisekundách pro periodu testu. Potvrdí stav až poté co výsledek před časovou periodou a po ní je stejný. Druhá hodnota udává očekávanou logickou hodnotu. Příkaz vrací true, pokud se hodnota na vstupu rovná očekávané hodnotě a false, pokud se neshodují. Pokud chceme tento příkaz použít, nejprve musíme nastavit Button_Pin. Bohužel jsem nepřišel na způsob, jak načítat více tlačítek a proto jsem tuto funkci ve svém programu nevyužil. Pro práci s AD převodníky je zde také knihovna. Jako první krok musíme provést inicializaci AD převodníku, pomocí příkazu ADC1_Init(); Po té již můžeme načíst vzorek pomocí příkaz ADC1_Get_Sample(), do závorky napíšeme číslo kanálu, který chceme načíst. Před příkaz napíšeme proměnou, do které chceme vzorek uložit a znaménko rovná se. Vhodné jsou proměnné typu long.
18
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
4 Realizace vlastního programu 4.1 Základní části Základní časti, které jsem chtěl naprogramovat: - Zakódování pomocí tlačítka - Odkódování pomocí hesla - Změna hesla - Čtení stavu čidla - Vyhlášení poplachu od čidla - Vyhlášení poplachu od překročení pokusů na zadání hesla
4.2 Dotyková klávesnice Jako prvotní koncept jsem chtěl vytvořit ovládání ústředny a zadávání hesla přes dotykovou vrstvu na GLCD. Klávesnici pro zadávání jsem měl již vytvořenou. Její vzhled si můžete prohlédnout na obr. 8. Koncept byl postaven na snímání polohy prstu při dotyku s displejem. Na displej by se vykreslila klávesnice z obr. 7 a stejně tak, jak byly číslice umístěny na displeji, byla rozdělena dotyková vrstva. Tento koncept by měl výhodu v dalším rozvoji programu, kdy by se mohlo zavést více klávesnic a díky tomu by nešlo heslo snadno odpozorovat, nebo zjistit nejpoužívanější číslice podle ohmatání klávesnice. Tento záměr se bohužel nepovedlo uskutečnit z důvodu nezdaru načítání obou os dotykové vrstvy. Bohužel výrobce pro procesor typu 8051 nevydal ukázkový program, ve kterém bych mohl ověřit správnost zapojení a nastavení desky. Z tohoto důvodu jsem nemohl zjistit, jestli je chyba v mém čtecím programu, nebo v zapojení dotykové vrstvy, nebo v ovládání AD převodníku, který je potřebný k převodu napětí z fólie na digitální hodnotu. Můj program bohužel nevypisoval souřadnice v x-ové ose, při pohybu prstem nebo předmětem po dotykové fólii se měnila jen hodnota v ose y. Proto jsem vytváření dotykové klávesnice přerušil a vytvořil jsem standartní tlačítkovou.
19
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Obr. 8 Ukázka dotykové klávesnice.
4.3 Tlačítková klávesnice Náhrada za dotykovou klávesnici byla klávesnice vytvořená z tlačítek na desce. Celkem jsem použil dvanáct tlačítek. Tlačítka reagují na zmačknutí a následné odlehčení. Držení tlačítka se v programu projeví pouze jako jedno zmáčknutí. Dvě tlačítka pracují nezávisle na ostatních, jedno z nich je na zakódování a jedno na zadání požadavku pro změnu hesla. Každému tlačítku ze zbylých deseti je přiřazena jedna číslice. Po zmáčknutí jednoho z číslicových tlačítek se vždy posune řád násobku, kterým je číslo násobeno před přičtením k předchozím zadaným číslicím. Klávesnice je vytvořena na portu P7, kde je prvních osm číslic 0 až 7. Na P7.0 je číslice nula a číslice sedm je na P7.7. Číslice osm je na P6.0 a devět je na P6.1. Zakódování je na P6.7, změna hesla na P6.6. Tlačítka pro zadávání hesla je třeba stisknout s dostatečnou silou a je lepší v dolní poloze malou chvíli zůstat, protože program čeká na ustálení překmitů z tlačítek. Díky této vlastnosti načítání tlačítek je zamezeno nechtěným načtením dvou stejných číslic při jednom stlačení tlačítka.
4.4 Vlastní program Program se skládá ze dvou větších částí. Část první obsluhuje čekání na aktivaci zakódovaného stavu nebo na žádost o změnu hesla. Do druhé části se může dostat pouze v případě, když uživatel zmáčkne tlačítko pro zakódování nebo tlačítko změny hesla. Pokud je stlačeno tlačítko zakódování, systém začne načítat stav klávesnice pro zadávání hesla a stav poplachových senzorů. Pro zadání hesla je použita dříve zmíněná
20
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
tlačítková klávesnice. Načítání v zakódovaném režimu probíhá dříve popsanou metodou násobení číslic příslušným řádem. Poté co se načte čtvrtá číslice, vyhodnotí se, jestli se zadané heslo shoduje s přednastaveným heslem. Pokud ano, program přejde do části jedna. Pokud ne, odečte pokus a čeká se znovu na zadání hesla. Pokud uživatel třikrát zadá špatné heslo, program zapne poplach, k deaktivaci dojde až po zadání správného hesla. Přednastavené heslo je 1285. Pokud chce uživatel změnit heslo, musí splnit následujíc podmínky. Vyvolat změnu hesla. To se učiní zmíněným tlačítkem na P6.6, ale toto tlačítko je aktivní pouze v odkódovaném režimu. Poté, co toto tlačítko v odkódovaném režimu uživatel zmáčkne, program zažádá o staré heslo, uživatel má tři pokusy na zadání správného hesla a při překročení se vyhlásí poplach. Poté co uživatel zadá staré heslo, musí zadat nové heslo. To se musí skládat ze čtyř číslic. Po zadání čtvrté číslice se program vrátí do klidového stavu. Při zakódování již bude vyžadovat pro odkódování a změnu hesla heslo, které nastavil uživatel. Signalizace stavu ústředny je pomocí displeje a LED diod. Na displeji se nachází informace o tom, v jakém stavu se ústředna nachází a požadavky na uživatele. Z důvodu omezeného množství znaků, které mohou být celkem vypsány na displej, jsou některé vypisované informace ve zkráceném tvaru. Na displeji můžeme pozorovat tyto nápisy: „zakodovano, odkodovano, poplach, z.s. (zadej staré heslo) a z.n. (zadej nové heslo).“ Zbytek signalizace obstarávají diody. Pro umístění informačních LED diod jsem vybral port P1. Pomocí diod signalizuji v programu počet již zadaných číslic v hesle. Princip je stejný, jako když se na displejích vypisují místo zadávaného hesla hvězdičky. Programu za každou zadanou číslici místo hvězdičky rozsvítí jednu diodu na portu P1. Tato signalizace zabírá první čtyři LED diody na tomto portu. Jsou to LED diody P1.0, P1.1, P1.2 a P1.3. Na tomto portu ještě využívám poslední tři LED diody pro signalizaci množství zbývajících pokusů pro zadání hesla. U signalizace pokusů jsem zvolil opačný princip, po zakódování se rozsvítí tři poslední LED diody. Pokaždé když uživatel zadá heslo špatně, jedna LED dioda zhasne. Pokud již nesvítí žádná, vyvolá se poplach. Přehlednější možností by bylo tyto dvě signalizace od sebe oddělit na dva různé porty, ale z důvodu omezeného množství portů jsem nakonec zvolil tuto možnost.
21
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
4.5 Připojení čidla Čidlo jsem k BIG8051 připojil přes AD převodník na kanál jedna. Program měl rozpoznat sepnutí čidla pomocí snímání napětí vycházejícího z čidla. Program původně snímal napětí na čidle a ukládal jej do proměnné. Pokaždé když načetl nové hodnoty z čidla, porovnal je s hodnotami předchozími. Pokud se neshodovaly, vyhlásil program poplach. Tento princip nebyl zcela funkční z důvodu rozdílu jednotlivých měření na AD převodníku. Proto jsem se rozhodl program změnit. V lepším systému snímání čidla jsem znovu načítal dvě hodnoty z AD převodníku v krátkém úseku za sebou. Tyto dvě hodnoty jsem od sebe odečetl a umocnil na druhou, z důvodu možnosti záporného výsledku. Výsledná hodnota nesměla překročit mez 2000. Je odvozená od maximálního napětí na AD převodníku, kdy se hodnota 3,3 V převede na hodnotu 4000. Pokud je tato podmínka splněna, považuje program první hodnotu za správně změřenou. Takto zvolená podmínka naprosto spolehlivě zamezila vyhlašování poplachu kvůli chybě AD převodníku. Pokud je splněna podmínka diference dvou měření, posuzuje se, jestli je první hodnota větší než 3900. Pokud ano, vše je v pořádku a pokud ne, dojde k vyhlášení poplachu. Další možností jak načítat signál z čidla by bylo přivádět napětí přímo na port, ale bohužel k tomu je potřeba mít u desky modul, který tuto schopnost dovoluje a chrání desku před zničením. Bez něj by hrozilo zničení desky. Proto jsem tuto možnost nerealizoval.
4.6 Další plány V dalším programování bych chtěl zjistit, jaké hodnoty jsou po převodu na AD převodníku při použití odporové dekády pro rozpoznávání jednotlivých čidel, které by šlo dále využít k zakódování pouze určitých čidel, jako například plášťová ochrana. Program je už na tuto možnost předpřipraven. Dále by bylo vhodné se vrátit k dotykové klávesnici, pokusit se zprovoznit její xovou osu. TO by umožnilo zdvojit heslo tím, že by nejprve bylo třeba odemknout obrazovku pomocí gesta, spojení bodů nebo namačkání bodů v určitém pořadí. Také by bylo možné zprovoznit ukládání dat o běhu ústředny na paměťovou kartu více druhů uživatelských hesel.
22
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
5 Závěr V této práci jsem chtěl nejen zhotovit běžný zabezpečovací systém, ale měl jsem v plánu vyzkoušet i některé nové nápady nebo věci, které se běžně v sériové výrobě neprovádí, jako je třeba klávesnice z dotykové vrstvy nebo rozpoznávání jednotlivých čidel místo větví. Tyto části mé práce se mi bohužel nepodařily naprogramovat. Jedním z důvodů mého nezdaru je složitost naprogramování těchto úkonů na této desce. Nejspíše proto ani velcí výrobci tyto možnosti z důvodu nadměrného zvýšení složitosti systému nevyužívají, protože zvětšení složitosti vede ke zmenšení spolehlivosti systému. U těchto systémů je spolehlivost prioritním cílem. Velkou překážkou v programování byla velmi častá zvláštní odezva některých komponent na desce. Bohužel jsem velmi často nemohl zjistit, jestli tyto odezvy jsou způsobené mým programem nebo špatným nastavením desky. Výrobce pro některé časti desky, jako je třeba dotyková vrstva nebo AD převodník pro tento typ procesoru, nevytvořil ukázkový program. Některé chybné odezvy, například nefunkčnost displeje, občas samy odezněly po několikátém nahrání programu, nebo po několika resetech. Někdy pomohlo zapnutí a vypnutí desky. Výsledný program sice nesplnil všechny cíle, které jsem chtěl uskutečnit, ale základní funkce jako je zakódování, odkódování, změna hesla, čtení čidla, signalizace pokusů zadaných číslic a stavu ústředny fungují spolehlivě. Menší problém je, že tlačítka se musí pro zadání hesla stisknout větší silou, tento problém je ovšem způsoben konstrukcí tlačítek. Po stisknutí tlačítka je dobré zkontrolovat na diodách počet zadaných číslic v hesle pro kontrolu, jestli bylo tlačítko stisknuto s dostatečnou intenzitou a dostatečnou dobu pro ustálení zákmitů.
23
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Seznam použité literatury [1] Plíva, Zdeněk; Drábková, Jindra. Metodika zpracování diplomových, bakalářských a vědeckých prací na FM TUL. Vyd. 1. Liberec: Technická univerzita 2007. 40 stran. Dostupné z www: ISBN978-80-7372-189-3. [2] Dokumentace výrobce k vývojovému systému MikroElektronika BIG8051. Vyd. MikroElektronika 2010. 27 stran. Dostupné z www: [3] Dokumentace: mikroC PRO for 8051. Vyd. MikroElektronika 2008. 471 stran. Dostupné z www: . [4] Dokumentace: Jablotron JS-20 ,,Largo” PIR detector pohybu osob. Vyd. Jablotron Alarms a.s. 2 strany. Dostupné z www: . [5] Dokumentace: Jablotron GBS-210 vivo – detector rozbití skla. Vyd. Jablotron Alarms a.s. 2 strany. Dostupné z www:
[6] Dokumentace: Jablotron SD-280 Detektor požáru. Vyd. Jablotron Alarms a.s. 2 strany. Dostupné z www: < http://www.jablotron.cz/upload/download/SD280_CZ_MLE51000.pdf >
Poděkování: Tento text vznikl za podpory projektu ESF CZ.1.07/2.2.00/07.0247 Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření. Formát zpracování originálu: titulní list barevně, další listy včetně příloh barevně.
24
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
Příloha Vlastní program /* * Project name: GLCD_Test (Demonstration of the GLCD library routines) * Copyright: (c) Mikroelektronika, 2009. * Revision History: 20070601: - initial release; * Description: This is a simple demonstration of the GLCD library routines: - Init and Clear (pattern fill) - Image display - Basic geometry - lines, circles, boxes and rectangles - Text display and handling * Test configuration: MCU: C8051F120 https://www.silabs.com/Support%20Documents/TechnicalDocs/C8051F12x-13x.pdf Dev.Board: C8051Fx20-TB https://www.silabs.com/Support%20Documents/TechnicalDocs/C8051F12x-DK.pdf Oscillator: Internal oscillator 24.5000 MHz Ext. Modules: GLCD 128x64, KS108/107 controller http://www.mikroe.com/en/tools/components/#other SW: mikroC for 8051 v1.0 http://www.mikroe.com/en/compilers/mikroc/8051/ * NOTES: None. */ char GLCD_DataPort at P4; sbit GLCD_CS1 at P2_0_bit; sbit GLCD_CS2 at P2_1_bit; sbit GLCD_RS at P2_2_bit; sbit GLCD_RW at P2_3_bit; sbit GLCD_EN at P2_4_bit; sbit GLCD_RST at P2_5_bit;
//Deklarace displeje
//konec deklarace displeje
sbit tlacitko0 at P7_0_bit; // Deklarace číselných tlačítek sbit tlacitko1 at P7_1_bit; sbit tlacitko2 at P7_2_bit; sbit tlacitko3 at P7_3_bit; sbit tlacitko4 at P7_4_bit; sbit tlacitko5 at P7_5_bit; sbit tlacitko6 at P7_6_bit; sbit tlacitko7 at P7_7_bit; sbit tlacitko8 at P6_0_bit; sbit tlacitko9 at P6_1_bit; //Poslední číselné tlačítko sbit tlacitko10 at P6_2_bit; //zatím nevyužité tlačítko 25
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
sbit tlacitko11 at P6_3_bit; sbit tlacitko12 at P6_4_bit; sbit tlacitko13 at P6_5_bit; sbit tlacitko14 at P6_6_bit; sbit tlacitko15 at P6_7_bit;
// zatím nevyužité tlačítko // zatím nevyužité tlačítko // zatím nevyužité tlačítko // zatím nevyužité tlačítko //změna hesla
// End Button connections // Deklarace pomocných proměnných long hodnota,hodnota2,hodnota3,nasobek; bit radek,radek2,oldstate1,oldstate2,zacatek; long cislo,nacti,nacti2; bit alarm,oldstate3,oldstate4,poplach,zmena,zmenap; long heslo,zheslo,pokusy,cidlo,cidlo2,cidloz,cidlo3,cidloz2,cidlo4; short zadano; // Konec deklarace pomocných proměnných ADC1_Init(); // Inicializace ADC module void main() { unsigned short ii; char *someText; WDTCN = 0xDE; WDTCN = 0xAD; OSCICN = 0x83; XBR2 = 0x40; P4MDOUT = 0x00; P2MDOUT = 0xFF;
// vypnutí hlídače/časovače // Povoleni interního oscilátoru (24.5MHz děleno 1) // zapni crossbar // nakonfiguruj P4 piny jako otevřené vstupní // nakonfiguruj P2 piny jako push-pull výstupní
#define COMPLETE_EXAMPLE Glcd_Init(); // inicializace GLCD Glcd_Fill(0x00); // vymaže GLCD
// P7MDOUT = 0x00; P7 = 255; P6 = 255; // Inicializace P6 a P7 jako vstupy P1MDOUT = 0xFF; // Inicializace P1 jako výstup oldstate1 = 0; //začátek nastavení prvotních hodnot oldstate2=0; nasobek=1000; hodnota=0; hodnota2=0; hodnota3=0; zacatek=0; nacti=0; nacti2=0; 26
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
radek=0; cidlo=0; cidlo2=0; cidloz=0; alarm = 0; nacti=0; pokusy=3; zheslo= 0; zmena=0; zmenap=0; heslo= 1285; poplach=0; while(1) {
//přednastavené heslo // konec nastaveni prvotních hodnot //začátek hlavního cyklu
zadano=0; hodnota2=0; nasobek= 1000; Glcd_Fill(0x00); Glcd_Write_Text("odkodovano", 10, 4, 1); //výpis textu na displej if (P6 ==128) // první podmínka pro zakódování {oldstate3=1; } if ((P6==0) && (oldstate3==1)){alarm=1;oldstate3=0; } // nastaví proměnou alarm na 1 až po odlehčení tlačítka if (P6 ==64) //první podmínka pro změnu hesla {oldstate4=1; } if ((P6==0) && (oldstate4==1)){zmena=1;oldstate4=0; } //zmena=1 po odlehčení tlačítka if ((alarm==1) ||(zmena==1)) { // posuzuje, jestli není zakódováno nebo nechce uživatel změnit heslo zheslo=0; do { // cyklus pro čtení klávesnice a čidla if ((pokusy>0) && (alarm==1)) { // zakódovaný klidoví stav Glcd_Fill(0x00); Glcd_Write_Text("zakakodovano.", 10, 4, 1); } if ((pokusy>0) && (zmena==1)&& (zmenap!=1) ) { //vyvolána změna hesla, vypíše na displej z.s Glcd_Fill(0x00); Glcd_Write_Text("z.s", 10, 4, 1); } if ((pokusy>0) && (zmenap==1)) { //vyvolána změna potvrzena , vypíše na displej z.n Glcd_Fill(0x00); Glcd_Write_Text("z.n", 10, 4, 1); }
cidlo=0; cidlo2=0; cidloz=0; 27
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
ADC1_Init(); // Inicializace ADC modulu cidlo = ADC1_Get_Sample(1); // načtení čidla Delay_ms(10); // čekaní 10 ms cidlo2 = ADC1_Get_Sample(1); // znovu načtení čidla cidloz=(cidlo-cidlo2)*(cidlo-cidlo2); // rozdíl načtených hodnot na druhou
if ((cidloz<2000)&(cidlo<3900)&(alarm==1)) poplach=1; //podminka pro poplach na čidle if ((pokusy<=0)||(poplach==1)){ //poplach systému Glcd_Fill(0x00); // smaže vše na displeji Glcd_Write_Text("poplach", 10, 5, 1); //výpis na displej }
zacatek=0; if (P7 !=0) { nacti=P7; //načte port 7 pokud je různý od nuly Delay_ms(100); //čeká 100 ms if (P7==nacti)oldstate1=1; } //nečte znovu P7 porovná s předchozím načtením nastaví oldstate na 1 if ((P7==0)&&(oldstate1==1)) {radek=1;oldstate1=0;} // pokud na P7 je nula a oldstate =1 nastaví řádek na 1 if (radek==1) { switch (nacti) { // pokud je radek=1 přiřadí k hodnotě z portu P7 jednu z číslic case 1: cislo=0;break; case 2: cislo=1;break; case 4: cislo=2;break; case 8: cislo=3;break; case 16: cislo=4;break; case 32: cislo=5;break; case 64: cislo=6;break; case 128: cislo=7;break; } radek=0; zacatek=1; } if ((P6 ==1)||(p6==2)) { nacti2=P6; //Začátek načtení tlačítek 8 a 9 Delay_ms(100); if (P6==nacti2)oldstate2=1; } if ((P6==0)&&(oldstate2==1)) {radek2=1;oldstate2=0;} if (radek2==1) { switch (nacti2) { case 1: cislo=8;break; case 2: cislo=9;break; } radek2=0; nacti2=0; 28
Studie elektronického zabezpečení místnosti s využitím vývojového systému MikroE BIG8051
zacatek=1; } // konec načtení tlačítek 8 a 9(stejný princip jako tlačítka 0 až 9) if (zacatek==1){ //provede uložení číslice jen pokud bylo stisknuté tlačítko zheslo=hodnota2+cislo*nasobek; //pře násobí načtenou číslici a přičte k předchozím číslicím nasobek=nasobek/10; // posune řád hodnota2=zheslo; //uloží si zatím zadané číslice zacatek=0; zadano++; } // konec uložení číslice do hesla switch (zadano) { //začátek signalizace počtu zadaných číslic v hesle case 0: P1=0;break; case 1: P1=1;break; case 2: P1=3;break; case 3: P1=7;break; case 4: P1=15;break; } // konec signalizace z. číslic
switch (pokusy) { // začátek signalizace počtu zbývajících pokusů case 1: {P1.B7=1;P1.B6=0;P1.B5=0;};break; case 2: {P1.B7=1;P1.B6=1;P1.B5=0;};break; case 3: {P1.B7=1;P1.B6=1;P1.B5=1;};break; } }
// konec signalizace z. pokusů
while (zadano !=4);
//ukončení cyklu zadávání
} if (zmenap==1) { // pokud je potvrzená změna uloží nove heslo heslo=zheslo; zmenap=0; zmena=0; } if (heslo==zheslo) { // kontrola schody zadaného hesla alarm=0; //odkódovaný stav pokusy=3; //základní počet pokusů poplach=0; //základní počet pokusů if (zmena==1){zmenap=1;};} // potvrzeni pro zadání nového hesla else { if ((alarm==1) ||(zmena==1)) pokusy--;} //minus jeden pokus pokud se zadané heslo neshoduje } } // konec jednoho cyklu programu 29