11 svi 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.
#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);
}
}
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.