alen cindrić seminarski rad - spvp...

13
Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino sustava Osnove elektrotehnike i elektronike Alarmni sustav Ultrazvučni senzor SEMINARSKI RAD - SPVP 14. lipanj 2013

Upload: hoangthu

Post on 17-Aug-2018

235 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alen Cindrić

0036452959

Svima koji su zainteresirani

Programiranje arduino sustava

Osnove elektrotehnike i elektronike

Alarmni sustav

Ultrazvučni senzor

SEMINARSKI RAD - SPVP

14. lipanj 2013

Page 2: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alarmni sustav

2

Sažetak

Alarmni sustav jedan je od važnijih podsustava „pamentne kuće“.

Većina komercijalno dostupnih sustava ovog tipa su samostalni sustavi i teško se integriraju s preostalim sustavima kuće. Ukoliko se od sustava

zahtjeva i mogućnost uvida u njegovo trenutno stanje, u svakom trenutku

putem interneta, onda su to vrlo često složeni sutavi koji u svom radu

koriste kamere, što ih čini skupima. U ovom radu je opisan alarmni sustav

koji osigurava prethodno navedene mogućnosti. Lako se integrira s

ostalim sustavima u kući, a u svakom trenutku omogućuje korisnicima

uvid u trenutno stanje sustava putem interneta. Namijenjen je svima koji

se žele osjećati sigurno za vrijeme boravka u vlastitoj kući te imati

mogućnost uvida u stanje ovog sustava puetm interneta u bilo kojem

trenutku i s bilo koje lokacije.

Sadržaj

1. UVOD ............................................................................................................ 3

2. OPIS SUSTAVA ............................................................................................... 4

2.1 Osnovni princip rada ................................................................................. 5

2.2 Arduino Duemilanove ................................................................................ 6

2.3 HC-SR04 ultrazvučni senzor ...................................................................... 6

2.4 LCD zaslon .............................................................................................. 7

2.5 Matrična tipkovnica .................................................................................. 8

2.6 ZigBee komunikacija .............................................................................. 10

3. ZAKLJUČAK .................................................................................................. 11

4. LITERATURA................................................................................................. 12

5. POJMOVNIK ................................................................................................. 13

Ovaj seminarski rad je izrađen u okviru predmeta „Sustavi za praćenje i vođenje procesa“ na Zavodu za elektroničke sustave i obradbu informacija, Fakulteta elektrotehnike i računarstva,

Sveučilišta u Zagrebu.

Sadržaj ovog rada može se slobodno koristiti, umnožavati i distribuirati djelomično ili u cijelosti,

uz uvjet da je uvijek naveden izvor dokumenta i autor, te da se time ne ostvaruje materijalna korist, a rezultirajuće djelo daje na korištenje pod istim ili sličnim ovakvim uvjetima.

Page 3: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alarmni sustav

3

1. Uvod

Sa stupnjem razvoja današnje tehnologije sve češće se susrećemo s

pojmom „pametne kuće“. Zapravo se radi o kući čiji stanari imaju

apsolutnu mogućnost upravljanja, nadzora, podešavanja i prilagođavanja

vlastitog životnog prostora (upravljanje rasvjetom, klimatizacijom i

grijanjem, multimedijom...) čak i onda kada stanari nisu u kući. Sustav koji nam sve to omogućava sastoji se od raznih podsustava od kojih je

jedan i alarmni. Osnovna namjena alarmnog podsustava je zaštita

ukućana i same kuće od neovlaštenog ulaska u kuću. Na taj način

ukućanima se pruža osjećaj sigurnosti za vrijeme boravka u kući, a za

vrijeme odsutnosti omogućen im je uvid u stanje podsustava u svakom

trenutku putem interneta. Glavno ograničenje u korištenju ovakvih

sustava je upravo njihova cijena koja ih čini prilično nedostupnima.

Budući da ovakav sustav ima značajnu ulogu u ostvarivanju

„pametne kuće“ u ovom radu je dana jedna od mogućnosti realizacije

takvog sustava čiji se rad temelji na odašiljanju i refleksiji ultrazvučnih

valova, tj. konstantnom mjerenju udaljenosti ultrazvučnom metodom.

Korišten je ultrazvučni senzor HC_SR04 niske cijene što i cjelokupni sustav čini relativno jeftinim, a samim time i dostupnim široj populaciji.

Page 4: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alarmni sustav

4

2. Opis sustava

Kao što je prethodno rečeno osnovna namjena ovog sustava je

zaštita ukućana i kuće od neovlaštenih ulazaka u kuću te omogućavanje

korisnicima da u svakom trenutku imaju uvid u trenutno stanje sustava.

Kako bi omogućili interakciju između korisnika i sustava korištena su dva

glavna korisnička sučelja, matrična tipkovnica i LCD pokaznik. Oba sučelja su upravljana Arduino Duemilanova razvojnim sustavom. Korisnici putem

LCD zaslona dobivaju obavjesti i upute kako bi ispravno rukovali

sustavom, a tipkovnica im omogućava unošenje lozinke i odgovarajućih

naredbi. Od ostalih indikatora sustav koristi dvije led diode (zelena i

crvena) te jedan buzzer. Za detekciju prisutnosti korišten je ultrazvučni

senzor HC-SR04. Uvid u trenutno stanje sustava omogućen je posredno

preko centralnog sustava s kojim se komunicira putem ZigBee

komunikacije, a koji je spojen na internet.

Slika 1. Shema alarmnog sustava

Page 5: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alarmni sustav

5

2.1 Osnovni princip rada

Sustav svoj rad temelji na refleksiji ultrazvučnih valova te je stoga

potrebno osigurati ispravan način montaže sustava u radnu okolinu, tj.

moguće ga je montirati bilo gdje u prostoru sve dok je zadovoljen uvjet da

su ultrazvučni odašiljač (koji je dio sustava) i površina koja se koristi za

refleksiju (referentna površina) na udaljenosti koja je unutar dometa

ultrazvučnog senzora HC-SR04 (min. 3cm do max. 300cm). Kada je

sustav ispravno montiran spreman je za rad. Prilikom prvog pokretanja

sustava, i svakog idućeg reseta, sustava se automatski „umjerava“, što

znači da mjeri udaljenost između odašiljača i referentne površine u

slobodnom prostoru (kada nema prepreke) i potom pohranjuje tu

udaljenost kao referentnu (udaljenost u odnosu na koju će provoditi sva ostala mjerenja). Također zahtijeva od korisnika, putem LCD displeja, da

unese željenu lozinku koja će se u daljnjem radu sutava koristiti kao

glavna lozinka. Nakon što su provedena prethodna dva koraka sustav

čeka 10 sekundi, da korisnik napusti radno područje sustava, nakon kojih

se automatski pali. Dok radi, sustav konstantno mjeri udaljenost i

uspoređuje je s referentnom udaljenošću. Sve dok je trenutna udaljenost

jednaka referentnoj, alarm se ne aktivira. Kada udaljenost postane manja,

alarm postaje aktivan, pale se crvena led dioda i zvučni signal u trajanju

od 1 sekunde s ciljem upozorenja korisnika da je detektiran te da se

očekuje unos lozinke. Istovremeno se mijenja stanje sustava online u

stanje koje označava detekciju prisutnosti. Nakon što je obaviješten,

korisnik treba deaktivirati alarm unošenjem odgovarajuće lozinke putem

tipkovnice u roku od 24 sekunde. Lozinka se sastoji od 4 znaka koji mogu biti razne kombinacije znamenaka od 0 do 9. Unos lozinke završava

pritiskom tipke A (engl. Accept). Ukoliko je korisnik unio ispravnu lozinku

u danom vremenskom ograničenju, alarm se gasi i sustav je spreman za

ponovo uključivanje kada korisnik to zatraži. Ponovo aktiviranje izvodi se

pritiskom na tipku E (engl. Enable), a zatim tipku A. Ukoliko je korisnik

slučajno pogriješio prilikom unosa, moguće je u svakom trenutku poništiti

unos pritiskom na tipku D (engl. Delete), ali samo u slučaju da nije

potvrdio tipkom A. Ako je unesena lozinka netočna ili je isteklo vrijeme

predviđeno za unos lozinke alarm se aktivira tj. trajno se pali crvena led

dioda i zvučni signal, a korisniku se omogućava ponovni upis lozinke.

Mijenja se online stanje sustava u stanje koje označava aktivnost alarma.

Alarm ostaje u aktivnom stanju sve dok ga korisnik ne deaktivira unosom ispravne lozinke. Nakon što je unešena ispravna lozinka alarm se

deaktivira i prelazi u stanje čekanja, a korisniku nudi mogućnost

ponovnog uključivanja kada on to poželi pritiskom tipke E, a potom A.

Istovremeno se mijenja online stanje sustava iz aktivnog u neaktivno.

Page 6: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alarmni sustav

6

2.2 Arduino Duemilanove

Arduino Duemilanove (Slika 2.) je razvojni sustav koji je baziran na

mikrokontroleru ATmega168 ili ATmega328 (ATmega168 u našem

slučaju). Sustav omogućava korištenje do 14 digitalnih ulazno-izlaznih

pinova od kojih je njih 6 moguće koristiti kao PWM izlaze, 6 analognih

ulaza, posjeduje 16MHz kristalni oscilator, USB vezu s računalom putem

koje je moguće i napajati sustav, dodatni priključak za napajanje putem

adaptera, ICSP konektor i tipkalo za reset. Na taj način osigurana je

potpuna podrška za rad sa mikrokontrolerom i njegovo jednostavno

programiranje. Za više informacija preporuča se pogledati datasheet

mikrokontrolera te posjetititi internet stranicu: http://www.arduino.cc/

Slika 2. Razvojni sustav Arduino Duemilanove

2.3 HC-SR04 ultrazvučni senzor

HC-SR04 (Slika 3.) je ultrazvučni senzor koji koristi ultrazvuk za

određivanje udaljenosti između mjernog sustava i prepreke pa se vrlo

često koristi za beskontaktna mjerenja udaljensti.

Slika 3. HC-SR04 ultrazvučni senzor

Page 7: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alarmni sustav

7

U našem slučaju korišten je za detekciju prisutnosti. Cijeli senzor se

nalazi na jednoj tiskanoj pločici i vrlo je kompaktan. Upravljanje senzorom

je veoma jednostavno i izvodi se preko svega dva pina, od ukupno 4 koja

su nam dostupna. Pinovi VCC i GND koriste se za napajanje sklopa, dok su Trig i Echo upravljačku pinovi. Da bi započeli mjerenje, potrebno je na

Trig pin dovesti impuls od 5V u trajanju najmanje 10 us, čime je senzor

inicijaliziran i počinje u prostor odašiljati 8 ultrazvučnih impulsa

frekvencije 40 kHz te čeka dolazak reflektiranog ultrazvučnog vala. Kada

ultrazvučni prijemnik detektira reflektirani val, na Echo pin postavlja

impuls visoke razine (5V) čije je trajanje proporcionalno mjerenoj

udaljensoti (Slika 4.). Dakle, za izračun udaljenosti potrebno je samo

izmjeriti vrijeme trajanja impulsa na Echo pinu.

Slika 4. Vremenski dijagram upravljanja senzorom

2.4 LCD zaslon

Kako bi korisnik u svakom trenutku znao u kojem stanju se sustav

nalazi i što se od njega zahtjeva korišten je jednoredni (1x16)

alfanumerički zaslon s tekućim kristalom (Slika 5.) temeljen na

upravljačkom sklopu HD44780.

Slika 5. LCD zaslon 1x16

Page 8: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alarmni sustav

8

Komunikacija između mikrokontrolera i LCD-a izvedena je kao 4-

bitna dvosmjerna paralelna komunikacija. Koji od smjerova komunikacije

koristimo, određuje se signalom RW (engl. Read/Write), dok signalom RS

(engl. Register Select) određujemo šaljemo li zaslonu naredbu ili podatak koji je potrebno prikazati. Neke od naredbi koje je moguće poslati zaslonu

su brisanje zaslona, paljenje ili gašenje, pozicioniranje kursora itd. Bitno

je napomenuti da se naredbe i podaci postavljaju na podatkovnu sabirnicu

označenu s D0-D7 (engl. Data). Nakon štu su postavljeni svi željeni signali

trenutak komunikacije određen je signalom E (engl. Enable). Vremenski

dijagram komunikacije dan je na slici 6.

Slika 6. Vremenski dijagram komunikacije

2.5 Matrična tipkovnica

Prilikom spajanja pojedinačne tipke na ulazne priključke računalnog

sustava za svaku od tipki potrebna nam je jedna ulazna linija. Međutim, ovo ima smisla samo za mali broj tipki. U slučaju kada nam je potreban

veći broj tipki (tipkovnica), koristi se spajanje tipaka u matricu. Time se

postiže ušteda broja linija (ulaza) potrebnih za njihovo čitanje. Primjer

spajanja 16 tipaka u matričnu tipkovnicu dan je na slici 7. Takva matrica

spaja se s računalnim sustavom na način da se redovi spajaju na izlazne

priključke, a stupci na ulazne priključke sklopa za očitavanje ili obrnuto.

Postupak očitavanja ovakve tipkovnice je sljedeći. Najprije se na prvi red

tipkovnice dovede logička jedinica, a na sve ostale redove 0. Nakon toga

se čita jedan po jedan stupac. Ako je stisnuta neka od tipki iz prvog reda

na odgovarajućem stupcu pročitat će se jedinica, a u ostalim stupcima

nule. Ako nije pritisnuta nijedna tipka u ovom redu, pročitat će se sve

nule. Nakon što je pregledan prvi red, dovodi se jedinica na drugi red, a nula na sve ostale redove, te se ponavlja čitanje stupaca itd., sve dok se

ne obrade svi redovi. Programski kod koji predstavlja ovakav način čitanja

Page 9: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alarmni sustav

9

tipkovnice ( i istovremeno ispisivanje pritisnute tipke na LCD zaslon) dan

je u primjeru 1 i korišten je u realizaciji alarmnog sustava.

Slika 7. Shema spajanja tipki u matričnoj tipkovnici

Primjer 1. Programski kod za čitanje jednog retka matrične tipkovnice

void citaj_tipkovnicu(void){

int i,gotovo,a,brojac;

brojac=0;

gotovo=0;

//zapamti stanje pina 5 porta C

if(PINC&(1 << 5)){

a=1;

}

else{

a=0;

}

while(!gotovo){

for(i=0;i<=3;i++){

//stavi i-ti redak u logicku

//jedinicu bez utjecaja na pin 5

//porta C

PORTC=(1<<i)|(a<<5);

//citanje prvog stupca(pin 13)

if(digitalRead(13)&(i==0)){

lcd.setCursor(brojac,0);

lcd.print("0");

polje[brojac]='0';

brojac++;

delay(500);

}

//citanje drugog stupca(pin 12)

if(digitalRead(12)&(i==0)){

lcd.setCursor(brojac,0);

lcd.print("1");

polje[brojac]='1';

brojac++;

delay(500);

}

//citanje treceg stupca(pin 11)

if(digitalRead(11)&(i==0)){

lcd.setCursor(brojac,0);

lcd.print("2");

polje[brojac]='2';

brojac++;

delay(500);

}

//citanje cetvrtog stupca(pin 10)

if(digitalRead(10)&(i==0)){

lcd.setCursor(brojac,0);

lcd.print("3");

polje[brojac]='3';

brojac++;

delay(500);

}

}

}

}

Page 10: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alarmni sustav

10

2.6 ZigBee komunikacija

Komunikacija s glavnim čvorom preko kojeg je ostvarena internet

veza izvedena je pomoću Xbee modula temeljenog na ZigBee protokolu i

omogućava vrlo jednostavnu bežičnu komunikaciju. Čitava kominukacija

između dva čvora odvija se identično kao i serijska komunikacija tj.

između čvorova koji komuniciraju stvorena je prividna bežična serijska

komunikacija. Domet komunikacije koja je ostvarena na ovaj način je do

30 metara u unutarnjim i do 100 metara u vanjskim prostorima (uz uvjet

optičke vidljivosti). Za ispravan rad Xbee modula potrebno mu je dovesti

napajanje (Vcc i Gnd), dok je za potrebe komunikacije dovoljno povezati

odgovarajuće pinove modula s pinovima Duemilanove razvojnog sustava

koji se koriste za serijsku komunikaciju (Tx i Rx). Na slici 8 prikazan je jedan Xbee modul.

Slika 8. Xbee modul

Primjer 2. Programski odsječak korišten za Xbee komunikaciju

Serial.print("d");

Serial.print(1);

Serial.print("s");

Serial.print(4);

Serial.print("al");

Serial.print(3);

Page 11: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alarmni sustav

11

3. Zaključak

U ovom radu opisan je alarmni sustav koji predstavlja jedan od

mnogih podsustava „pametne kuće“. Osnovna funkcija sustava je

pravovremeno obavještavanje korisnika o neovlaštenom pristupu kući bez

obzira je li korisnik kod kuće ili je odsutan. Komunikacija s centralnim

sustavom koji je spojen na internet ostvarena je putem ZigBee protokola. Na taj način korisnicima je putem interneta omogućen uvid u stanje

sustava u svakom trenutk. Za detekciju neželjenog pristupa korišten je

ultrazvučni senzor koji je jeftin, niske potrošnje i malih dimenzija, s ciljem

ostvarivanja što je moguće jednostavnijeg i jeftinijeg sustava ove

namjene.

Korist od ovakvog sustava mogu imati svi oni koji žele spriječiti

neovlašteni ulazak u kuću i imati u svakom trenutku dostupne informacije

o istom. U daljnjem razvoju ovog sustava bilo bi korisno omogućiti

korisnicima ne samo uvid u stanje sustava već i upravljanje sustavom

putem interneta čime bi mogli aktivirati i deaktivirati alarmni sustav s bilo

koje lokacije i bilo kojem trenutku.

Page 12: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alarmni sustav

12

4. Literatura

[1] Arduino Duemilanove, URL: http://arduino.cc/en/Main/arduinoBoardDuemilanove

[2] HC-SR04 User's_Manual,

URL: https://docs.google.com/document/d/1Y-yZnNhMYy7rwhAgyL_pfa39RsB-

x2qR4vP8saG73rE/edit?pli=1

[3] HD44780U (Dot Matrix Liquid Crystal Display Controller/Driver) HITACHI, Datasheet

[4] LyquidCrystal Library, URL: http://arduino.cc/en/Reference/LiquidCrystal

[5] Vučić, Mladen. Upotreba mikrokontrolera u ugrađenim računalnim sustavima.

Zagreb,2007.

Page 13: Alen Cindrić SEMINARSKI RAD - SPVP 0036452959studenti.zesoi.fer.hr/pametne-kuce/Studenti/2013/Cindric/... · Alen Cindrić 0036452959 Svima koji su zainteresirani Programiranje arduino

Alarmni sustav

13

5. Pojmovnik

Pojam Kratko objašnjenje Više informacija potražite na

HC-SR04 Ultrazvučni senzor za mjerenje udaljenosti

http://www.micropik.com/PDF/HCSR04.pdf

Arduino Duemilanove

Razvojni sustav s ATmega168

mikrokontrolerom

http://www.arduino.cc/

Matrična

tipkovnica

Namjenska tipkovnica sa 16

tipki

http://www.galeon.com/oswagar2/tec_mem.pdf

LCD 1x16 Jednoredni zaslon opće namjene

http://www.farnell.com/datasheets/1009626.pdf

Xbee modul Modul za bežičnu komunikaciju

http://arduino.cc/en/Main/ArduinoXbeeShield