/*
* Projeto com Sensor de luz LDR e Buzzer
* Baseado em projeto 29 - 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
int ldrValue = 0; // Valor lido do LDR
const int freq = 5; // altera frequencia do sonorizador
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
ldrValue = analogRead(ldrPin); // lê o valor do LDR
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/freq); // espera a quantidade de milissegundos em ldrValue
}
/*
* Projeto com Sensor de luz LDR, Leds e Buzzer
* Baseado em projeto 30 - 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() {
//Ativa o serial monitor para exibi 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 valor de milissegundos 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);
}