ESP32 - Flammensensor
Der Flammensensor kann das Infrarotlicht erkennen und messen, das von einer Flamme ausgeht. Er ist nützlich zur Erkennung von Bränden und wird auch als Infrarot-Flammensensor oder Feuersensor bezeichnet. Dieser Sensor liefert zwei Arten von Informationen: Die eine ähnelt einem einfachen Schalter (entweder ein oder aus), und die andere ist ein analoges Signal, das die Stärke der Flamme anzeigt.
In diesem Tutorial lernen wir, wie man einen ESP32 mit einem Flammensensor verwendet, um Flammen zu erkennen. Genauer gesagt behandeln wir die folgenden Schritte:
- Den Flammensensor mit einem ESP32 verbinden.
- Den ESP32 so programmieren, dass er Feuer erkennt, indem er das Ein-/Aus-Signal des Flammensensors ausliest.
- Den ESP32 so programmieren, dass er die Flammenstärke misst, indem er das analoge Signal des Flammensensors ausliest.

Anschließend können Sie den Code so anpassen, dass ein Warnhorn aktiviert wird, wenn das Feuer erkannt wird.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Flammensensor

Der Infrarot-Flammensensor kann eine Flamme erkennen oder prüfen, wie viel Infrarotlicht die Flamme abgibt. Dadurch hilft er uns, Brände zu erkennen. Dieser Sensor bietet zwei Ausgabemodi: einen digitalen Ausgangspin und einen analogen Ausgangspin.
Diese Sensoren sind darauf ausgelegt, bestimmte Arten von Infrarotlicht zu erfassen, die von Flammen ausgestrahlt werden, während andere Arten ignoriert werden, wie die Wärme von Menschen oder Innenbeleuchtung. Doch wie jeder Sensor haben sie auch ihre Grenzen, und manchmal können sie Fehler machen – entweder indem sie fälschlicherweise melden, dass es ein Feuer gibt, obwohl keines da ist (Fehlalarm), oder indem sie ein Feuer übersehen, obwohl es vorhanden ist (Fehler bei der Erkennung).
Pinbelegung
Es gibt zwei Arten von Flammensensor-Modulen, die erhältlich sind:
Ein einzelner Flammensensor enthält vier Pins:
- VCC-Pin: Es muss mit VCC verbunden werden (3,3 V bis 5 V).
- GND-Pin: Es muss mit GND verbunden werden (0 V).
- DO-Pin: Es ist ein digitaler Ausgangspin. Es ist HIGH, wenn die Flamme nicht erkannt wird, und LOW, wenn sie erkannt wird. Der Schwellenwert für die Flammen-Erkennung kann mit einem eingebauten Potentiometer angepasst werden.
- AO-Pin: Es ist ein analoger Ausgangspin. Der Ausgangswert sinkt, wenn der Infrarotpegel abnimmt, und steigt, wenn der Infrarotpegel zunimmt.

Darüber hinaus verfügt es über zwei LED-Anzeigen:
- Eine PWR-LED-Anzeige für die Stromversorgung.
- Eine DO-LED-Anzeige für den Flammenzustand am DO-Pin: Sie ist eingeschaltet, wenn eine Flamme vorhanden ist.
Das 5-in-1-Flammensensor-Modul vereint fünf einzelne Flammensensoren auf einer einzigen Leiterplatte. Die Sensoren teilen sich ein gemeinsames Potentiometer, VCC- und GND-Verbindungen, während jeder Sensor seine eigenen unabhängigen DO (Digitalausgang) und AI (Analog-Eingang) Pins hat.
Wie es funktioniert
Für den DO-Pin:
- Das Modul verfügt über ein integriertes Potentiometer zur Einstellung des Infrarotschwellenwerts (Empfindlichkeit).
- Wenn die Infrarotintensität den Schwellenwert überschreitet, wird die Flamme erkannt, der Ausgangspin des Sensors ist LOW, und die DO-LED ist an.
- Wenn die Infrarotintensität unter dem Schwellenwert liegt, wird die Flamme NICHT erkannt, der Ausgangspin des Sensors ist HIGH, und die DO-LED ist aus.
Für den AO-Pin:
- Je höher die Infrarotintensität in der Umgebung ist, desto höher ist der vom AO-Pin gelesene Wert.
- Je niedriger die Infrarotintensität in der Umgebung ist, desto niedriger ist der vom AO-Pin gelesene Wert.
Beachten Sie, dass das Potentiometer den Wert am AO-Pin nicht beeinflusst.
Verdrahtungsdiagramm
Da das Flammensensor-Modul zwei Ausgänge hat, können Sie je nach Bedarf entscheiden, ob Sie einen oder beide davon verwenden möchten.
- Wie man ESP32 und Flammensensor mit Breadboard verbindet
Das Flammensensor-Modul bietet zwei Ausgabemöglichkeiten. Sie können je nach Bedarf entweder eine oder beide verwenden.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
- Wie man ESP32 und Flammensensor mit einem Schraubklemmen-Breakout-Board anschließt Schraubklemmen-Breakout-Board

ESP32-Code - DO-Pin-Wert lesen
Schnelle Schritte
- Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie wie man die Umgebung für ESP32 in der Arduino-IDE einrichtet.
- Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino-IDE.
- Klicken Sie in der Arduino-IDE auf die Hochladen-Schaltfläche, um den Code auf den ESP32 hochzuladen.
- Richten Sie den Flammensensor auf eine Flamme aus.
- Sehen Sie das Ergebnis im seriellen Monitor.
Bitte beachten Sie, dass Sie das Potentiometer einstellen können, um die Empfindlichkeit des Sensors fein abzustimmen, falls Ihnen auffällt, dass die LED-Anzeige konstant eingeschaltet bleibt oder ausgeschaltet ist, selbst wenn der Sensor auf eine Flamme gerichtet ist.
ESP32-Code – Wert vom AO-Pin lesen
Schnelle Schritte
- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
- Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code auf den ESP32 hochzuladen.
- Richten Sie den Flammensensor auf eine Flamme.
- Sehen Sie das Ergebnis im seriellen Monitor.
※ Notiz:
Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der an einen Flammensensor angeschlossen ist. Der ESP32-ADC eignet sich gut für Projekte, die keine hohe Genauigkeit benötigen. Für Projekte, die präzise Messungen benötigen, beachten Sie bitte:
- Der ESP32-ADC ist nicht perfekt genau und könnte eine Kalibrierung für korrekte Ergebnisse benötigen. Jedes ESP32-Board kann etwas unterschiedlich sein, daher müssen Sie den ADC für jedes einzelne Board kalibrieren.
- Die Kalibrierung kann schwierig sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer die exakten Ergebnisse, die Sie wünschen.
Für Projekte, die eine hohe Präzision benötigen, ziehen Sie in Erwägung, einen externen ADC (z. B. ADS1115) zusammen mit dem ESP32 zu verwenden oder einen Arduino zu nutzen, der über einen zuverlässigeren ADC verfügt. Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, lesen Sie den ESP32 ADC Kalibrierungs-Treiber.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.