24 de agosto de 2013

Luz Noturna

O sensor detectou pouca luminosidade no ambiente e os leds são acionados para não ficar aquela escuridão.

Circuito interessante pra ficar num lugar onde é necessário sempre um pouco luz para não sair tropeçando e batendo a cabeça.

Segue o esquema elétrico e o código fonte do microcontrolador.

É isso! Abraços!
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 /*------------
 LUZ NOTURNA
 Fellipe Couto
 06/06/2013
 ------------*/
int led[3] = {3,5,6}; //Pinos dos Leds
int LDR = 0; //LDR ligado ao analog(0) com resistor pull-down de 10k
int ldrValue = 0;
int ldrMin = 100; //Valor LDR com luz apagada
int ldrMax = 800; //Valor LDR com luz acessa
boolean ledStatus = false;

void setup(){
  for (int j=0; j<3; j++){
    pinMode(led[j], OUTPUT);
  }
}

void loop(){
  delay(1000);
  ldrValue = analogRead(LDR); //Valor do LDR.
  
  if (ldrValue < ldrMin && ledStatus == false){
    ledOn();
  }
  if (ldrValue > ldrMax && ledStatus == true){
    ledOff();
  }
}

void ledOn(){
  ledStatus = true;
  for (int j=0; j<3; j++){
    for (int i=0; i<255; i++){
      analogWrite(led[j], i);
      delay(4);
    }
  }
  ldrMax = analogRead(LDR) + 120;
}

void ledOff(){
  ledStatus = false;
  for (int j=0; j<3; j++){
    for (int i=254; i>=0; i--){
      analogWrite(led[j], i);
      delay(4);
    }
  }
}

Nenhum comentário:

Postar um comentário