lunedì 22 settembre 2014

Domotica - Luci vialetto

Il controllo delle luci del vialetto è ottenuto tramite una foto-resistenza (trasduttore  che al variare dell’intensità luminosa a cui è sottoposto varia la sua resistenza), non appena il trasduttore rileva che la luce scende al di sotto di un determinato valore prefissato, la centralina accende le luci del vialetto. Inoltre se non si vogliono tenere accese le luci del vialetto durante l’intera notte o durante l’assenza da casa per risparmiare energia, l’impianto può essere disattivato tramite un pulsante interno all’abitazione.

Programma Arduino

#define vial 25 
#define puls 7
#define LED 18
int w = 0;  
int stato = 0;
int s = 0;
int k = 0;
const int  FOTOR = A9;

void setup() {
pinMode(LED, OUTPUT);  
pinMode (vial, OUTPUT);   
pinMode (puls, INPUT);
digitalWrite(vial, HIGH);
}

void loop() {
do{                       
float fotoValue = analogRead(FOTOR);
 if(fotoValue > 500 ){
   s=1
 delay(50);
}
   else (s=0);            
   if ((stato == 1)&&(s == 1)) {
   digitalWrite(vial, LOW);
    }
    else {
    digitalWrite(vial, HIGH);
    }   
}
 while ((LED == HIGH)&&(puls == LOW));

Ciclo while per l'accensione e spegnimento delle luci del vialetto tramite la fotoresistenza. Se il valore rilevato del sensore è maggiore del valore prefissato la variabile "s" andrà allo stato "1"e se anche la variabile "stato" è anch'essa a "1" allora il programma accenderà le luci del viale, se solo una di queste condizioni non è rispettata il programma non accenderà le luci.

 k = digitalRead(puls);
  if ((k == HIGH)&&(w == 0)) {
    stato = 1;
    digitalWrite(vial, HIGH);
    k = 0;
    delay(250);
  }
  if ((k == HIGH)&&(w == 1)) {
    stato = 0;
    k = 0;
    delay(250); 
  }
  if (stato == 1) {
    w = 1;
    digitalWrite(LED, HIGH);
}
    else {
    w = 0;
    digitalWrite(LED, LOW);
    digitalWrite (vial, HIGH);
  }
delay(100);
}

Codici del programma che servono per l'attivazione o il disinserimento dell'accensione delle luci del vialetto tramite la fotoresistenza. Per capire se il programma è abilitato o meno all'accensione delle luci del viale nel pulsante è stato aggiunto un LED per l'indicazione, se questo è acceso il programma è disinserito al contrario se questo è spento il programma è abilitato.

Nessun commento:

Posta un commento