PROJETO 5 - SENSOR DE LUMINOSIDADE COM LDR

Olá pessoal, neste projeto você aprenderá como fazer um sensor de luminosidade básico, e uma pequena aplicação, onde você verá três LED‘s acendo conforme variação da luminosidade. Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!!

Para você visualizar o monitor serial selecione a opção Tools, Serial Monitor (ou Ctrl+Shift+M) e pronto.

COMPONENTES NECESSÁRIOS

1 Arduino Uno R3

1 Protoboard

1 LDR (Light Dependent Resistor(Resistor dependente de luz))

1 LED Vermelho

1 LED Amarelo

1 LED Verde

3 Resistores de 330 ohms *

1 Resistor de 10K ohms

Fios jumpers

* Esse valor pode ser diferente, dependendo do LED que você utilizar.

CONECTANDO OS COMPONENTES

Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, pegue o LDR, o resistor de 10 K ohms e os fios e conecte-os como mostra a figura.

Observação importante: Verifique a polaridade dos LED’s.

 

Não importa se você utiliza fios de cores diferentes ou furos diferentes na protoboard, desde que os componentes e os fios estejam conectados na mesma ordem da figura. Tenha cuidado ao inserir os componentes na protoboard. Caso sua protoboard seja nova, a superfície dos furos ainda estará rígida. A não inserção cuidadosa dos componentes pode resultar em danos. Certifique-se de que todos os componentes estejam conectados corretamente. Quando você estiver seguro de que tudo foi conectado corretamente, ligue seu Arduino e conecte o cabo USB.

AGORA VAMOS AO CÓDIGO

// Projeto 5 - Sensor de luminosidade

// Define o pino analógico A0, onde será lido o valor do sensor
int sensorAlogPin = 0;
// Define uma variável qualquer para armazenar o valor lido do pino A0
int armazenaValor = 0;

void setup(){
// Inicializa a função Serial, configurando sua velocidade
Serial.begin(9600);
}

void loop(){
// Faz a leitura da porta analogica A0 e armazena na variável armazenaValor
armazenaValor = analogRead(sensorAlogPin);

Serial.print("Lendo valor... "); // Imprime no monitor serial
Serial.print(armazenaValor); // Mostra o valor lido pela porta serial

delay(1000); // Aguarda 1 segundo
}

Para certificar se o código está correto pressione o botão Verify/Compile. Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino. Pronto, agora inicialize o monitor serial e visualize o que acontece quando você muda a luminosidade no LDR.

IMAGEM DA PORTA SERIAL DO IDE DO ARDUINO

APLICAÇÃO DO SENSOR DE LUMINOSIDADE

Complemente o projeto anterior conforme mostra a figura

 

COMPLEMENTE O CÓDIGO DA SEGUINTE MANEIRA

// Projeto 5.1 - Sensor de luminosidade com LED’s

// Define o pino analógico A0, onde será lido o valor do sensor
int sensorAnalogPin = 0;
// Define uma variável qualquer para armazenar o valor lido do pino A0
int armazenaValor = 0;

// Definindo pinos onde estão conectados os LED’s
const int ledVerde = 11;
const int ledAmarelo = 12;
const int ledVermelho = 13;

void setup(){

// Ativando o serial monitor que exibirá os valores lidos no sensor
Serial.begin(9600);

// Definindo pinos digitais dos LED’s como de saída
pinMode(ledVerde,OUTPUT);
pinMode(ledAmarelo,OUTPUT);
pinMode(ledVermelho,OUTPUT);
}

void loop(){
// Faz a leitura da porta analogica A0 e armazena na variável armazenaValor
int armazenaValor = analogRead(sensorAnalogPin);

//Os valores da luminosidade podem ser alterados conforme a necessidade
//Luminosidade baixa
if (armazenaValor < 600) {
apagaLeds();
digitalWrite(ledVermelho,HIGH);
}

// Luminosidade média
if (armazenaValor >= 600 && valorSensor <= 850) {
apagaLeds();
digitalWrite(ledAmarelo,HIGH);
}

// Luminosidade alta
if (armazenaValor > 850) {
apagaLeds();
digitalWrite(ledVerde,HIGH);
}

// Exibindo o valor do sensor no serial monitor.
Serial.print("Lendo valor... "); // Imprime no monitor serial
Serial.println(valorSensor); // Mostra o valor lido pela porta serial
delay(1000);
}

// Está função criada para apagar todos os leds de uma vez
void apagaLeds() {
digitalWrite(ledVerde,LOW);
digitalWrite(ledAmarelo,LOW);
digitalWrite(ledVermelho,LOW);
}


Para certificar se o código está correto pressione o botão Verify/Compile. Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino. Pronto, agora você verá os LED’s trocando de cor conforme variação de luminosidade.

fonte: facacomarduino.info