Intruder Sniffer

Centar tehničke kulture Rijeka

Ovaj jednostavni alarmni sustav detektira prolazak pokraj senzora i ukoliko je uključen počinje zvukom upozoravati na upad uljeza.

Tada ga unosom šifre možemo deaktivirati i stiskom na gumb ponovo aktivirati.

Ukoliko tri puta unesemo netočne šifre sustav se blokira.

Ako sustav trenutno nije u stanju opasnosti, možemo i promjeniti šifru, no prvo moramo unijeti prethodnu šifru.

Projekt je prijavljen na temu: Dojavni (alarmni) sustavi (dobna skipina: srednja škola).

Video snimka

Priprema opreme

Na breadboard spojite dva gumba. Jedan od njih spojite na pin P0, a drugi na pin P1 na glavni micro:bit, a drugom stranom ih spojite na uzemljenje (ground).

Prvi će služiti za promjenu šifre, a drugi za uključivanje alarma.

Gnd oznaku sa senzora spojite na Gnd oznaku na Arduinu, Echo oznaku sa senzora spojite na 11 pin na Arduinu, Trig oznaku sa senzora spojite na pin 12 na Arduinu, a Vcc oznaku sa senzora spojite na oznaku struje od 5 V na Arduinu.

Arduino spojite na breadboard s LED diodom i otpornikom.

Spojite strujni krug koji počinje na pinu 13 na Arduinu, ide kroz LED diodu i otpornik od 1 kiloohma i završava na pinu Gnd na Arduinu.

Micro:bit koji je uz senzor treba spojiti na isti ground kao i Arduino, odnosno minus strana zvučnika.

Plus strana zvučnika treba biti spojena na micro:bitov pin P0.

Na pin 3 Arduina treba spojit pin P1 micro:bita uz senzor preko kojega dobiva napon ako treba aktivirati alarm.

Programiranje

Kada se pokrene program glavnog micro:bita koji je središte našeg alarmnog sustava, sve varijable se podešavaju na početne vrijednosti.

Znamenka koju unosimo počinje na nuli, broj dozvoljenih krivih pokušaja unošenja šifre je tri, a broj naših krivih pokušaja je
na početku nula. Alarm nije aktiviran na početku programa i moguća promjena šifre je u prvoj fazi.

Tražena šifra je na početku postavljena na 23, a unesena šifra je za sada nula. Radio grupa za komunikacije je podešena na 130 na svim micro:bitima u našem sustavu.

Dok god se odvija program na glavnom micro:bitu, on će, ukoliko je alarm aktiviran ili se mijenja šifra, prikazivati trenutnu znamenku da bismo mogli unijeti šifru.

Ukoliko smo potrošili sve pokušaje unosa šifre, prikazivat će se slika lica s izrazom gađenja, a ako alarm nije aktiviran na glavnom micro:bitu neće biti prikazano ništa.

Ako stisnemo gumb A na micro:bitu i alarm je ili aktiviran ili mijenjamo šifru, povećat ćemo trenutnu znamenku koju unosimo za 1, osim ako je znamenka 9, u kojem slučaju će se vratiti na 0.

Ako je gumb B pritisnut i alarm je ili aktiviran ili mijenjamo šifru, potvrđuje se znamenka i ona se dodaje unesenoj šifri, pa se gumb B obavezno mora stisnuti nakon odabira svake znamenke, pa i zadnje.

Kada glavni microbit primi signal micro:bita uz senzor da je uljez u zgradi, aktivirati će se alarm i prikazati slika kuće, nakon čega korisnik mora unijeti šifru da bi mogao dealarmirati sustav, što znači da je alarm isključen i moramo ga ponovno uključiti ako želimo daljnju zaštitu od novih uljeza.

Na početku se namješta radio grupa i postavlja se varijabla ukljuceno na 0 što označava da step motor još ne treba okretati. Kad se primi broj provjerava se je li taj broj 1 ili 0. Ako je primljeni broj 1 to znači da je micro:bit koji se okreće usmjeren prema sjeveru i varijabla ukljuceno se postavlja na nulu da bi se zaustavo step motor.

U suprotnom se ukljuceno postavlja na 1 jer micro:bit još nije okrenut prema sjeveru i step motor mora biti uključen. Rad step motora je određen u forever petlji. Step motor radi na prvom od tri moguća načina koji se zove wave. Tako se zove jer se pinovi koji kontroliraju step motor pale i gase jedan po jedan i imaju pauzu između toga.

Step motor je kontroliran pomoću četiri pina. Odabrali smo pinove P0, P1, P2 i P8 jer su nam trebali digitalni pinovi.

Redom smo palili svaki od pinova i držali ga upaljenim po jednu milisekundu pa ga onda ugasili i stalno smo ponavljali taj postupak kako bi se motor okretao. Pinovi se pale u if naredbi samo ako je varijabla ukljuceno jednaka 1 da se motor ne bi okretao kad je micro:bit koji traži sjever već na sjeveru.

Kada je pin P1 pritisnut, glavni micro:bit šalje micro:bitu uz senzor signal da se alarm uključuje, odnosno moguće ga je aktivirati kada prođemo pokraj senzora, a korisniku se daje prilika da izađe bez aktiviranja alarma pomoću izlazne zadrške, te je upozoren kratkom slikom uskličnika na micro:bitu.

Kada je pin P0 pritisnut, pokreće se sekvenca promjene šifre, a to je moguće samo ukoliko alarm trenutno nije aktiviran, odnosno ako nema uljeza i šifru mijenja ovlašteni korisnik, koji svoj identitet potvrđuje unosom prijašnje šifre.

Ako su istovremeno stisnuti gumbi A i B i alarm je ili aktiviran ili mijenjamo šifru, potvrđujemo unesenu šifru.

Ako smo u prvoj fazi promjene šifre ili je alarm aktiviran, unesena šifra se uspoređuje s traženom i ovisno o tome ili dealarmira sustav i prikazuje kvačica ili povećava naš broj krivih pokušaja te prikazuje iks.

Sustav se blokira ako je bilo previše krivih pokušaja. U oba slučaja se znamenka i šifra koje smo unosili resetiraju, a ako je šifra točna i broj krivih pokušaja se resetira.

Ako smo bili u prvoj fazi promjene šifre i šifra je točna, prelazimo u drugu fazu promjene šifre. U drugoj fazi promjene šifre unosimo novu šifru koja zamjenjuje prijašnju kada stisnemo gumb A+B.

Kada se program micro:bita uz senzor pokrene, alarm je nije aktiviran i nije uključen i grupa za radio komunikaciju je postavljena na 130.

Dok god se program izvršava, ako je sustav uključen (alarmiran), senzor čita analogni ulaz na pin P1 i ako primi struju to znači da je senzor spojen na Arduino očitao prolazak.

U tom slučaju alarm se aktivira i počinje se emitirati zvuk.

Ako je micro:bit uz senzor primio broj -1 pomoću radija, sustav se dealarmira i deaktivira jer je to znači da je netko unio točnu šifru na glavni micro:bit.

Ako je primljeni broj 0, to znači da se sustav uključuje (alarmira) s izlaznom zadrškom od 10 s.

Završni dio

Link na preuzimanje programa za 1. micro:bit je ovdje.

Link na preuzimanje programa za 2. micro:bit je ovdje.

Potrebno je programirati i Arduino da bi radio zajedno s micro:bitima u ovom sustavu.

Kratko objašnjenje koda:
– includean je library NewPing.h, potreban za korištenje ultrazvučnog senzora
– na početku se definiraju vrijednosti koje su konstantne: brojevi pinova na koje su priključeni trigger i echo senzora, output pin na koji micro:bitu dolazi napon kada netko prođe (micro:bit ovisno o stanju alarmiranosti pokreće alarm), led pin na koji je spojena LED dioda te je definirana maksimalna udaljenost do koje senzor gleda u centimetrima
– napravljen je objekt senzor
– u funkciji setup se otvara serial port s brzinom prijenosa podataka 9600 bps te se led i output pin namještaju na output
– u loop funkciji s delayem od 50 milisekundi očitava se udaljenost ispred sonara u centimetrima koja se može vidjeti u Serial Monitoru kad je Arduino spojen na računalo; ukoliko je udaljenost manja od 20 centimetara pali se LED dioda i šalje napon micro:bitu (preračunali smo napon Arduina tako da odgovara micro:bitu jer Arduino ima napon 5V, a micro:bit 3V) u trajanju od jedne sekunde
Link na preuzimanje koda je ovdje.

Autori

Projekt je izradila Lucija Žužić uz mentorstvo Ivane Žužić iz Centra tehničke kulture Rijeka.

Projekt je prijavljen na temu: Dojavni (alarmni) sustavi (dobna skipina: srednja škola).

Drugi projekti