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:

sensor de chama esp32

Depois, você pode modificar o código para acionar uma buzina de alerta quando o fogo for detectado.

Hardware Necessário

1×Arduino Nano ESP32
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×Flame Sensor
1×5-in-1 5-way Flame Sensor
1×Protoboard
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano ESP32

Or you can buy the following kits:

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.

Sobre o Sensor de Chama

módulo sensor de fogo e chama infravermelho

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.
Pinagem do sensor de chama
image source: diyables.io

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.
Diagrama de ligação do sensor de chama com o Arduino Nano ESP32

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.
Diagrama de ligação do sensor de fogo com o Arduino Nano ESP32

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.
Diagrama de ligação do sensor de chama infravermelho com o Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Código do Arduino Nano ESP32 - Ler o valor do pino DO

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-flame-sensor */ #define DO_PIN D2 // The Arduino Nano ESP3 connected to DO pin of the flame sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP32's pin as an input pinMode(DO_PIN, INPUT); } void loop() { int flame_state = digitalRead(DO_PIN); if (flame_state == HIGH) Serial.println("No flame dected => The fire is NOT detected"); else Serial.println("Flame dected => The fire is detected"); }

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.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
No flame dected => The fire is NOT detected No flame dected => The fire is NOT detected Flame dected => The fire is detected Flame dected => The fire is detected Flame dected => The fire is detected No flame dected => The fire is NOT detected No flame dected => The fire is NOT detected No flame dected => The fire is NOT detected
Ln 11, Col 1
Arduino Nano ESP32 on COM15
2

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

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-flame-sensor */ #define AO_PIN A4 // The Arduino Nano ESP3 connected to AO pin of the flame sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int infrared_value = analogRead(AO_PIN); Serial.print("The AO value: "); Serial.println(infrared_value); }

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.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
245 246 246 573 677 949 955 1004 1007 1013 1018 641 543 340 179
Ln 11, Col 1
Arduino Nano ESP32 on COM15
2

※ 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.

Vídeo

Referências de Funções

Tutoriais Relacionados

※ 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!