Escolar Documentos
Profissional Documentos
Cultura Documentos
Olá a todos, hoje vou ensinar como fazer um projeto arduino bem interessante,
usando um sensor LDR (light dependent resistor) e leds. Este projeto faz a
leitura da iluminação de um ambiente, através do LDR, e exibe o resultado da
leitura do sensor nos leds. Funciona da seguinte forma, caso o ambiente esteja
bem iluminado o led verde acenderá, caso a iluminação do ambiente for
mediana o led amarelo acenderá e caso a iluminação esteja ruim o led
vermelho acenderá, e você também poderá ver os valores lidos no LDR no
Serial Monitor da IDE do arduino. Você pode alterar a leitura da iluminação
aproximando ou afastando a mão do sensor LDR. Os intervalos de valores que
representam a intensidade da iluminação são fixos e estão definidos dentro do
programa que se encontra abaixo. Lembro que estes valores podem ser
alterados conforme sua necessidade.
Para desenvover este projeto você vai precisar do seguinte material:
um arduino;
uma protoboard;
fios jumper;
três leds, de cores diferentes;
um sensor LDR (light dependent resistor);
um resistor de 10k ohms e três de 100 ohms.
Agora vem a parte legal que é programar o arduino. Segue abaixo o código
fonte deste projeto. Abra a IDE do arduino, conecte ele ao computador através
do cabo USB, insira o código fonte na IDE compile e faça o upload do
programa. Lembro que os valore lidos no sensor LDR poderão ser visualizados
no Serial Monitor da IDE. Para acessar o serial monitor pressione as teclas Ctrl
+ Shift + M.
Código fonte comentado
1 /*
Projeto Arduino sensor de luz com saida de leds.
2
Por Jota
3 ----------------------------------------
4 --=<| www.ComoFazerAsCoisas.com.br |>=--
5 ----------------------------------------
6 */
7
int sensor = 0; //Pino analógico em que o sensor está
8 conectado.
9 int valorSensor = 0; //Usada para ler o valor do sensor em tempo
1 real.
0
1 const int ledVerde = 8;
1 const int ledAmarelo = 9;
const int ledVermelho = 10;
1
2 //Função setup, executado uma vez ao ligar o Arduino.
1 void setup(){
3 //Ativando o serial monitor que exibirá os valores lidos no
1 sensor.
Serial.begin(9600);
4
1
//Definindo pinos digitais dos leds como de saída.
5 pinMode(ledVerde,OUTPUT);
1 pinMode(ledAmarelo,OUTPUT);
6 pinMode(ledVermelho,OUTPUT);
1 }
7
//Função loop, executado enquanto o Arduino estiver ligado.
1 void loop(){
8
1 //Lendo o valor do sensor.
9 int valorSensor = analogRead(sensor);
2
0
2 //Valores da luminosidade podem ser alterados conforme
1 necessidade.
2
//Luminosidade baixa.
2 if (valorSensor < 750) {
2 apagaLeds();
3 digitalWrite(ledVermelho,HIGH);
2 }
4
2 //Luminosidade média.
if (valorSensor >= 750 && valorSensor <= 800) {
5 apagaLeds();
2 digitalWrite(ledAmarelo,HIGH);
6 }
2
7 //Luminosidade alta.
2 if (valorSensor > 800) {
apagaLeds();
8 digitalWrite(ledVerde,HIGH);
2 }
9
3 //Exibindo o valor do sensor no serial monitor.
0 Serial.println(valorSensor);
3
delay(50);
1
}
3
2 //Função criada para apagar todos os leds de uma vez.
3 void apagaLeds() {
3 digitalWrite(ledVerde,LOW);
3 digitalWrite(ledAmarelo,LOW);
digitalWrite(ledVermelho,LOW);
4 }
3
5
3
6
3
7
3
8
3
9
4
0
4
1
4
2
4
3
4
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
6
0
6
1
6
2
6
3
6
4
6
5
Segue abaixo o esquema detalhado do projeto arduino com sensor de luz LDR
com saída de leitura em leds.