O sensor detectou pouca luminosidade no ambiente e os leds sao acionados para nao ficar aquela escuridao.Circuito interessante pra ficar num lugar onde e necessario sempre um pouco luz para nao sair tropecando e batendo a cabeca.Segue o esquema eletrico e o codigo fonte do microcontrolador.E isso! Abracos! /*------------ LUZ NOTURNA Fellipe Couto 06/06/2013 ------------*/int led[3] = {3,5,6}; //Pinos dos Ledsint LDR = 0; //LDR ligado ao analog(0) com resistor pull-down de 10kint ldrValue = 0;int ldrMin = 100; //Valor LDR com luz apagadaint ldrMax = 800; //Valor LDR com luz acessaboolean 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); } }} Vamos exercitar a cachola e visualizar as horas no relogio binario!Como ja esta mostrando no video, as horas sao exibidas pela primeira fileira de leds, no meio exibe os minutos, e a ultima os segundos.Temos dois push-buttons no circuito para o ajuste de horas e minutos.Segue o esquema eletrico e o codigo fonte. /*-------------- RELOGIO BINARIO Fellipe Couto 11/05/2013 --------------*//*----- VARIAVEIS -----*/long previousMillis = 0;long interval = 1000;int hour = 0;int minute = 0;int second = 0;int ledHour[5] = {1,2,3,4,5}; //Leds das horasint ledMinute[6] = {6,7,8,9,10,11}; //Leds dos minutosint ledSecond[6] = {12,13,14,15,16,17}; //leds dos segundos/*----- SETUP -----*/void setup(){ for (int i=0; i<5; i++){ pinMode(ledHour[i], OUTPUT); } for (int i=0; i<6; i++){ pinMode(ledMinute[i], OUTPUT); pinMode(ledSecond[i], OUTPUT); }}/*----- LOOP PRINCIPAL -----*/void loop(){ unsigned long currentMillis = millis(); //Intervalo de 1 segundo if (currentMillis - previousMillis > interval){ previousMillis = currentMillis; clockDec(); //Relogio decimal clockBin(); //Relogio binario if (analogRead(4) == 1023){ //Ajuste de horas hour++; second = 0; } if (analogRead(5) == 1023){ //Ajuste de minutos minute++; second = 0; } }}/*----- RELOGIO DECIMAL -----*/void clockDec(){ second++; if (second == 60){ second = 0; minute++; } if (minute == 60){ minute = 0; hour++; } if (hour == 24){ hour = 0; }}/*----- RELOGIO BINARIO -----*/void clockBin(){ //Segundos for (int j=0; j<6; j++){ if (decToBin(second, 6).substring(j,j+1) == "0"){ digitalWrite(ledSecond[j], LOW); } else{ digitalWrite(ledSecond[j], HIGH); } } //Minutos for (int j=0; j<6; j++){ if (decToBin(minute, 6).substring(j,j+1) == "0"){ digitalWrite(ledMinute[j], LOW); } else{ digitalWrite(ledMinute[j], HIGH); } } //Horas for (int j=0; j<5; j++){ if (decToBin(hour, 5).substring(j,j+1) == "0"){ digitalWrite(ledHour[j], LOW); } else{ digitalWrite(ledHour[j], HIGH); } }}/*----- CONVERTE DECIMAL PARA BINARIO -----*/String decToBin(int num, int qtd){ //Retorna uma string de 'qtd' posicoes. int zeros = qtd - String(num, BIN).length(); String str; for (int i=0; i<zeros; i++){ str = str + "0"; } return str = str + String(num, BIN); } Esse e o Batman seguidor de luz!A base desse circuito e a mesma de um carro seguidor de linha, por exemplo. Sao dois sensores de luminosidade, um do lado direito e outro do