ESP32 - Vlammen Sensor

De vlammen sensor kan infraroodlicht dat door een vlam wordt uitgezonden detecteren en meten. Het is erg nuttig voor het opsporen van branden en staat ook bekend als een infrarode vlammen sensor of brand sensor. Deze sensor levert twee soorten informatie: een digitale uitgang die fungeert als een eenvoudige schakelaar (aan of uit) en een analoge uitgang die de sterkte van de vlam meet.

In deze handleiding leert u hoe u een ESP32 gebruikt met een vlammen sensor om vlammen te detecteren. We behandelen specifiek deze stappen:

esp32 flame sensor

Daarna kunt u de code aanpassen om bijvoorbeeld een waarschuwingssignaal te activeren zodra er vuur wordt gedetecteerd.

Hardware Benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB Kabel Type-C
1×Vlammen Sensor (Flame Sensor)
1×5-in-1 5-weg Vlammen Sensor
1×Breadboard (experimenteerprint)
1×Jumperdraden (man-male)
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de Vlammen Sensor

infrared flame fire-sensor module

De infrarood vlammen sensor kan een vlam detecteren of meten hoeveel infrarood licht een vlam uitstraalt. Dit helpt bij het opsporen van brand. De sensor biedt twee mogelijkheden via een digitale uitgangspin en een analoge uitgangspin.

Deze sensoren zijn ontworpen om een specifiek type infraroodlicht van vlammen te detecteren en negeren andere soorten infrarood, zoals warmte van mensen of binnenverlichting. Zoals bij elke sensor bestaan er beperkingen, waardoor soms onjuiste metingen kunnen optreden: vals positief (brand gedetecteerd terwijl die er niet is) of vals negatief (brand aanwezig maar niet gedetecteerd).

Pinout

Er zijn twee typen vlammen sensor modules beschikbaar:

Een enkele vlammen sensor heeft vier pinnen:

  • VCC pin: moet verbonden worden met VCC (3,3V tot 5V).
  • GND pin: moet verbonden worden met GND (0V).
  • DO pin: digitale uitgang. Hoog (HIGH) als er geen vlam gedetecteerd wordt, laag (LOW) als wel. De detectiedrempel kan worden ingesteld met de ingebouwde potentiometer.
  • AO pin: analoge uitgang. De waarde daalt bij minder infrarood licht en stijgt bij meer infrarood licht.
Flame Sensor Pinout
image source: diyables.io

Daarnaast heeft de sensor twee LED-indicatoren:

  • Eén PWR-LED voor voedingsstatus.
  • Eén DO-LED die de vlamstatus op de DO pin aangeeft: aan wanneer vlam aanwezig is.

De 5-in-1 vlammen sensor module combineert vijf individuele vlammen sensoren op één printplaat. De sensoren delen een gemeenschappelijke potentiometer, VCC en GND, maar hebben elk een eigen onafhankelijke DO (digitale uitgang) en AI (analoge ingang) pinnen.

Hoe Werkt Het

Voor de DO pin:

  • De module heeft een ingebouwde potentiometer waarmee de infrarood gevoeligheidsdrempel ingesteld kan worden.
  • Wanneer de infrarood intensiteit boven de drempelwaarde komt, wordt een vlam gedetecteerd, wordt de uitgangspin van de sensor LOW, en gaat de DO-LED aan.
  • Wanneer de infrarood intensiteit onder de drempel blijft, wordt geen vlam gedetecteerd, is de uitgangspin HIGH, en is de DO-LED uit.

Voor de AO pin:

  • Hoe hoger de infrarood intensiteit in de omgeving, hoe hoger de waarde die via de AO pin wordt uitgelezen.
  • Hoe lager de infrarood intensiteit, hoe lager de gemeten waarde op AO.

Let op: de potentiometer beïnvloedt alleen het digitale signaal (DO-pin), niet de analoge waarde (AO-pin).

Bedradingsschema

Omdat de vlammen sensor module twee uitgangen biedt, kunt u één van beide of beide gebruiken, afhankelijk van uw toepassing.

  • Hoe sluit u de ESP32 en vlammen sensor aan met een breadboard

De module biedt twee uitgangsmogelijkheden, kies wat u nodig heeft.

ESP32 Flame Sensor wiring diagram

This image is created using Fritzing. Click to enlarge image

How to connect ESP32 and flame sensor

ESP32 Code - Waarde lezen van DO pin

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-flame-sensor */ #define DO_PIN 13 // ESP32's pin GPIO13 connected to DO pin of the flame sensor void setup() { // initialize serial communication 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"); }

Snelstart

  • Als dit de eerste keer is dat u de ESP32 gebruikt, bekijk dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
  • Kopieer bovenstaande code en open deze met Arduino IDE
  • Klik op de Upload knop in Arduino IDE om de code naar de ESP32 te uploaden
  • Richt de vlammen sensor op een vlam.
  • Bekijk het resultaat in de Serial Monitor.
COM6
Send
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
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Let op dat als de LED status continu aan of uit blijft ook wanneer de sensor naar een vlam is gericht, u de potentiometer kunt afstellen om de gevoeligheid van de sensor te finetunen.

ESP32 Code - Waarde lezen van AO pin

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-flame-sensor */ #define AO_PIN 36 // ESP32's pin GPIO36 connected to AO pin of the flame sensor void setup() { // initialize serial communication 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); }

Snelstart

  • Kopieer bovenstaande code en open met Arduino IDE
  • Klik op de Upload knop in Arduino IDE om de code naar de ESP32 te uploaden
  • Richt de vlammen sensor op een vlam.
  • Bekijk het resultaat in de Serial Monitor.
COM6
Send
245 246 246 573 677 949 955 1004 1007 1013 1018 641 543 340 179
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

Deze handleiding maakt gebruik van de functie analogRead() om waarden te lezen van een ADC (Analog-to-Digital Converter) die aan de vlammen sensor is gekoppeld. De ADC van de ESP32 is geschikt voor projecten die GEEN hoge nauwkeurigheid vereisen. Voor projecten die precieze metingen nodig hebben geldt:

  • De ADC van de ESP32 is niet perfect nauwkeurig en kan kalibratie vereisen voor correcte resultaten. Elke ESP32-kaart kan iets verschillen, dus het is aan te raden de ADC per bord te kalibreren.
  • Kalibratie kan lastig zijn, vooral voor beginners, en kan soms niet de exacte gewenste resultaten opleveren.

Voor projecten met hoge nauwkeurigheid is het beter om een externe ADC te gebruiken (bijv. ADS1115) met de ESP32 of een Arduino, die een betrouwbaardere ADC heeft. Wilt u toch de ESP32 ADC kalibreren, raadpleeg dan de ESP32 ADC Calibration Driver.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en laat stap-voor-stap zien hoe u de vlammen sensor samen met ESP32 gebruikt.

Gerelateerde Tutorials

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!