A primeira era de um Led piscante, da qual era mostrado pela própria placa, pela saída de número 13.
Após esse exercício, foi passada a tarefa ascender o Led piscante, seguindo a mesma lógica, e após esse procedimento, partimos para algo parecido porém com uma noção de gráfico senoide onde a luz do Led iria aumentando gradativamente, ao invés de só piscar em "high" e "low".
Após isso, fomos apresentados ao sensor LDR, da qual pudemos perceber codificando, que o sensor retornava os valores da intensidade de luz captada.
Com todos esses exercícios tivemos base para tentar realizar o desafio proposto, que era a de Acender o Led se a luz ambiente for desligada.
Com base nos testes que fiz, obtive a conclusão de que o sensor retornava valores mais altos com pouca luz, e valores mais baixos com mais luz. Com base nisso tirei uma média, já que a luz ambiente da sala batia apenas um pouco mais de 600 de valor em seus momentos mais escuros; logo, concluí que um valor acima de 700 seria algo determinante para se ascender o LED.
Fazendo isso, foi só colocar a ideia no código, e o resultado veio.
O código inteiro segue abaixo:
Há muito código comentado, pois faziam parte dos exercícios anteriores:
int brilho = 0;
int varBrilho = 5;
int nivelLuz;
void setup() {
// put your setup code here, to run once:
//pinMode(13, OUTPUT);
Serial.begin (9600);
pinMode(9, OUTPUT);
pinMode(0,INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
//digitalWrite(13,HIGH);
// delay(500);
//digitalWrite(13,LOW);
//delay(500);
//analogWrite (9, brilho);
//Serial.println (brilho);
//brilho = brilho + varBrilho;
//if(brilho >= 255)
//varBrilho = -varBrilho;
//if(brilho <= 0)
//varBrilho = -varBrilho;
//delay(30);
nivelLuz=analogRead(0);
Serial.println (nivelLuz);
delay(500);
if(nivelLuz >= 700){
digitalWrite(9,HIGH);
}
else
digitalWrite(9,LOW);
}
Segue também um pequeno vídeo do arduino funcionando.