Arduino Nano ESP32 - Sensor de Chama
O sensor de chama pode 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 como usar um Arduino Nano ESP32 com um sensor de chama para detectar chamas. Especificamente, vamos abordar estes passos:
- Conectar o sensor de chama a um Arduino Nano ESP32.
- Programar o Arduino Nano ESP32 para reconhecer fogo lendo o sinal liga/desliga do sensor de chama.
- Programar o Arduino Nano ESP32 para medir a intensidade da chama lendo o sinal analógico do sensor de chama.

Depois, você pode modificar o código para acionar uma buzina de alerta quando o fogo for detectado.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Chama

O sensor de chama infravermelho pode 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 das pessoas ou as luzes internas. Mas, como qualquer sensor, eles têm seus limites e às vezes podem cometer erros, seja dizendo que há fogo quando não há (falso positivo), seja deixando de perceber um fogo que existe (falso negativo).
Pinagem
Existem dois tipos de módulos sensores de chama disponíveis:
Um sensor de chama único 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 em HIGH se a chama não é detectada e em LOW se é detectada. O valor limite para a detecção da chama pode ser ajustado usando 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 indicadores LED:
- Um indicador PWR-LED para a alimentação.
- Um indicador DO-LED para o estado da chama no pino DO: fica aceso quando há chama.
O sensor de chama 5 em 1 integra cinco sensores de chama individuais em uma única PCB. Esses sensores compartilham as mesmas conexões de potenciômetro, VCC e GND. No entanto, os pinos DO (saída digital) e AI (entrada analógica) de cada sensor funcionam de forma independente, e cada sensor aponta para uma direção diferente. Esse arranjo aumenta efetivamente o alcance total de detecção.
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 em LOW e o DO-LED acende.
- Quando a intensidade do infravermelho está abaixo do valor limite, a chama NÃO é detectada, o pino de saída do sensor fica em HIGH e o DO-LED 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 precisa.
- O diagrama de ligação entre o Arduino Nano ESP32 e o sensor de chama ao usar somente o DO.

This image is created using Fritzing. Click to enlarge image
- O diagrama de ligação entre o Arduino Nano ESP32 e o sensor de chama ao usar somente o AO.

This image is created using Fritzing. Click to enlarge image
- O diagrama de ligação entre o Arduino Nano ESP32 e o sensor de chama ao usar o AO e o DO juntos.

This image is created using Fritzing. Click to enlarge image
Código do Arduino Nano ESP32 - Ler o valor do pino DO
Passos Rápidos
- Se esta é a primeira vez que você usa o Arduino Nano ESP32, veja como configurar o ambiente para o Arduino Nano ESP32 no Arduino IDE.
- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload do Arduino IDE para fazer o upload do código para o Arduino Nano ESP32
- Aponte o sensor de chama para uma chama.
- Veja o resultado no Serial Monitor.
Lembre-se de que, se você notar que o status do 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 do Arduino Nano 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 o upload do código para o Arduino Nano 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 ou componente. O ADC do Arduino Nano ESP32 é adequado para projetos que não exigem alta precisão. No entanto, para projetos que precisam de medições precisas, tenha em mente o seguinte:
- O ADC do Arduino Nano ESP32 não é perfeitamente preciso e pode precisar de calibração para obter resultados corretos. Cada placa Arduino Nano ESP32 pode variar um pouco, então a calibração é necessária para cada placa individualmente.
- A calibração pode ser difícil, especialmente para iniciantes, e nem sempre dá os resultados exatos que você quer.
Para projetos que exigem alta precisão, considere usar um ADC externo (ex.: ADS1115) com o Arduino Nano ESP32 ou usar outro Arduino, como o Arduino Uno R4 WiFi, que tem um ADC mais confiável. Se você ainda quiser calibrar o ADC do Arduino Nano ESP32, consulte o ESP32 ADC Calibration Driver.