====== Svrha projekta ====== Svrha projekta je povećati kvalitetu boravka u prostoriji, svim ljudima koji se u njoj nalaze. ====== Korisnici projekta ====== Svi stanari kuće, stana, ili korisnici nekog poslovnog prostora. Dodatno, sustav je primjenjiv na industrijske pogone i tvornice gdje je moguće pratiti trenutno stanje u prostorijama. ====== Ciljevi projekta ====== 1) Ostvariti sustav ambijentalnih senzora u svrhu poboljšanja ugode u prostoriji. * pretvaranje fizikalnih veličina u električne * očitavanje električnih veličina sa Arduino modulima * komunikacija Arduina sa senzorskim modulima * obrada primljenih podataka * izvršavanje potrebnih naredbi 2) Kreirati algoritam izračuna PPD i PMV vrijednosti na temelju očitanih vrijednosti sa senzora \\ 3) U skladu sa željama korisnika koji se trenutno nalaze u prostoriji aktivirati potrebne aktuatore (klima, grijanje, svjetlo…) ====== Resursi ====== Sustav je ostvaren na Arduino platformi (Arduino Mega 2560). Za mjerenje fizikalnih veličina korištena su tri senzorska modula: * senzor za temperaturu, vlagu i tlak BME280 - korištena I2C komunikacija prema Arduinu * senzor za buku MAX4466 - uređaj se s Arduinom jednostavno spaja pomoću tri priključka: OUT, GND i VCC, OUT priključak se spaja na jedan od analognih priključaka Arduina * senzor za intenzitet svjetlosti - fotootpornik, spaja se na analogni priključak Arduina Korisničko sučelje izvedeno je pomoću LCD prikaznika i tipkovnice za Arduino. Dobivanje informacije o trenutnom vremenu ostvareno je preko RTC modula: * LCD-2004A - spoj LCD-a sa „Arduino Mega 2560“ ostvaren je koristeći međusklop „YwRobot LCM1602 V1“ namjenjenog jednostavnijem ostvarivanju I2C serijske veze * Matrična tipkovnica - spaja se na proizvoljne digitalne izvode Arduina * DS3231 RTC, međusklop ZS-042 - daje informaciju o stvarnom vremenu, spaja na napajanje od 3.3 V te koristi I2C sabirnicu Podsustav za spremanje podataka sadrži: * proizvoljnu microSD karticu * ​​Arduino SD modul za čitanje i pisanje - koristi SPI komunikaciju gdje se vanjski međusklop ponaša kao //slave//, dok Arduino predstavlja //master// ​​Spajanje i slanje podataka o trenutnom stanju senzora na web server realizirano je pomoću: * ESP8266 mikrokontroler, međusklop Wemos D1 Mini Pro - slanje podataka senzora s Arduina na ESP8266 ostavareno je preko UART-a, a sam modul ostvaruje internet vezu prema web serveru Za sve navedene module korištene su besplatne biblioteke i programska podrška za Arduino. Više o programskoj implementaciji može se naći u pdf verziji dokumentacije projekta. ====== Ograničenja ====== Nemogućnost ostvarivanja svih potrebnih mjerenja za izračun PPD i PMV. Na primjer, za detekciju odjeće koja se nalazi na osobama potreban je računalni vid, ali zbog nedostatka vremena i resursa takvo mjerenje se neće realizirati. Sve fizičke veličine osim sobne temperature, vlažnosti i tlaka zraka postavljene su u očekivane vrijednosti koje su dobivene iz [[http://ieeexplore.ieee.org/document/6427051/|referentne literature]]. \\ Nedostatak aktuatora koji bi mijenjali uvjete u prostoriji. Njihov utjecaj će biti zamijenjen LED-icama koje ih simboliziraju. Regulacije temperature realizirana je jednostavnom naredbom uključivanja/isključivanja "klime". Razina željene svijetlosti korisnika simbolizirana je svjetlinom druge LED diode. Detektor buke pali treću LED diodu ako je razina buke iznad prosječne vrijednosti od strane korisnika. ====== Komunikacija s ostalim podsustavima ====== Središnji dio sustava je Arduino MEGA2560 na koji se spajaju periferni senzorski moduli s kojima se komunicira preko SPI-ja i I2C sabirnice. Temperaturni senzor i senzor buke svoje podatke šalju putem analognog ulaza. Zapisivanje na microSD karticu se vrši pomoću SPI sabirnice, dok se tipkovnica u sklopu korisničkog sučelja povezuje sa središnjim sustavom s 8 linija. Način komunikacije putem tih 8 linija je definiran u dokumentaciji KeyPada, ukratko pritiskom gumba se kratko spajaju dvije linije od 8 linija raspoređenih u 4x4 matricu. Tako se jednoznačno određuje koji je gumb pritisnut. ====== Komunikacija s vanjskim sustavima ====== Za komunikaciju s internetom je korišten modul “WeMos D1 pro” koji koristi ESP8266. Preko tog modula šalju se podaci sa senzora i trenutno stanje broja korisnika na zavodski server, putem predefiniranog formata. Zavodski server stoji iza domene echo.zesoi.fer.hr, kojem smo dali alias spvp.anteo.me. ====== Moja uloga na projektu ====== U sklopu ovog grupnog projekta bio sam zadužen za istraživanje, upoznavanje i ugradbu modula za SD karticu i matrične tipkovnice u konačni sustav. Modul za SD karticu se koristi za dugoročno zapisivanje podataka sa senzora kako bi se moglo otkriti skrivene faktore koje utječu na ambijentalni ugođaj prostora. Matrična tipkovnica se koristi za unos novih korisnika i njihovih osobnih postavki ili promjenu postojećih korisnika. Pored toga, osigurao sam aktuatorski dio sustava koji je korak dalje od predviđenog projektnog plana određivanja ambijentalne ugodnosti - ako se na određene faktore može utjecati, u slučaju da neki od njih pređe dozvoljene granice, uključit će se odgovarajući aktuator (klima, rolete i upozorenje za buku). ** Modul za microSD karticu ** Modul za SD karticu se koristi za dugoročno zapisivanje podataka sa senzora kako bi se moglo otkriti skrivene faktore koji utječu na ambijentali ugođaj prostora. [[http://img.dxcdn.com/productimages/sku_148784_2.jpg |MicroSD modul]] Za komunikaciju sa SD karticom koristi se skup funkcija unutar biblioteke "SD.h", gdje se podatkovni sustav kartice preusmjerava u lokalnu varijabli tipa "File" s kojom se dalje otvara i zatvara podatkovni tok. Potrebno je osigurati napajanje od 5 V koje se zatim integriranim sklopovljem za prilagodbu razine napajanja spušta na 3,3 V. Dodatno, nužno je dovesti unutrašnji signal takta na izvod SCK te spojiti MISO, MOSI i CS izvode na odgovarajuće izvode Arduina. Karticu je potrebno formatirati kao fatfs prije spajanja na međusklop, a same datoteke koje će se spremati na karticu (u svrhu zapisivanja podataka sa senzora kroz dulje vremensko razdoblje) trebaju pratiti standard imenovanja „8.3“, odnosno 8 znakova naziva i 3 znaka za tip datoteke (IMEDATOT.EXT). ** Matrična membranska tipkovnica ** [[https://www.parallax.com/sites/default/files/styles/full-size-product/public/27899.png |Matrix Keypad]] Kako bi se olakšao unos novih korisnika, koristi se matrična tipkovnica sa 16 znakova (0-9, A-D, *, #) i 8 izvoda koji se spajaju na proizvoljne izvode Arduina. Matričnu tipkovnicu čine četiri reda i četiri stupca koji povezuju znakove. Pritiskom na jedan od znakova dolazi do spoja određenog stupca i retka, dok mikrokontroler prozivanjem (polling) redova za svaki stupac određuje koji je znak pritisnut. ** Aktuatori ** Osim praćenja trenutnih čimbenika u prostoriji, sustav je zamišljen da simulira utjecaj na tri veličine - buku, svjetlost i temperaturu. Ako jedna od veličina pređe kritičnu razinu u odnosu na korisničke želje, aktivira se vanjska jedinica (ovdje predstavljena svjetlećom diodom) koja bi utjecala na povratak te veličine u dozvoljeni raspon.