alen cindrić seminarski rad - spvp...
TRANSCRIPT
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
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.
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.
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
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.
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
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
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
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);
}
}
}
}
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);
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.
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.
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