ESP32 - Sensor de Luz Aciona LED

Este tutorial ensina como usar o ESP32, o sensor de luz e o LED para fazer um projeto que:

Hardware Necessário

1×38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow
1×(Alternativa) 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide
1×(Alternativa) 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide
1×(Alternativa) ESP32 Uno-form board
1×(Alternativa) ESP32 S3 Uno-form board
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×Sensor de Luz
1×LED Kit
1×LED (red)
1×LED Module
1×(Alternativa) Button and LED Kit
1×220Ω Resistor
1×10 kΩ Resistor
1×Protoboard
1×Fios Jumper
1×(Opcional) Conector de Alimentação DC
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para ESP32
1×(Recomendado) Breakout Expansion Board for ESP32
1×(Recomendado) Divisor de Alimentação para ESP32

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included)
1×DIYables ESP32 S3 Starter Kit (ESP32 S3 included)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.

O sensor de luz LDR é muito barato, mas precisa de um resistor na ligação, o que pode deixar a montagem mais complexa. Para simplificar a ligação, você pode usar um módulo sensor de luz LDR como alternativa.

Sobre o LED e o Sensor de Luz

Temos tutoriais específicos sobre o LED e o sensor de luz. Cada tutorial contém informações detalhadas e instruções passo a passo sobre a pinagem do hardware, o princípio de funcionamento, a ligação com o ESP32, o código ESP32... Saiba mais sobre eles nos links a seguir:

Diagrama de Ligação

Diagrama de Ligação ESP32 Sensor de Luz LED

This image is created using Fritzing. Click to enlarge image

Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.

Código ESP32

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-light-sensor-triggers-led */ // constants won't change #define LIGHT_SENSOR_PIN 36 // ESP32 pin GPIO36 (ADC0) connected to light sensor #define LED_PIN 22 // ESP32 pin GPIO22 connected to LED #define ANALOG_THRESHOLD 500 void setup() { // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(LED_PIN, OUTPUT); // set ESP32 pin to output mode } void loop() { int analogValue = analogRead(LIGHT_SENSOR_PIN); // read the value on analog pin if (analogValue < ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 no Arduino IDE.
  • Faça a ligação como na imagem acima.
  • Conecte a placa ESP32 ao seu PC por meio de um cabo USB Type-C
  • Abra o Arduino IDE no seu PC.
  • Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
  • Copie o código acima e cole no Arduino IDE.
  • Compile e faça upload do código para a placa ESP32 clicando no botão Upload no Arduino IDE
Arduino IDE Upload do Código
  • Ilumine o sensor
  • Veja a mudança de estado do LED

Explicação do Código Linha por Linha

O código ESP32 acima contém explicação linha por linha. Por favor, leia os comentários no código!

※ Nota:

Este tutorial usa a função analogRead() para ler valores de um ADC (Conversor Analógico-Digital) conectado a um sensor de luz. O ADC do ESP32 é bom para projetos que NÃO precisam de alta precisão. No entanto, para projetos que precisam de medições precisas, observe:

  • O ADC do ESP32 não é perfeitamente preciso e pode precisar de calibração para obter resultados corretos. Cada placa ESP32 pode ser um pouco diferente, então você precisa calibrar o ADC de cada placa individualmente.
  • A calibração pode ser difícil, especialmente para iniciantes, e nem sempre pode dar os resultados exatos que você quer.

Para projetos que precisam de alta precisão, considere usar um ADC externo (por exemplo, ADS1115) com o ESP32 ou usar um Arduino, que tem um ADC mais confiável. Se você ainda quiser calibrar o ADC do ESP32, consulte o ESP32 ADC Calibration Driver

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!