Arduino Nano ESP32 - Flammensensor
Der Flammensensor kann das Infrarotlicht erkennen und messen, das von einer Flamme ausgeht. Er ist nützlich, Brände zu erkennen, und wird auch als Infrarot-Flammensensor oder Feuersensor bezeichnet. Dieser Sensor liefert zwei Arten von Informationen: Eine ist wie ein einfacher Schalter (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 Arduino Nano ESP32 mit einem Flammensensor verwendet, um Flammen zu erkennen. Konkret werden wir diese Schritte behandeln:
- Den Flammensensor an einen Arduino Nano ESP32 anschließen.
- Das Arduino Nano ESP32 so programmieren, dass es Brände erkennt, indem es das Ein/Aus-Signal des Flammensensors ausliest.
- Das Arduino Nano ESP32 so programmieren, dass es die Stärke der Flamme misst, indem es das analoge Signal des Flammensensors ausliest.

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

Der Infrarot-Flammen-Sensor kann eine Flamme erkennen oder prüfen, wie viel Infrarotlicht die Flamme abgibt. Daher hilft er uns, Brände zu erkennen. Dieser Sensor bietet zwei Anschlussmöglichkeiten: einen digitalen Ausgangspin und einen analogen Ausgangspin.
Diese Sensoren sind darauf ausgelegt, bestimmte Arten von Infrarotlicht einzufangen, die von Flammen ausgestrahlt werden, während sie andere Arten ignorieren, wie die Wärme von Menschen oder Innenbeleuchtung. Aber wie jeder Sensor haben sie ihre Grenzen, und manchmal könnten sie Fehler machen, sei es, dass sie behaupten, es gebe einen Brand, obwohl keiner da ist (Falsch-Positiv) oder dass sie einen Brand übersehen, wenn er vorhanden ist (Falsch-Negativ).
Pinbelegung
Es gibt zwei Arten von Flammensensor-Modulen:
Ein einzelner Flammensensor enthält vier Pins:
- VCC-Pin: Es muss mit VCC (3,3 V bis 5 V) verbunden werden.
- GND-Pin: Es muss mit GND (0 V) verbunden werden.
- DO-Pin: Es ist ein digitaler Ausgangspin. Er ist HIGH, wenn die Flamme nicht erkannt wird, und LOW, wenn sie erkannt wird. Der Schwellenwert für die Flammenerkennung kann mithilfe eines eingebauten Potentiometers angepasst werden.
- AO-Pin: Es ist ein analoger Ausgangspin. Der Ausgangswert nimmt ab, wenn der Infrarotpegel sinkt, und er nimmt zu, wenn der Infrarotpegel steigt.

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.
Der 5-in-1-Flammensensor integriert fünf einzelne Flammensensoren auf einer einzigen Leiterplatte (PCB). Diese Sensoren teilen sich denselben Potentiometer, VCC- und GND-Anschlüsse. Allerdings arbeiten DO- (Digitalausgang) und AI- (Analog-Eingang) Pins bei jedem Sensor unabhängig voneinander, und jeder Sensor ist in eine andere Richtung ausgerichtet. Diese Anordnung erhöht effektiv den gesamten Erkennungsbereich.
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 liegt im LOW-Pegel und die DO-LED ist eingeschaltet.
- Wenn die Infrarotintensität unter dem Schwellenwert liegt, wird die Flamme NICHT erkannt, der Ausgangspin des Sensors liegt im HIGH-Pegel 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 am AO-Pin gelesene Wert.
- Je niedriger die Infrarotintensität in der Umgebung ist, desto niedriger ist der am 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 einen oder beide verwenden.
- Der Schaltplan zwischen Arduino Nano ESP32 und dem Flammensensor, wenn nur DO verwendet wird.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- Das Verdrahtungsdiagramm zwischen Arduino Nano ESP32 und dem Flammensensor, wenn nur AO verwendet wird.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- Der Verdrahtungsplan zwischen dem Arduino Nano ESP32 und dem Flammensensor, wenn sowohl A0 als auch D0 verwendet werden.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino Nano ESP32 Code - Wert vom Digitalausgangspin auslesen
Schnelle Schritte
- Wenn dies das erste Mal ist, dass Sie den Arduino Nano ESP32 verwenden, sehen Sie sich wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE.
- Klicken Sie in der Arduino IDE auf die Hochladen-Schaltfläche, um den Code auf den Arduino Nano ESP32 hochzuladen.
- Richten Sie den Flammensensor auf eine Flamme aus.
- Überprüfen Sie das Ergebnis im seriellen Monitor.
Bitte beachten Sie, dass Ihnen auffallen könnte, dass der LED-Status dauerhaft eingeschaltet bleibt oder auch ausgeschaltet ist, obwohl der Sensor auf eine Flamme gerichtet ist. In diesem Fall können Sie das Potentiometer einstellen, um die Empfindlichkeit des Sensors fein abzustimmen.
Arduino Nano ESP32-Code - Wert vom AO-Pin auslesen
Schnelle Schritte
- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino-IDE.
- Klicken Sie auf die Schaltfläche Hochladen in der Arduino-IDE, um den Code auf den Arduino Nano ESP32 hochzuladen.
- Richten Sie den Flammensensor auf eine Flamme aus.
- Überprüfen Sie das Ergebnis im seriellen Monitor.
※ Notiz:
Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem Analog-Digital-Wandler (ADW) zu lesen, der an einen Sensor oder eine Komponente angeschlossen ist. Der ADC des Arduino Nano ESP32 eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Allerdings sollten Sie für Projekte, die präzise Messungen erfordern, Folgendes beachten:
- Der ADC des Arduino Nano ESP32 ist nicht vollkommen genau und muss möglicherweise für korrekte Ergebnisse kalibriert werden. Jedes Arduino Nano ESP32-Board kann sich leicht unterscheiden, daher ist eine Kalibrierung für jedes einzelne Board notwendig.
- Die Kalibrierung kann herausfordernd sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer die genauen Ergebnisse, die Sie wünschen.
Für Projekte, die eine hohe Präzision erfordern, sollten Sie die Verwendung eines externen AD-Wandlers (z. B. ADS1115) mit dem Arduino Nano ESP32 in Betracht ziehen oder einen anderen Arduino verwenden, wie z. B. den Arduino Uno R4 WiFi, der über einen zuverlässigeren AD-Wandler verfügt. Wenn Sie den ADC des Arduino Nano ESP32 dennoch kalibrieren möchten, lesen Sie die ESP32 ADC Calibration Driver.
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.