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!
É 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