ESP32 - Sensor de Chama
O sensor de chama consegue detectar e medir a luz infravermelha que vem de uma chama. Ele é útil para identificar incêndios e também é conhecido como sensor de chama infravermelho ou sensor de fogo. Este sensor fornece dois tipos de informação: um é como uma chave simples (ligado ou desligado) e o outro é um sinal analógico que mostra a intensidade da chama.
Neste tutorial, vamos aprender a usar um ESP32 com um sensor de chama para detectar chamas. Em específico, vamos ver estes passos:
- Conectar o sensor de chama a um ESP32.
- Programar o ESP32 para reconhecer o fogo lendo o sinal liga/desliga do sensor de chama.
- Programar o ESP32 para medir a intensidade da chama lendo o sinal analógico do sensor de chama.

Depois, você pode modificar o código para ativar uma buzina de alerta quando o fogo for detectado.
Hardware Necessário
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) |
Sobre o Sensor de Chama

O sensor de chama infravermelho consegue detectar uma chama ou verificar quanta luz infravermelha a chama emite. Assim, ele nos ajuda a identificar incêndios. Este sensor oferece duas opções, usando um pino de saída digital e um pino de saída analógica.
Esses sensores são projetados para captar certos tipos de luz infravermelha emitidos por chamas, ignorando outros tipos, como o calor de pessoas ou de lâmpadas internas. Mas, como qualquer sensor, eles têm seus limites e, às vezes, podem errar, seja dizendo que há fogo quando não há (falso positivo), seja deixando de ver o fogo quando ele existe (falso negativo).
Pinagem
Existem dois tipos de módulos sensores de chama disponíveis:
Um sensor de chama simples tem quatro pinos:
- Pino VCC: Precisa ser conectado ao VCC (3.3V a 5V).
- Pino GND: Precisa ser conectado ao GND (0V).
- Pino DO: É um pino de saída digital. Fica HIGH se a chama não for detectada e LOW se for detectada. O valor limite para a detecção da chama pode ser ajustado por um potenciômetro embutido.
- Pino AO: É um pino de saída analógica. O valor de saída diminui quando o nível de infravermelho diminui e aumenta quando o nível de infravermelho aumenta.

Além disso, ele tem dois LEDs indicadores:
- Um LED PWR indicador de alimentação.
- Um LED DO indicador do estado da chama no pino DO: ele fica aceso quando há chama.
O módulo sensor de chama 5 em 1 combina cinco sensores de chama individuais em uma única PCB. Os sensores compartilham um potenciômetro comum e as conexões VCC e GND, enquanto cada sensor tem seus próprios pinos independentes DO (Saída Digital) e AI (Entrada Analógica).
Como Funciona
Para o pino DO:
- O módulo tem um potenciômetro embutido para definir o limite de infravermelho (sensibilidade).
- Quando a intensidade do infravermelho está acima do valor limite, a chama é detectada, o pino de saída do sensor fica LOW e o LED DO acende.
- Quando a intensidade do infravermelho está abaixo do valor limite, a chama NÃO é detectada, o pino de saída do sensor fica HIGH e o LED DO apaga.
Para o pino AO:
- Quanto maior a intensidade do infravermelho no ambiente ao redor, maior o valor lido no pino AO.
- Quanto menor a intensidade do infravermelho no ambiente ao redor, menor o valor lido no pino AO.
Observe que o potenciômetro não afeta o valor no pino AO.
Diagrama de Ligação
Como o módulo sensor de chama tem duas saídas, você pode escolher usar uma delas ou as duas, dependendo do que precisar.
- Como conectar o ESP32 e o sensor de chama usando uma protoboard
O módulo sensor de chama oferece duas opções de saída. Você pode usar uma ou as duas, conforme a sua necessidade.

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.
- Como conectar o ESP32 e o sensor de chama usando uma placa breakout com bornes de parafuso

Código ESP32 - Ler o valor do pino DO
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para ESP32 no Arduino IDE.
- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload do Arduino IDE para fazer upload do código para o ESP32
- Aponte o sensor de chama para uma chama.
- Veja o resultado no Serial Monitor.
Lembre-se: se você notar que o LED fica sempre aceso ou sempre apagado, mesmo com o sensor voltado para uma chama, você pode ajustar o potenciômetro para regular a sensibilidade do sensor.
Código ESP32 - Ler o valor do pino AO
Passos Rápidos
- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload do Arduino IDE para fazer upload do código para o ESP32
- Aponte o sensor de chama para uma chama.
- Veja o resultado no Serial Monitor.
※ Nota:
Este tutorial usa a função analogRead() para ler valores de um ADC (Conversor Analógico-Digital) conectado a um sensor de chama. O ADC do ESP32 é bom para projetos que NÃO precisam de alta precisão. Porém, para projetos que precisam de medições precisas, observe:
- O ADC do ESP32 não é perfeitamente preciso e pode precisar de calibração para 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, principalmente para iniciantes, e nem sempre dá o resultado exato que você deseja.
Para projetos que precisam de alta precisão, considere usar um ADC externo (por exemplo, o ADS1115) com o ESP32 ou usar um Arduino, que tem um ADC mais confiável. Se mesmo assim você quiser calibrar o ADC do ESP32, consulte o ESP32 ADC Calibration Driver