Neka bude svjetlo
Druga gimnazija VaraždinProjekt “Neka bude svijetlo” zamišljen je kao primjena IOT koncepata za automatizaciju osvjetljavanja životnog ili radnog prostora s mogućnošću upravljanja na daljinu korištenjem pametnog mobilnog telefona na kojem je instalirana aplikacija Blynk.
Osnovna funkcionalnost aplikacije odnosi se na paljenje i gašenje LED diode koja simulira stvarno rasvjetno tijelo.
U realnom sustavu, korištenjem relejskog sklopa, LED dioda jednostavno se može zamijeniti funkcionalnim rasvjetnim tijelom napajanim izmjeničnom strujom.
Dodatnu funkcionalnost sustavu daje klizač (slider) koji omogućava podešavanje praga razine osvjetljenja ispod kojeg se rasvjeta uključuje. Razina osvjetljenja može se mijenjati za vrijeme rada sustava tako da sustav odmah reagira na unesene promjene. Razina osvijetljenja omogućuje da se rasvjeta pali samo noću ili kad je razina osvjetljenosti nekog prostora ispod određene vrijednosti.
Da bi ova mogućnost sustava bila moguća bilo je potrebno promijeniti temeljnu funkcionalnost Blynk aplikacije na način da se upravljački signali iz aplikacije pretvaraju u varijable sustava korištenjem virtualnih pinova.
Vrijednosti pohranjene u varijablama omogućuju izvršavanje logike programa uspoređivanjem stanja senzora i razine na kojoj aplikacija uključuje rasvjetno tijelo.
Izrada projekta
Mobilna aplikacija
Slika 2 prikazuje sučelje kreirano aplikacijom Blynk koje putem kojeg je moguće upravljati sustavom preko pametnog telefona.
Shema projekta
Na mikrokontroler spaja se LED dioda preko digitalnog izlaza 7.
Photoresistor spaja se korištenjem ukupno tri vodiča. Pin – na senzoru spaja se na GND Pin S na senzoru spaja se na 5V Središnji pin na senzoru spaja se na analogni izlaz A1pornik na A1.
Shemu ovoga projekta možete preuzeti ovdje.
Arduino program
#define BLYNK_PRINT /* // NEKA BUDE SVIJETLO - aplikacija za upravljanje rasvijetom korištenjem mobilnog telefona #define BLYNK_PRINT SerialUSB #include #include #include char auth[] = "4bc2823a6ebc42b09bc670ceded7e6e4"; char ssid[] = "2Gimnazija"; char pass[] = "password"; // VARIJABLA za potrebe senzora int delayVal = 100; //Time to delay between reads. // VARIJABLE u koje se zapisuju vrijednosti virtualnih pinova iz sučelja aplikacije Blynk int buttonValue = 0; int sliderValue = 0; // Funkcija koja se poziva prilikom projene vrijednosti klizaca (slidera) BLYNK_WRITE(V1) { // vrijednost klizaca zapisuje se u varijablu sliderValue i ona predstavlja razinu osvjetljenja ispod koje će se paliti rasvijeta sliderValue = param.asInt(); // sluzi za debugiranje; //SerialUSB.print("Slider value: "); //SerialUSB.println(sliderValue); } BLYNK_WRITE(V2) { buttonValue = param.asInt(); // assigning incoming value from pin V1 to a variable // sluzi za debugiranje; //SerialUSB.print("Button value: "); //SerialUSB.println(buttonValue); } void setup() { //LED dioda pinMode(7, OUTPUT); //SENZOR Serial.begin(9600); //Open serial connection // konzola za debugiranje SerialUSB.begin(9600); Blynk.begin(auth, ssid, pass); } void loop() { Blynk.run(); // u varijablu sensorVal zapisuje se vrijednost očitanu s analognog ulaza na koji je spojen senzor razine osvijetljenosti // senzor daje podatak u rasponu 1 - 1024 gdje veca vrijednost predstavlja manju razinu osvijetljenosti int sensorVal = analogRead(A1); // selekcija koja definira hoce li rasvijeta biti upaljena ili ne. Rasvjeta se pali kada je uključeno dugme za paljenje rasvjete i kad je razina senzora (sensorVal) veca od postavki razine osvjetljenja na kojoj se rasvjeta ukljucuje(sliderValue) if(buttonValue==1 && sensorVal > sliderValue){ digitalWrite(7, HIGH); } else{ digitalWrite(7, LOW); } //pauza radi manjeg opterecivanja mikrokontrolera delay(100); }
Arduino program ovoga projekta možete preuzeti ovdje.
Autori
Projekt su izradili Vilim Pagon i Luka Benjak uz mentorstvo Davorina Grabara iz Druge gimnazije Varaždin.
Projekt je prijavljen na temu: Internet of Things: Pametna rasvjeta.