/******************************************************************************* * * Projeto 30 – Sensor de luz LDR com sinalizador de Leds * http://squids.com.br/arduino * *******************************************************************************/ const int buzzerPin = 7; // Piezo no pino 8 const int ldrPin = 0; // LDR no pino analógico 0 const int ledPin = 3; // LED no pino digital 3 const int ledVerde = 8; const int ledAmarelo = 9; const int ledVermelho = 10; int ldrValue = 0; // Valor lido do LDR const int freq = 5; // altera frequencia do sonorizador void setup() { //Ativando o serial monitor que exibirá os valores lidos no sensor. Serial.begin(9600); //Definindo pinos digitais dos leds e buzzer como de saída. pinMode(ledPin, OUTPUT); pinMode(buzzerPin, OUTPUT); pinMode(ledVerde,OUTPUT); pinMode(ledAmarelo,OUTPUT); pinMode(ledVermelho,OUTPUT); } void loop() { ldrValue = analogRead(ldrPin); // lê o valor do LDR //Luminosidade baixa. if (ldrValue < 40) { apagaLeds(); digitalWrite(ledVermelho,HIGH); //toca o alarme tone(buzzerPin,1000); // toca um tom de 1000 Hz do piezo digitalWrite(ledPin, HIGH); delay(25); // espera um pouco noTone(buzzerPin); // interrompe o tom digitalWrite(ledPin, LOW); delay(ldrValue); // espera a quantidade de milissegundos em ldrValue } //Luminosidade média. if (ldrValue >= 40 && ldrValue <= 200) { apagaLeds(); digitalWrite(ledAmarelo,HIGH); } //Luminosidade alta. if (ldrValue > 200) { apagaLeds(); digitalWrite(ledVerde,HIGH); } //Exibindo o valor do sensor no serial monitor. Serial.println(ldrValue); delay(50); } //Função criada para apagar todos os leds de uma vez. void apagaLeds() { digitalWrite(ledVerde,LOW); digitalWrite(ledAmarelo,LOW); digitalWrite(ledVermelho,LOW); }