Osigurajte dom Arduino alarmom - 2. korak: Izrada koda

Osigurajte dom Arduino alarmom - 2. korak: Izrada koda

DIY Arduino alarm

Alarmni sustavi postaju sve popularniji u stambenim objektima, a napretkom tehnologije njihova cijena pada dok pouzdanost raste.

Arduino kao mozak operacije kućnog alarma

Iako su donedavno bili dostupni samo za imućnije građane, u današnje vrijeme ih možete dobiti u rasponu cijena od nekoliko stotina do nekoliko tisuća kuna. Ako volite tehnološki svijet možda će vam biti draže izraditi jedan takav za stotinjak kuna. Kao mozak operacije koristiti ćemo naš favorit kod DIY izrade pametnih uređaja, a to je, Arduino. Naravno, biti će nam potrebno i nekoliko senzora poput magnetskih i svjetlosnih senzora te senzora pokreta. GSM ili Internet komunikacije s korisnikom nećemo raditi jer je cilj ove radionice napraviti jednostavan alarmni sustav, a korištenjem komunikacije bi stvari debelo zakomplicirali. Bez brige, postojat će dodatak s uputama kako to izvesti.

Alarmni sustav se temelji na prikupljanju informacija iz mnogobrojnih senzora koji se nalaze unutar ili izvan stambenog objekta. Prikupljene podatke šalje u kontrolnu jedinicu koja ih obrađuje i aktivira alarm. Najčešći senzori koji se koriste su senzori pokreta i magnetski/infracrveni senzori. Magnetski senzori se pretežito postavljaju na vrata i prozore na način da se montiraju u paru s trajnim magnetićem. Naravno, to će detektirati samo otvaranje/zatvaranje, ali ne i razbijanje, zato možemo dodati zvučne i vibracijske senzore kako bi povećali preciznost našeg sustava. Video nadzor se danas može kupiti kao samostalna jedinica i nije ga potrebno uparivati s alarmnim sustavom.

Potrebne komponente:

Ivor Arduino 8AArduino, senzori pokreta, infracrveni senzori, magnetski senzori, eksperimentalna pločica, žice, foto senzori.

Alarm će se uključiti ako jedan od senzora detektira neželjeni pokret i aktivirat će sirenu. Pomoću GSM modula alarmni sustav vam može poslati poruku ili pokrenuti poziv kada se alarm oglasi kako bi u stvarnom vremenu bilo obavješteni o događajima u objektu. GSM komunikacija nije dio ovog sklopa pa ju nećemo koristiti. Oglašavanje sirene će biti dovoljan razlog da upozori i otjera neželjene posjetitelje iz prostora.


1. korak: Shema spajanja

Svi korišteni senzori na pločici imaju nama već dobro poznati komparator napona. Sklop s komparatorom ima ulogu pretvaranja analogne vrijednosti senzora u digitalnu, a regulacija intenziteta pri kojemu „okida“ se regulira pomoću promjenjivog otpornika na pločici. Digitalni signal je puno lakše koristiti i smanjuje nam veličinu programa jer ne moramo pretvarati analogne vrijednosti, skalirati i svaki puta mijenjati program i ponovno ga snimati na pločicu ako želimo regulirati vrijednosti na kojima senzor detektira promjenu.

Tako sve analogne senzore zapravo možemo koristiti kao digitalne što znači da imamo više pinova na korištenje. Ne zaboravite da i analogni pinovi mogu očitavati digitalne vrijednosti 0 i 1, dok digitalni ne mogu očitavati analogne! Što znači da na raspolaganju imamo 14 digitalnih + 8 analognih i to nam daje mogućnost spajanja čak 22 senzora na Arduino Uno/Nano/Croduino pločice! Ako vam to nije dovoljno uvijek imate opciju korištenja Mega pločice koja sadrži 70 pinova, a iskoristiti njih sve bi bio pravi zadatak. Kao primjer koristili smo četiri različita senzora, a možete ih dodati proizvoljno. Potrošnje struje ovih senzora su poprilično malene i neće biti potrebe za dodatnim vanjskim napajanjem jer će se napajanje Arduina pobrinuti za njih. Kod veće broja senzora je preporučljivo dodati vanjsko napajanje 5V kako bi napajali senzore i obavezno se mora spojiti GND vanjskog napajanja s GND Arduino napajanja.
Relej na svojoj pločici ima već ugrađenu tranzistorsku sklopku pomoću koje ga aktiviramo. Napajanje jednog releja može ići i preko Arduino pločice dok se dva ili više releja moraju napajati vanjskim napajanjem. Kako se na pločici nalazi tranzistorska sklopka neće biti potrebe za kompliciranjem nego se vanjsko napajanje može spojiti direktno na predviđene pinove. Tipkalo je dodano kako bi smo mogli ugasiti sirenu.

alarmni sustav shema


2. korak: Izrada koda

Komponentama spojenima na Arduino pločicu dodjeljujemo imena kako bi ih lakše pamtili u daljnjem kodu jer se pod brojevima pinova nećemo snaći. Senzorima dodajemo imena te dodajemo nastavak „senzor“. Stanja koja ćemo očitavati sa senzora nazivamo na isti način samo što imenima dodajemo nastavak „stanje“. Sve vrijednosti su cjelobrojne, tj. int zato što radimo s digitalnim vrijednostima.

Spajanje senzora i prenošenje koda na Arduino pločicu.

aasdas

Void setup; definiramo senzore i tipkalo kao ulazne (eng. Input), a relej kao izlazne komponente. Bitno je definirati ulaze i izlaze kako bi Arduino znao u kojem smjeru putuju podatci.

Void loop; U petlji koja se izvodi beskonačno puta (sve dok Arduino radi) očitavamo vrijednosti senzora i pridjeljujemo vrijednosti njihovim varijablama s nastavkom stanje. Dok s tipkala očitavamo stanje koje nam je potrebno kako bi mogli prekinuti sirenu. (Bez tipkala bi sirena svirala dok je Arduino upaljen, ne bi smo ju mogli ugasit nikako osim isključiti napajanje cijelog sustava). Nakon očitavanja i dodjeli očitanih vrijednosti varijablama krećemo s ispitivanjem ključnih uvjeta. Broj ispitivanja će biti jednak broju priključenih senzora jer svaki senzor pojedinačno ispitujemo je li aktiviran, tj. je li otkrio znak provale. Svi senzori bi u normalnim uvjetima trebali očitavati logičnu 0 (LOW vrijednost, 0V), a pri njihovoj aktivaciji oni će slati logičnu 1 (HIGH vrijednost, 5V). U if naredbi usporedbu možemo pisati u obliku (FOTOstanje) ili (FOTOstanje==1) jer se if zadovoljava ako je izraz unutar zagrade jednak jedinici. Negaciju možemo pisati u oblicima (!FOTOstanje) i (FOTOstanje==0) što bi znači da će se if zadovoljiti ako je izraz u zagradi jednak nuli. Ako imamo jednu naredbu koja će se izvršiti pri ispunjenom if uvjetu nije potrebno pisati zagrade za nju. Znači možemo, ali i ne moramo, ali mi smo stavili kako bi nam kod bio pregledniji. Vremenski delay od 10ms stavljamo kako bi nam program bio stabilniji i kako bi senzorima dali vremena između očitavanja.
Ako je bilo koji od uvjeta ispunjen (senzor aktiviran i šalje logičnu jedinicu) aktivirat će se alarm, tj. uključit će se relej koji uključuje sirenu. Naravno, ispituje se i stanje tipkala. Ako je tipkalo pritisnuto sirena će se isključiti, inače će raditi dok se ne pritisne tipkalo što može trajati u nedogled.

Senzori:

Senzor pokreta na sebi ima ugrađena dva promjenjiva otpornika. Pomoću njih podešavamo osjetljivost detektiranja i vrijeme vremenske odgode. Senzor daje HIGH vrijednost kada ne detektira pokret, a LOW kada detektira.

Infracrveni senzor detektira prolazak predmeta.

 

infracrveni senzor

Senzor detektira količinu infracrvene radijacije što znači da ga mogu aktivirati samo živa bića. Takav senzor se nalazi u vanjskim reflektorima koji se aktiviraju pokretima. Vremensku odgodu, tj. delay je poželjno staviti na najmanje. Kod većih odgoda raste vjerojatnost da će se pokret dogoditi u pauzi dok senzor miruje i tada sklop neće registrirati pokret jer je senzor „zaspao“. 

Senzor magnetskog polja radi uparen s trajnim magnetićem. Postavlja se na vrata tako da se kod zatvorenih vrata magnetić nalazi točno pored senzora magnetskog polja. Pri i malom otvaranju vrata senzor više neće moći detektirati magnetić i alarm će se oglasiti. Intenzitet se može regulirati pomoću malog potenciometra koji se nalazi na pločici senzora. Senzor zvuka radi kao i svi korišteni senzori. Na sebi ima mikrofon koji detektira zvuk u prostoru, a komparator napona pretvara u digitalnu vrijednost. Bitno je uzeti u obzir da senzor šalje logičnu nulu kada detektira zvuk. Kod ispitivanja uvjeta je potrebno dodati uskličnik da se dobije negacija. Senzor zvuka također na sebi ima maleni potenciometar s kojim reguliramo osjetljivost.

Senzor pokreta: Na pločici se nalaze dva potenciometra za regulaciju osjetljivosti i vremenske odgode detektiranja.

senzor pokreta

Poželjno je ubaciti senzore plinova i požara kako bi prostor dodatno osigurali, ali tada je dobro napraviti dvije vrste alarma, jedan za provale, a drugi za opasne uvjete koji se mogu dogoditi.

Ne zaboravite da uvijek možete koristiti analogne senzore koji su višestruko jeftiniji, ali morate znati da se spajaju s otporom i da njihova realizacija u programskom kodu zahtjeva puno više linija koda. Ako u međuvremenu želite naštimati osjetljivost očitavanja nekog od senzora morati ćete mijenjati kod i ponovno snimati na Arduino pločicu, to je zahtjevan zadatak i zato su pločice s komparatorom napona koje pretvaraju analogne u digitalne vrijednosti izvrsno rješenje.

Arduino kod potražite na poveznici!

Napomena:

Ovaj sklop je samo simulacija jednostavnog alarmnog sustava i nije zamjena za napredne uređaje koji osiguravaju vaš stambeni objekt. Svrha ovog sklopa je prikazati načina na koji se može izvesti jednostavan alarm te kako bi ga po želji modificirali i koristili u neku pomoćnu svrhu.

Dodatak za LCD i GSM:

LCD zaslon je koristan u ovom sklopu kako bi uvijek mogli pratiti stanje alarma i dodavati razne mogućnosti i obavijesti. Isključivanje alarma se ne mora nužno napraviti pomoću tipkala nego se može koristiti i šifra/pin koji se upisuje pomoću male tipkovnice. Korištenje LCD zaslona smo pokazali u prethodnim projektima.

GSM modul je veoma koristan jer vam može slati SMS poruke ili obavljati pozive kako bi uvijek bili obavješteni u stvarnom vremenu o zbivanjima unutar vašeg doma. Za to će vam biti potrebna SIM kartica s nešto kredita na njoj. U Arduino kodu je moguće personalizirati sadržaj poruke koja će biti poslana na vaš mobilni uređaj, ako se alarm aktivira SMS poruka može sadržavati ime i lokaciju senzora koji se aktivirao što može biti vrlo korisno.

(Stranica 3 od 3)
« Prev All Pages Next » (Stranica 3 od 3)
Ocijeni sadržaj
(0 glasova)

// možda će vas zanimati

Newsletter prijava


Kako izgleda naš posljednji newsletter pogledajte na ovom linku.

Copyright © by: VIDI-TO d.o.o. Sva prava pridržana.