Sensor de Luz
Que tal construir um dispositivo que seja capaz de detetar luz? Pode, por exemplo, fazer uma lâmpada que se ligue sozinha durante a noite. Neste tutorial, iremos aprender como usar um componente simples e barato que pode ser usado em diversos projetos, o LDR.
O nome do dispositivo responsável por saber a hora certa de iluminar é conhecido como fotocélula ou relé fotocélula. Como é possível ver na imagem abaixo, a fotocélula possui um LDR que irá medir a luminosidade.
Nessa fotocélula, quando o valor de luminosidade é menor do que o valor desejável, comuta um relé ou contactor que poderá ligar uma lâmpada, por exemplo.
LDR
O LDR, sigla em inglês de Light-Dependent Resistor, que significa resistência dependente de luz, nada mais é do que o que o próprio nome diz. Tipicamente, quanto maior a luz incidente nesse componente, menor será sua resistência.
O LDR é constituído de um semicondutor de alta resistência, que ao receber uma grande quantidade de luz, irá que melhorar sua condutibilidade, reduzindo assim sua resistência.
Dessa forma, esse semicondutor pode assumir resistências na ordem de Mega Ohm no escuro e resistência na ordem de poucas centenas quando exposto a luz.
Fazendo um sensor de luz
Materiais
- Fios Jumper’s
- Protoboard
- Arduino Uno Rev3
- 1x LED
- 1x Resistência 300Ohm
- 1x LDR
- 1x Resistência 10kOhm
Agora vamos conectar os componentes do projeto. Para isso, desligue o cabo USB de seu Arduino e monte seu circuito conforme a figura a seguir.
O resultado do nosso esquema:
Ligue o Arduino ao computador e abra a IDE Arduino.
Antes de carregar um programa, precisa selecionar qual porta deseja usar para fazer carregar o programa no Arduino (upload). Dentro do Arduino IDE, clique no menu Ferramentas (tools) e abra o submenu Porta(Port). Clique na porta em que o Arduino está ligado, tal como COM3 ou COM4. Geralmente aparece o nome da placa Arduino : “COM3 (Arduino Uno)”.
Também precisa garantir que o tipo de placa apropriado está selecionado em Ferramentas(Tools) no submenu Placa (Board).
Crie um programa (sketch) e salve com o nome de “programa_sensor_de_luz”.
Com o programa salvo, escreva nele o código conforme escrito abaixo.
//Sensor de luz int ledPin = 7; //Led no pino 7 int ldrPin = 0; //LDR no pino analígico 8 int ldrValor = 0; //Valor lido do LDR void setup() { pinMode(ledPin,OUTPUT); //define a porta 7 como saída Serial.begin(9600); //Inicia a comunicação serial } void loop() { ///ler o valor do LDR ldrValor = analogRead(ldrPin); //O valor lido será entre 0 e 1023 //se o valor lido for maior que 500, liga o led if (ldrValor>= 800) digitalWrite(ledPin,HIGH); // senão, apaga o led else digitalWrite(ledPin,LOW); //imprime o valor lido do LDR no monitor serial Serial.println(ldrValor); delay(100); }
Após escrever o código, clique em Upload para que o programa seja transferido para seu Arduino.
Caso tenha ocorrido tudo como esperado, ao cobrir o LDR, o LED irá acender. Abra o monitor serial para verificar o que está sendo lido na entrada A0.
Hardware
Divisor de tensão
Quando temos n resistência associadas em série temos o nome de divisor de tensão. Em um circuito divisor de tensão, temos uma queda de tensão em cada resistência igual ao produto da resistência com a corrente do circuito.
Como a corrente do circuito é calculada pela divisão da tensão sobre todas as resistências, dividido pela soma das resistências, teremos a tensão em cima de uma resistência igual a resistência dessa resistência vezes a tensão total dividida pela soma das resistências.
O exemplo a seguir mostra como funciona o cálculo o para duas resistências.
Quando usamos um LDR, que é uma resistência foto-variável, podemos usar da propriedade do divisor de tensão para medir a variação da queda de tensão em cima do mesmo. . Sabemos que a tensão total e a resistência total são fixas. Dessa forma, o divisor de tensão vai variar com a resistência entre A0 e GND.
Levando em conta que quanto menos luz incidir sobre o LDR maior será sua resistência, teremos a tensão sobre o LDR e por conseguinte o valor de A0 maior com um índice de luminosidade incidente menor, isto é, num local mais escuro.
Software
Primeiramente, no nosso programa usamos o comando de leitura analógica, já estudado no tutorial Entradas e Saídas Analógicas, para ler qual o valor em A0. Além disso, usamos a comunicação serial, também discutida em outro tutorial, Comunicação Serial Arduino . É importante que o leitor entenda como eles funcionam. Experimente ler nossos tutoriais anteriores.
Em resumo, nosso programa lerá qual é o valor do sinal em A0, que varia de 0 à 1023, e o comparará com um valor de referência que em nosso caso é 800. Tendo em vista que quanto mais escuro, maior será o valor de A0, caso A0 seja maior que o valor de referência o programa liga o LED conectado ao pino 7, caso contrario, ele apaga o LED. O programa também imprime o valor de A0 com o intuito que possamos verificar a faixa de valores e até calibrar nosso sensor.
Tente mudar o valor de referência e veja que quanto maior esse valor, menor será sua sensibilidade.
Artigo gentilmente cedido por Vida de Silicio
Todos os produtos utilizados neste artigo podem ser encontrados na Loja de Eletrónica e Robótica – ElectroFun.
Gostaram deste artigo? Deixem o vosso comentário no formulário a baixo e partilhem com os vossos amigos.