Korisnički alati

Site alati


2017:studenti:mmatijascic:projektni_zadatak

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.

Ciljevi projekta

1) Ostvariti sustav ambijentalnih senzora u svrhu poboljšanja ugode u prostoriji.

  • Praćenje vrijednosti temperature, vlažnosti zraka, buke, tlaka i osvjetljenja u prostoriji
  • Unos željenih vrijednosti preko prilagođenog korisničkog sučelja s povratnim informacijama
  • Regulacija stanja u prostoriji na temelju unesenih preferenci korisnika i vrijednosti senzora
  • Implementacija aktuatora za temperaturu, buku i svjetlost, simbolički predstavljene LED diodama
  • Mogućnost praćenja trenutnih iznosa mjerenih vrijednosti preko web preglednika

2) Ostvariti izračun PPD i PMV vrijednosti na temelju očitanih vrijednosti sa senzora te prikazati rezultat na korisničkom sučelju

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 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 definirane 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 4×4 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 projekta ostvario sam prikaz datuma, vremena te PMV i PPD vrijednosti na LCD ekran. U tu svrhu korišteni su model ekrana LCD-2004A prilagođen radu s računalnim sustavima „Arduino“. Spoj LCD-a sa „Arduino Mega 2560“ ostvaren je koristeći međusklop „YwRobot LCM1602 V1“ namjenjenog jednostavnijem ostvarivanju I2C serijske veze. Također, za informaciju točnog vremena i datuma implementirao sam rad RTC modula. Podaci sa senzora prilikom zapisivanja na SD karticu i web sučelje uz sebe imaju informaciju o datumu i vremenu uzimanja uzorka. Za pisanje programske podrške korištene su gotove Arduino biblioteke, te vlastito razvijene funkcije za brisanje reda na LCD ekranu.

Nadalje, implementirao sam izračun PMV i PPD vrijednosti koje se zatim periodično ispisuju na LCD ekran. Predicted Percentage of Dissatisfied (PPD) i Predicted Mean Vote (PMV) su brojčane vrijednosti koje predstavljaju kvantificiranu razinu ambijentalne ugodnosti u nekom prostoru. PMV predstavlja razinu termalne ugodnosti koja se u vrijednostima kreće od -3 (hladno) do 3 (vruće). Prema referentnoj literaturi, formula za određivanje PMV vrijednosti dobivena je eksperimentalno iz velike količine podataka, te koristi brojne parametre kao što su temperatura, vlažnost, brzina strujanja zraka u prostoriji itd. PPD je postotni indeks koji predviđa udio nezadovoljnih korisnika u prostoriji. Određuje se izravnom empirijskom jednadžbom iz PMV-a. Više o PPD-u i PMV-u može se pronaći ovdje.

Izračun na realiziranoj platformi ostvaren je preko već razvijenih algoritama iz priložene literature, implementiranih u C jeziku. Tijekom implementacije analizirano je ukupno vremensko izvršavanje algoritma jer sam postupak u sebi sadrži rekurzivno računanje srednje izračene temperature. Rezultat tog postupka dao je iznos u redu veličine milisekunde, iz čega se može zaključiti da tako realiziran algoritam može biti primjenjen na cijelokupnu aplikaciju. Iz objektivnih razloga kao ulazni mjereni parametri korišteni su temperatura, tlak i vlažnost zraka, tj. fizikalne veličine koje smo imali mogućnost mjeriti preko nabavljenih senzora. Ostali parametri potrebni za izračun postavljeni su u očekivane srednje vrijednosti koje su dostupne u priloženom izvoru.

Rezultati projekta

2017/studenti/mmatijascic/projektni_zadatak.txt · Zadnja izmjena: 2017/06/28 20:07 od dperkovic