Pametna rasvjeta u kući

OŠ Franje Krežme

Projekt prikazuje različite načine upravljanja rasvjetnim tijelima u određenim prostorijama. Za uključivanje i isključivanje korišteni su razni senzori, kao i za samu jačinu rasvjete unutar određene prostorije. Demonstracijski prikaz prikazuje različite mogućnosti postavljanja i izvedbe rasvjete unutar jednog stana/kuće. Cjelokupni sustav je povezan na Internet korištenjem aplikacije Blynk te je moguće udaljeno upravljati sa svim rasvjetnim tijelima zasebno. Model prikazuje različite mogućnosti, no u realnosti se koristi jedna do dvije u objektima koji imaju sličan način upravljanja rasvjetom. Također moguće su i dodatne kombinacije i dopune ovog sustava.

Video snimka
Izrada programa

Lemljenje vodiča i rasvjete.

Izrada fritzing shema spajanja.

Izrada programa uz praćenje unaprijed definiranih pinova.

Još malo obrade hardwarea. Lijepljenje vodiča uz rub kućice.

Završna testiranja i provjera ispravnosti svih elemenata.
Mobilna aplikacija

Push button za paljenje i gašenje rasvjete u dnevnom boravku. Isti princip je primijenjen i u karticama za kupaonicu i radnu sobu.

Switch (prekidač) za spavaću sobu sa slider (klizač) za kontrolu razine osvjetljenja u spavaćoj sobi.

Switch za paljenje i gašenje vanjske rasvjete ispred ulaza. Isti princip koristi se i za rasvjetu u hodniku.

Shema projekta

Cjelokupni fritzing projekt s dva Arduina.

 

Shemu ovoga projekta možete preuzeti ovdje.

Pogledajte sheme svake prostorije:

Dnevni boravak

Hodnik

Kupaonica

Radna soba

Spavaća soba

Ulaz

Arduino program

#define BLYNK_PRINT /*
#define BLYNK_PRINT SerialUSB

#include
#include
#include

int foto_sensorRadna = A0;
int ledKupaonica=2;
int ledRadna=3;
int ledHodnik=4;
int Radna_FotoValue;
int stanjeKupaonicaPrekidac= LOW;
int stanjeHodnikPrekidac=LOW;
int stanjeRadnaPrekidac= LOW;
int prekidacKupaonica=6;
int prekidacRadna=7;
int magnet=8;
int virtKupaonica;
int virtRadna;
int virtHodnik;

char auth[] = “a66e1730b9b74555b6aec0ab967ffefb”;
char ssid[] = “pametnakuca”;
char pass[] = “kuca1234”;

BLYNK_WRITE(V1)
{
virtKupaonica = param.asInt();
}
BLYNK_WRITE(V2)
{
virtRadna = param.asInt();
}
BLYNK_WRITE(V3)
{
virtHodnik = param.asInt();
}

void setup() {
SerialUSB.begin(9600);
Blynk.begin(auth, ssid, pass);

pinMode(ledRadna, OUTPUT);
pinMode(ledKupaonica, OUTPUT);
pinMode(ledHodnik, OUTPUT);
pinMode(foto_sensorRadna, INPUT);
pinMode(prekidacKupaonica, INPUT);
pinMode(prekidacRadna, INPUT);
pinMode(magnet, INPUT);
}

void loop() {
Blynk.run();

//Kupaonica
if(digitalRead(prekidacKupaonica)==HIGH or virtKupaonica==HIGH){
if(stanjeKupaonicaPrekidac==LOW) {
stanjeKupaonicaPrekidac=HIGH;
}else{
stanjeKupaonicaPrekidac=LOW;
}
}
if(stanjeKupaonicaPrekidac==HIGH){
analogWrite(ledKupaonica,1023);
} else {
analogWrite(ledKupaonica,0);
}

//Radna soba
Radna_FotoValue = analogRead(foto_sensorRadna);
if(digitalRead(prekidacRadna)==HIGH or virtRadna==HIGH){
if(stanjeRadnaPrekidac==LOW) {
stanjeRadnaPrekidac=HIGH;
}else{
stanjeRadnaPrekidac=LOW;
}
}
if(stanjeRadnaPrekidac==HIGH and Radna_FotoValue<=700){
analogWrite(ledRadna,1023-Radna_FotoValue);
} else {
analogWrite(ledRadna,0);
}

//Hodnik
stanjeHodnikPrekidac = digitalRead(magnet);
if (virtHodnik==HIGH and stanjeHodnikPrekidac == LOW){
digitalWrite(ledHodnik, HIGH);
} else if (stanjeHodnikPrekidac==HIGH) {
digitalWrite(ledHodnik, HIGH);
}
else {
digitalWrite(ledHodnik, LOW);
}
}

#define BLYNK_PRINT /*
#define BLYNK_PRINT SerialUSB

#include
#include
#include

int foto_sensorDnevna = A0;
int foto_sensorUlaz = A0;
int potenciometar= A1;
int ledDnevna=2;
int ledSpavaca=3;
int ledUlaz=4;
int mikrofon=6;
int Dnevna_FotoValue;
int Ulaz_FotoValue;
int Stanje_potenciometar;
int stanjeDnevnaPrekidac= LOW;

int virtDnevna;
int virtSpavaca;
int virtSpavacasensor;
int virtUlaz;

char auth[] = “a66e1730b9b74555b6aec0ab967ffefb”;
char ssid[] = “pametnakuca”;
char pass[] = “kuca1234”;

BLYNK_WRITE(V0)
{
virtDnevna = param.asInt();
}
BLYNK_WRITE(V4)
{
virtSpavaca = param.asInt();
}
BLYNK_WRITE(V5)
{
virtSpavacasensor = param.asInt();
}
BLYNK_WRITE(V6)
{
virtUlaz = param.asInt();
}
void setup() {
SerialUSB.begin(9600);
Blynk.begin(auth, ssid, pass);

pinMode(ledDnevna, OUTPUT);
pinMode(ledUlaz, OUTPUT);
pinMode(ledSpavaca, OUTPUT);
pinMode(foto_sensorUlaz, INPUT);
pinMode(foto_sensorDnevna, INPUT);
pinMode(mikrofon, INPUT);
pinMode(potenciometar, INPUT);
}

void loop() {
Blynk.run();

//Dnevna soba
Dnevna_FotoValue = analogRead(foto_sensorDnevna);
if(digitalRead(mikrofon)==HIGH or virtDnevna==HIGH){
if(stanjeDnevnaPrekidac==LOW) {
stanjeDnevnaPrekidac=HIGH;
}else{
stanjeDnevnaPrekidac=LOW;
}
}
if(stanjeDnevnaPrekidac==HIGH && Dnevna_FotoValue<=700){
analogWrite(ledDnevna,1023-Dnevna_FotoValue);
} else {
analogWrite(ledDnevna,0);
}

//Spavaca soba
if(virtSpavaca==HIGH){
analogWrite(ledSpavaca, virtSpavacasensor);
} else {
Stanje_potenciometar=analogRead(potenciometar);
analogWrite(ledSpavaca, Stanje_potenciometar);
}
//Ulaz
Ulaz_FotoValue=analogRead(foto_sensorUlaz);
if(virtUlaz==HIGH && Ulaz_FotoValue<=700){
analogWrite(ledUlaz, 1023-Ulaz_FotoValue);
}else{
analogWrite(ledUlaz,0);
}
}

Arduino program ovoga projekta možete preuzeti ovdje.

Arduino program ovoga projekta možete preuzeti ovdje.

Autori

Projekt su izradili Jona Važić i Helena Floreani uz mentorstvo Tomislava Pandurića iz OŠ Franje Krežme.

 

Projekt je prijavljen na temu: Internet of Things: Pametna rasvjeta.