Resistor dependente da luz - sensor LDR com ESPPOP 10 usando Arduino IDE

Resistor dependente da luz - sensor LDR com ESPPOP 10 usando Arduino IDE

O ESP32 é um poderoso microcontrolador equipado com recursos para IoT. Esp32 com LDR pode medir a intensidade da luz e acionar a resposta de acordo com ele. Usando o ESP32 e um LDR, podemos criar um projeto baseado em sensor de luz remoto e projetar uma variedade de soluções IoT inovadoras para várias indústrias e aplicações.

Neste guia, o básico do LDR e suas aplicações com ESP32 serão cobertos.

1: Introdução ao sensor LDR

2: Aplicações de LDR com ESP32

3: Interface LDR com ESP32 usando Arduino IDE

    • 1: esquemático
    • 2: código
    • 3: saída sob luz fraca
    • 4: Saída sob luz brilhante

Conclusão

1: Introdução ao sensor LDR

A euOILHO DEpenente REsistor (LDR) é um tipo de resistor que altera sua resistência com base na intensidade da luz a ser exposta. Na escuridão, sua resistência é muito alta, enquanto em luz brilhante sua resistência é muito baixa. Essa mudança de resistência torna melhor para projetos de detecção de luz.


Os pinos analógicos do ESP32 convertem as tensões recebidas em um número inteiro entre 0 e 4095. Este valor inteiro é mapeado contra a tensão de entrada analógica de 0V a 3.3V, que, por padrão, a tensão de referência do ADC no ESP32. Este valor é lido usando o Arduino analogread () função de ldr.

Para mais guia detalhado e pinagem adc do ESP32, leia o artigo ESP32 ADC - Leia os valores analógicos com Arduino IDE.


O ESP32 possui um conversor analógico-digital interno (ADC) que pode medir a tensão no LDR e convertê-lo em um sinal digital que pode ser processado pelo microcontrolador. O uso deste sinal ESP32 determina a resistência do LDR, que é proporcional à intensidade da luz.

Aqui estaremos usando os pinos do canal 1 do ESP32 ADC.


Fótons ou partículas de luz desempenham um papel crucial na operação de LDRs. Quando a luz cai na superfície de um LDR, os fótons são absorvidos pelo material, que então libera elétrons no material. O número de elétrons livres é diretamente proporcional à intensidade da luz e quanto mais elétrons são liberados, menor a resistência do LDR se torna.

2: Aplicações de LDR com ESP32

A seguir, a lista de alguns aplicativos baseados em IoT de LDR com ESP32:

    • Interruptor ativado pela luz
    • Indicador de nível de luz
    • Modo noturno em dispositivos
    • Sistemas de segurança baseados em luz
    • Sistemas de iluminação inteligentes
    • Sistemas de segurança sensíveis à luz
    • Monitoramento da planta
    • Iluminação com eficiência de energia
    • Cortores de janelas automatizadas

3: Interface LDR com ESP32 usando Arduino IDE

Para usar um LDR com o ESP32, precisamos conectar o LDR com um pino de canal ADC ESP32. Depois desse código Arduino, é necessário que leia valores analógicos do pino de saída LDR. Para projetar este circuito, precisamos de LDR, um resistor e a placa ESP32.

O LDR e o resistor estão conectados em série, com o LDR conectado ao Canal analógico 1 Pino de entrada do ESP32. Um LED será adicionado ao circuito que pode testar LDR funcionando.

1: esquemático

O diagrama de circuito para interface LDR com ESP32 é bastante simples. Precisamos conectar o LDR e um resistor em uma configuração de divisor de tensão e conectar a saída do divisor de tensão ao pino ADC (Analog to Digital Converter) do ESP32. O canal ADC 1 pino D34 é usado como uma entrada analógica para ESP32.

A imagem a seguir é o esquema do ESP32 com o sensor LDR.

2: código

Depois que o circuito for configurado, o próximo passo é escrever o código para o ESP32. O código lerá a entrada analógica do LDR e o usará para controlar um LED ou outro dispositivo com base em diferentes níveis de luz.

int ldr_val = 0; /*Variável para armazenar o valor do fotorresistor*/
int sensor = 34; /*Entrada analógica para fotorresistor*/
int led = 25; /*Pino de saída LED*/
Void Setup ()
Serial.começar (9600); /*Taxa de transmissão para comunicação serial*/
pinmode (LED, saída); / *PIN LED SET como saída */

Void Loop ()
Ldr_val = analogread (sensor); /*Valor analógico de leitura LDR*/
Serial.print ("Valor de saída LDR:");
Serial.println (ldr_val); /*Exibir saída LDR Val no monitor serial*/
if (ldr_val> 100) /*se a intensidade da luz estiver alta* /
Serial.println ("alta intensidade");
DigitalWrite (LED, Low); /*LED permanece desligado*/

outro
/*Else se a intensidade da luz for baixa LED permanecerá ligada*/
Serial.println ("baixa intensidade");
DigitalWrite (LED, alto); /* LED LIGADA O VALOR LDR é menor que 100*/

atraso (1000); /*Lê valor após cada 1 seg*/


No código acima, usamos um LDR com ESP32 que controlará o LED usando a entrada analógica proveniente de LDR.

As três primeiras linhas de código declaram variáveis ​​para armazenar o Valor do fotorresistor, o pino analógico para o fotorresistor e o LIDERADO pino de saída.

No configurar() Função, a comunicação serial é iniciada com uma taxa de transmissão de 9600 e o pino LED D25 é definido como saída.

No laço() função, o valor do fotorresistor é lido usando a função analogread (), que é armazenada no Ldr_val variável. O valor do fotorresistor é então exibido no monitor serial usando a série.Função println ().

Um if-else A declaração é usada para controlar o LED com base na intensidade da luz detectada pelo fotorresistor. Se o valor do fotorresistor for maior que 100, significa que a intensidade da luz é alta e o LED permanece desligado. No entanto, se o valor do fotorresistor for menor ou igual a 100, significa que a intensidade da luz é baixa e o LED liga.

Finalmente, o programa aguarda 1 segundo usando a função de atraso () antes de ler o valor do fotorresistor novamente. Este ciclo se repete indefinidamente, fazendo o LED ligado e desligado com base na intensidade da luz detectada pelo fotorresistor.

3: saída sob luz fraca

A intensidade da luz é menor que 100, portanto, o LED permanecerá.

4: Saída sob luz brilhante

À medida que a intensidade da luz aumenta, o valor de LDR aumentará e a resistência de LDR diminuirá para que o LED desative.

Conclusão

O LDR pode ser interfocado com o ESP32 usando o pino do canal ADC 1. A saída LDR pode controlar a sensação de luz em várias aplicações. Com seu baixo custo e tamanho compacto, o ESP32 e o LDR fazem uma escolha atraente para projetos de IoT que exigem recursos de detecção de luz. Usando o Arduino analogread () função, podemos ler valores de ldr.