Antes de inciar os projetos, devemos calibrar nossas leituras de acordo com o LDR que utilizaremos no projeto; ao longo desse artigo, utilizarei um LDR de 10 mm. Monte o circuito conforme o esquema abaixo.
|
Uma das pontas do LDR está ligada ao pino +5V , enquanto a outra ponta está ligada à entrada analógica A0 do Arduino e a um resistor de 10K Ohms (ligado ao pino GND do Arduino). A seguir, carregue o sketch de impressão serial no Arduino.
Vamos mudar as condições de iluminação sobre o LDR aproximando sobre uma fonte de luz e depois cobrindo com as mãos. As leituras deveriam variar de 0 a 1024, entretanto, como o resistor nunca terá resistência nula é provável que isso não ocorra. Para o LDR utilizado em nossos projetos em uma situação de um ambiente sem luz foi encontrado um valor de cerca de 880; em luz ambiente o valor registrado foi de cerca de 410, enquanto que em um ambiente de forte luz o valor encontrado foi de cerca de 10. Esses valores irão variar para você de acordo com as suas condições de iluminação, o valor do resistor que está usando e o valor de seu LDR.
int val=0;
void loop() {
Projeto 1: Sensor de Iluminação
O LDR é utilizado no controle de luminosidade exposta em sua face. O exemplo mais comum são as fotocélulas que controlam o acendimento de poste de iluminação e luzes em prédios. Baseado em uma aplicação como essa, vamos desenvolver um aplicação que monitore o valor analógico de um divisor resistivo e, em função de um limiar desse valor, acende ou apaga um LED de informação. Estabeleça que: com a incidência de luz, o LED se apaga, e ao escurecer o LDR (cobrindo-o) o LED se acende. Abaixo temos a lista de componentes que utilizaremos no projeto.Materiais Utilizados
1 LDR de 10mm;1 LED vermelho;
1 resistor de 150 Ohms (será ligado ao LED);
1 resistor de 10K Ohms (será ligado ao LDR);
1 Arduino Uno R3 (ou compatível);
Cabos Jumpers.
//Projeto 1: Sensor de iluminação
int portaled=2;
int portaLDR=A0;
void setup(){
pinMode(portaled, OUTPUT);
}
void loop(){
int estado = analogRead(portaLDR);
if (estado>500){
digitalWrite(portaled, HIGH);
}
else{
digitalWrite(portaled, LOW);
}
}code-box
1 buzzer ativo SFM-27;
1 resistor de 220 Ohms (ligado ao buzzer);
1 resistor de 10K Ohms (ligado ao LDR);
1 Arduino Uno R3 (ou compatível);
Esquema de ligação
Figura 2: Projeto sensor de iluminação. |
Sketch Utilizado
int portaled=2;
void loop(){
else{
}code-box
Projeto Funcionando
Projeto 2: Sensor LDR com Sirene
Nesse projeto iremos desenvolver um sistema de monitoramento de um cofre quando aberto aciona uma sirene. O cofre fechado (condição com pouca luz) a sirene fica desligada, entretanto, quando aberta a porta do cofre (condição com luz ambiente) a sirene é acionada. Tanto o material utilizado (adicionamos um buzzer ativo e retiramos o LED) quanto o esquema de ligação são semelhantes aos do projeto anterior.Materiais Utilizados
1 LDR;1 buzzer ativo SFM-27;
1 resistor de 220 Ohms (ligado ao buzzer);
1 resistor de 10K Ohms (ligado ao LDR);
1 Arduino Uno R3 (ou compatível);
Cabos Jumpers.
//Projeto Sensor LDR com Sirene
int portaBuzzer=2;
int portaLDR=A0;
int freq=240;
void setup()
{
// nao faz nada
}
void loop()
{
int sensorValor = analogRead(portaLDR);
if (sensorValor<500)
{
if (freq == 240)
{
freq = 120;
}
else
{
freq = 240;
}
tone(portaBuzzer,freq); // liga a sirene
}
else
{
noTone(portaBuzzer); // desliga a sirene
}
}code-box
Esquema de ligação
Figura 3: projeto com LDR com Sirene. |
Sketch Utilizado
int portaBuzzer=2;
// nao faz nada
}
void loop()
int sensorValor = analogRead(portaLDR);
if (freq == 240)
freq = 120;
else
freq = 240;
tone(portaBuzzer,freq); // liga a sirene
}
else
{
}
}code-box
Projeto Funcionando
Abaixo um resumo dos dois projetos desenvolvidos. Se gostou curta, compartilhe e se inscreva em nossas redes. Até a próxima!
Postar um comentário