Zvučna rasvjeta
FFVAL, LukaModel pametne rasvjeta kojom se može upravljati zvukom iz naslonjača svoga boravka.
Princip rada je da kontroler Arduino MKR1000 nakon dobivenog signala od senzora zvuka uključuje ili isključuje RGB LED, koja nam predstavlja rasvjetno tijelo. Intenzitet svijetla RGB LED je reguliran vrijednostima koje kontroler očitava sa senzora svijetla.
Izrada projekta
Shema projekta
Na eksperimentalnu pločicu stavili smo Arduino pločicu MKR1000, senzor sa fotootpornikom, senzor zvuka i RGB LED. Senzor svijetla s fotootpornikom je spojen na analogni ulaz A1. Senzor zvuka je spojen na digitalni PIN 0, koji je programiran kao ulazni. RGB LED je spojena na PVM digitalne pinove 2, 3 i 4.
Arduino program
#define BLYNK_PRINT /* int FotoA = A1; // definicija pina za foto-senzor int FotoValueA; // definicija varijable za foto-otpornik int SoundPinD = 0; // definicija pina za senzor zvuka bool SoundValueD = LOW; // definicija varijable za foto-otpornik bool light = LOW; // definicija varijable za stanje rasvjete int LED_R = 2; // definicija pina LED_R int LED_G = 3; // definicija pina LED_G int LED_B = 4; // definicija pina LED_B int LED_PWR; // definiraj varijablu intenzitet svjetla // ************************************************************************************************** void setup() { pinMode(LED_R, OUTPUT); // postavi pin LED_R kao izlazni pinMode(LED_G, OUTPUT); // postavi pin LED_G kao izlazni pinMode(LED_B, OUTPUT); // postavi pin LED_B kao izlazni pinMode(SoundPinD, INPUT); // postavi pin SoundPinD kao ulazni digitalWrite(LED_R, LOW); // isključi LED - početno stanje digitalWrite(LED_G, LOW); // isključi LED - početno stanje digitalWrite(LED_B, LOW); // isključi LED - početno stanje Serial.begin(9600); // inicijalizaija serijske veze } // ************************************************************************************************** void loop() { FotoValueA = analogRead(FotoA); // očitanje stanje analognog ulaza LED_PWR = map(FotoValueA, 200, 700, 0, 255); // skaliranje očitane vrijednosti na 0-255 if (LED_PWR < 0){LED_PWR = 0;} if (LED_PWR > 255){LED_PWR = 255;} SoundValueD = digitalRead (SoundPinD); // očitanje stanje digitalnog ulaza delay (100); // kašnjenje zbog izbjegavanja dvostruke registracije zvuka Serial.print("Svjetlo "); // slanje teksta preko serijskog porta Serial.print(FotoValueA); // slanje vrijednosti varijable preko serijskog porta Serial.print("\t"); // slanje znaka tablulator preko serijskog porta Serial.print("LED: "); // slanje teksta preko serijskog porta Serial.print(LED_PWR); // slanje vrijednosti varijable preko serijskog porta Serial.print("\t"); // slanje znaka tablulator preko serijskog porta Serial.print ("light: "); // slanje teksta preko serijskog porta Serial.println (light); if (FotoValueA < 400) { // Dio programa za veći intenzitet svjetla (FotoValueA je manja) if (SoundValueD == HIGH){ light = !light; } if (light == HIGH){ // Uključenje rasvjete intenzitetom koji ovisi o očitanoj vrijednosti analogWrite(LED_R, LED_PWR); analogWrite(LED_G, LED_PWR); analogWrite(LED_B, LED_PWR); } else { // Isključenje rasvjete analogWrite(LED_R, 0); analogWrite(LED_G, 0); analogWrite(LED_B, 0); } } else { // Dio programa za manji intenzitet svjetla (FotoValueA je veća) if (SoundValueD == HIGH){light = !light;} if (light == HIGH){ // Uključenje rasvjete maksimalnim intenzitetom analogWrite(LED_R, 255); analogWrite(LED_G, 255); analogWrite(LED_B, 255); } else { // Isključenje rasvjete analogWrite(LED_R, 0); analogWrite(LED_G, 0); analogWrite(LED_B, 0); } } }
Arduino program ovoga projekta možete preuzeti ovdje.
Autori
Projekt su izradili Rea Iveković i Jakov Hržina uz mentorstvo Damira Hržina iz FFVAL, Luka.
Projekt je prijavljen na temu: Internet of Things: Pametna rasvjeta.