Você sabia que um LED pode ser usado não apenas para emitir luz, mas também para detectá-la? Isso mesmo! LEDs têm a capacidade de funcionar como sensores de luz devido a um fenômeno conhecido como efeito fotoelétrico interno.
No post de hoje, vamos explorar este princípio de forma prática. Vamos montar um circuito onde um LED atuará como sensor de luz (receptor). A ideia é que, quando a intensidade de luz captada pelo LED receptor for alta, um LED secundário será desligado e quando o valor captado for baixo o LED secundário acenderá.
O efeito fotoelétrico interno ocorre quando a luz atinge um material semicondutor (como o do LED), liberando elétrons que criam uma pequena corrente elétrica. No caso dos LEDs, o efeito é aproveitado porque eles são dispositivos feitos de semicondutores sensíveis à luz. Quando um LED é exposto à luz, ele gera uma tensão muito pequena (normalmente na faixa de milivolts), que pode ser usada como um sinal em circuitos eletrônicos. No nosso projeto, o LED receptor será conectado ao pino analógico do Arduino para medir essa variação de tensão gerada pela luz. Assim nosso led se comportará como um sensor de luminosidade.
Para esse projeto, você irá precisar de:
1x LED Alto Brilho 5mm Azul (Preferencialmente transparente)
2x Resistor de 330 ohms (Outro valor de resistência pode ser usado)
1x Arduino Nano
Na montagem, o LED receptor será conectado ao pino analógico A0 do Arduino, enquanto o LED secundário será controlado pelo pino digital D10. Ambos os LEDs terão resistores de 330 ohms em série para proteção.
Fonte: Autor.
Aqui está o código para o Arduino, com comentários para facilitar a compreensão:
const int ledReceptor = A0; // Pino analógico do LED receptor (A0) const int ledIndicador = 10; // Pino do LED indicador (D10) int limiar = 400; // Valor de limiar para acender o LED indicador (Ajuste conforme necessário) void setup() { pinMode(ledIndicador, OUTPUT); // Define o pino do LED indicador como saída Serial.begin(9600); // Inicializa a comunicação serial para ajustar o sinal do led receptor } void loop() { // Lê o valor analógico do LED receptor int valorLDR = analogRead(ledReceptor); // Imprime o valor do LDR na serial Serial.print("Valor LDR: "); Serial.println(valorLDR); // Se o valor do LDR for menor que o limiar, acende o LED indicador if (valorLDR < limiar) { analogWrite(ledIndicador, 10); //Acende o led indicador } else { analogWrite(ledIndicador, 0); // Apaga o led indicador } delay(250); // Pequena pausa para estabilizar a leitura }
Como o Circuito Funciona
O LED receptor capta a luz ambiente e gera uma pequena corrente elétrica, proporcional à intensidade da luz. Essa corrente é medida pelo Arduino como um valor analógico. Quando a luminosidade ultrapassa 400 (valor ajustável), o programa desliga o LED secundário. Caso contrário, ele permanece ligado. Esse comportamento pode ser visualizado no monitor serial, onde os valores da luminosidade serão exibidos. Para ajustar o valor do LED receptor o código usa o monitor serial para exibir os valores das leituras, assim podemos ajustar o valor de limite conforme a fonte de luz que queremos usar.
Fonte: Autor.
Se tudo deu certo teremos algo assim:
Com este projeto, você aprendeu como usar um LED como sensor de luz e criar uma aplicação prática que pode ser expandida para inúmeras ideias. Por exemplo:
Experimente modificar o código, ajustar o limite de luminosidade ou integrar outros sensores para expandir suas possibilidades.
Fontes e inspirações
Tipler, P. A., & Mosca, G. (2008). “Física para Cientistas e Engenheiros com Física Moderna”. 6ª edição. Editora LTC.
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!