Algumas partes deste site ainda não estão disponíveis no seu idioma. Estamos trabalhando para corrigir isso e pedimos desculpas por qualquer inconveniente.
Tutorial ESP32 22/55 - Sentindo a luz usando LED Arduino | Kit de Aprendizado IoT ESP32 da SunFounder
Neste tutorial, exploraremos como usar um Resistor Dependente de Luz (LDR) com o microcontrolador ESP32 para medir a intensidade da luz. Ao ler a resistência do LDR, podemos acionar ações, como ligar um buzzer quando o nível de luz ultrapassar um determinado limite. Este projeto demonstrará a interação entre os níveis de luz e as capacidades de leitura analógica do ESP32, permitindo-nos criar aplicativos responsivos com base na luz ambiente. (no vídeo às 5:30)
Hardware Explicado
Os principais componentes que usaremos neste projeto incluem o microcontrolador ESP32, um LDR e um resistor de 10 kΩ. O LDR muda sua resistência com base na intensidade da luz que atinge sua superfície: mais luz resulta em menor resistência, enquanto menos luz resulta em maior resistência. Essa propriedade nos permite medir níveis de luz variados conectando o LDR em uma configuração de divisor de tensão com o resistor.
O microcontrolador ESP32 possui Wi-Fi e Bluetooth integrados, tornando-o ideal para projetos de IoT. Ele possui vários pinos analógicos que podem ler diferentes níveis de tensão, que utilizaremos para monitorar a tensão através do LDR. Essa tensão será convertida em um valor analógico que o ESP32 pode processar e usar para acionar ações como ativar um buzzer.
Detalhes da Ficha Técnica
Fabricante
Espressif Systems
Número da peça
ESP32
Tensão de lógica/entrada e saída
3,3 V
Tensão de alimentação
3,0 - 3,6 V
Corrente de saída (por GPIO)
40 mA máximo
Orientação da frequência PWM
1 kHz - 40 kHz
Limiares de lógica de entrada
Alto: 2,0 V min, Baixo: 0,8 V max
Queda de tensão / RDS(on)/ saturação
0,3 V max
Limites térmicos
-40 °C a 125 °C
Pacote
QFN48
Notas / variantes
Suporta vários protocolos Wi-Fi e Bluetooth
Use um resistor de 10 kΩ em série com o LDR para divisão de tensão.
Certifique-se de que o ESP32 está alimentado com 3,3 V para evitar danos.
Conecte o LDR e o resistor corretamente para medir a intensidade da luz.
Use um capacitor para desacoplamento, se necessário, para estabilizar a fonte de alimentação.
Verifique os valores de leitura analógica para garantir que estejam dentro dos intervalos esperados.
Instruções de Fiação
ESP32-22_light_sensor-wiring
Para conectar o LDR e o resistor ao ESP32, comece ligando um terminal do LDR ao pino de alimentação de 3,3 V no ESP32. O outro terminal do LDR deve ser conectado a um terminal do resistor de 10 kΩ. Conecte o outro terminal do resistor ao terra.
Em seguida, conecte um fio jumper do ponto de junção entre o LDR e o resistor ao pino35no ESP32. Esta configuração cria um divisor de tensão, permitindo que o ESP32 leia a tensão variável com base na intensidade da luz que atinge o LDR. Certifique-se de que todas as conexões estejam seguras e de que o LDR esteja posicionado onde possa detectar com precisão as mudanças de luz.
Exemplos de Código e Tutorial
No código, começamos inicializando a comunicação serial para monitorar as leituras do LDR. O identificador chave aqui éanalogValue, que armazena a leitura do pino35.
void setup() {
Serial.begin(115200);
}
void loop() {
int analogValue = analogRead(35);
Serial.printf("ADC analog value = %d\n",analogValue);
delay(100);
}
Este trecho de código inicializa o monitor serial a uma taxa de transmissão de 115200 e lê continuamente o valor analógico do pino.35O valor é impresso no monitor serial, permitindo que observemos como ele muda com diferentes níveis de luz.
Quando a intensidade da luz muda, a resistência do LDR varia e, assim, a voltagem lida pelo ESP32 também mudará, refletindo as condições de luz (no vídeo às 12:45).
Demonstração / O que Esperar
Ao executar o programa e observar o monitor serial, você deve ver oADC analog valueflutuar com base nas condições de luz ambiente. Quando você cobre o LDR, o valor deve aumentar, indicando maior resistência, enquanto expô-lo a luz intensa deve diminuir significativamente o valor. Esse comportamento pode ser usado para acionar um buzzer ou qualquer outra ação com base nos limiares predefinidos.
Se as leituras não mudarem como esperado, verifique se há problemas de fiação, assegure-se de que o LDR não está flutuando e confirme se o ESP32 está alimentado corretamente. Isso ajudará a evitar armadilhas comuns e garantir um funcionamento suave (no vídeo às 15:30).
Carimbos de Tempo do Vídeo
00:00 Início
1:48 Introdução ao LDR
8:33 Explicação da fiação
11:07 Código do Arduino explicado
Selecionando a placa ESP32 e a porta COM no Arduino IDE às 13:07