Pametna rasvjeta
OŠ Julija KlovićaProjekt se sastoji od alarmnog sustava, potenciometra i glavne rasvjete. Kada se laser na komadu drveta pokraj eksperimentalne pločice prekine i fotootpornik to detektira, čovjek koji je ušao ima 5 sekundi da isključi alarmni sustav preko mobilne aplikacije. Kada se alarmni sustav isključi, glavno se svijetlo uključi jačinom koju definira stanje potenciometra. Ako se alarmni sustav ne isključi, zujalica se oglasi, a svjetla se ne upale. Dok je osoba u kući on može preko aplikacije uključivati i isključivati rasvjetu te kontrolirati intenzivitet preko potenciometra. Prije nego osoba izađe iz kuće, mora pritisnuti tipku u aplikaciji kako fotootpornik ne bi očitavao vrijednosti dok osoba izlazi.
Ovaj sustav rješava problem provalnika u kućama te olakšava kontroliranje rasvjete.
Izrada projekta
Mobilna aplikacija
Shema projekta
Shema prikazuje način spajanja.
Shemu ovoga projekta možete preuzeti ovdje.
Arduino program
#define BLYNK_PRINT /*
#define BLYNK_PRINT Serial
#include
#include
#include
#include
char auth[] = "Classified";
char ssid[] = "Classified";
char pass[] = "Classified";
int phPin = A4;
int ledPin = 8;
int buzPin = 7;
int potPin = A5;
int phVal;
int prevPhVal;
int potVal;
int transPotVal; //Vrijednost potenciometra odgovornog za jačinu svjetla mapirana u vrijednosti 0-100
int phBar = 290; //Vrijednost koja odjeljuje kada je fotootpornik osvjetljen laserom, a kad ne
int startTime;
int delayTime = 5000; //Vrijeme u kojemu se alarm moze iskljuciti prije nego se aktivira
bool alarmDisabled = true;
int delayTimeDisabled;
int delayStart;
bool lightsOn = false;
BLYNK_WRITE(3){
alarmDisabled = true; //isključi odbrojavanje do alarma ili sam alarm ako se pokrenuo
lightsOn = true; //upali glavno svijetlo
stopAlarm(); //ugasi buzzer
Blynk.virtualWrite(3, 45); //nužno za rad programa
}
BLYNK_WRITE(4){
pauseAlarm(5000); //onemogući alarm na 5 sekundi kako covijek koji izlazi nebi aktivirao alarm
lightsOn = false; //ugasi glavno svijetlo
Blynk.virtualWrite(4, 45); //nužno za rad programa
}
BLYNK_WRITE(5){
lightsOn = true;
Blynk.virtualWrite(5,45);
}
BLYNK_WRITE(6){
lightsOn = false;
Blynk.virtualWrite(5,45);
}
void setup() {
Serial.begin(9600);
pinMode(phPin, INPUT);
pinMode(potPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzPin, OUTPUT);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
potVal = analogRead(potPin);
transPotVal = map(potVal, 700, 1023, 0, 255);
Serial.println(transPotVal);
if (millis() - delayStart > delayTimeDisabled){
if (prevPhVal > phBar){
if (phVal < phBar) { startTime = millis(); alarmDisabled = false; } } } if(!alarmDisabled){ if(millis()-startTime > delayTime){
startAlarm();
}
}
if(lightsOn){
digitalWrite(ledPin, transPotPin);
}else{
digitalWrite(ledPin, LOW);
}
prevPhVal = phVal;
}
void startAlarm(){
tone(buzPin, 4000);
}
void stopAlarm(){
noTone(buzPin);
}
void pauseAlarm(int t){
delayStart = millis();
delayTimeDisabled = t;
}
Arduino program ovoga projekta možete preuzeti ovdje.
Autori
Projekt su izradili Dino Plečković i Vid Martin Lulić uz mentorstvo Petra Dobrića iz OŠ Julija Klovića.
Projekt je prijavljen na temu: Internet of Things: Pametna rasvjeta.




