Pametna rasvjeta u kući
OŠ Franje KrežmeProjekt 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 projekta
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.
Shema projekta
Cjelokupni fritzing projekt s dva Arduina.
Shemu ovoga projekta možete preuzeti ovdje.
Pogledajte sheme svake prostorije:
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); } }
Arduino program ovoga projekta možete preuzeti ovdje.
#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.
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.