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.



