ESP8266 - Flammensensor

Der Flammensensor ist ein praktisches Gerät, das die Infrarotemissionen von Flammen erfasst und misst und so ein nützliches Werkzeug zur Brandfrüherkennung ist. Manchmal wird er auch als Infrarot-Flammsensor oder Feuersensor bezeichnet. Dieser Sensor bietet zwei Arten von Ausgängen: einen digitalen (LOW/HIGH) und einen analogen.

In diesem Leitfaden zeigen wir, wie man einen ESP8266 zusammen mit einem Flammensensor verwendet, um Flammen und Feuer zu identifizieren und zu messen. Im Folgenden gehen wir auf die folgenden Schritte ein:

ESP8266 NodeMCU Flammensensor

Anschließend können Sie den Code so modifizieren, dass ein Warnhorn aktiviert wird (über ein Relais), wenn Feuer erkannt wird.

Erforderliche Hardware

1×ESP8266 NodeMCU
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Flame Sensor
1×5-in-1 5-way Flame Sensor
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über Flammensensor

Infrarot-Flammensensor-Modul

Der Infrarot-Flammensensor dient dem Zweck, das Vorhandensein einer Flamme zu identifizieren oder das Ausmaß der von der Flamme erzeugten Infrarotstrahlung zu messen. Dies macht ihn zu einem wertvollen Werkzeug für die Brandfrüherkennung. Der Sensor bietet zwei Optionen über einen digitalen Ausgangspin und einen analogen Ausgangspin.

Diese Infrarot-Flammen-Sensoren sind sorgfältig gefertigt, um bei den Wellenlängen der Infrarotstrahlung, die sie aufnehmen, wählerisch zu sein und sich auf die mit Flammen verbundenen spezifischen Wellenlängen zu konzentrieren. Ihr Design zielt darauf ab, die Wahrscheinlichkeit von Fehlalarmen zu verringern, die durch andere Quellen von Infrarotstrahlung verursacht werden, wie menschliche Körperwärme oder künstliche Beleuchtung. Trotz ihrer Präzision ist es wichtig zu beachten, dass sie wie jeder Sensor Einschränkungen haben. Unter bestimmten Bedingungen können sie Fehlalarme oder falsche Negative aufweisen.

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 (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 über ein eingebautes Potentiometer 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.
Flammensensor-Pinbelegung
image source: diyables.io

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 Flammenstatus 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-Anschluss. Allerdings arbeiten die DO (Digitalausgang) und AI (Analog-Eingang) Pins jedes Sensors unabhängig voneinander.

Wie es funktioniert

Für den digitalen Ausgangspin (DO-Pin):

  • Das Modul verfügt über einen integrierten Drehregler, mit dem Sie die Empfindlichkeit gegenüber infrarotem Licht einstellen können.
  • Wenn das Infrarotlicht stark genug ist (die festgelegte Empfindlichkeit überschreitet), bedeutet dies, dass der Sensor eine Flamme erkannt hat. Der Ausgangspin geht auf "LOW" und die DO-LED leuchtet auf.
  • Wenn das Infrarotlicht nicht stark genug ist (unter der festgelegten Empfindlichkeit), bedeutet dies, dass keine Flamme erkannt wird. Der Ausgangspin geht auf "HIGH" und die DO-LED geht aus.

Für den analogen Ausgang (AO)-Pin:

  • Der AO-Pin gibt dir eine Zahl, die angibt, wie viel infrarotes Licht in der Umgebung vorhanden ist.
  • Mehr infrarotes Licht in der Umgebung sorgt dafür, dass der AO-Pin eine höhere Zahl ausgibt.
  • Weniger infrarotes Licht in der Umgebung sorgt dafür, dass der AO-Pin eine niedrigere Zahl ausgibt.

Beachten Sie, dass das Einstellen der Empfindlichkeit mit dem Drehregler den Wert, den Sie vom AO-Pin erhalten, nicht ändert.

Verdrahtungsdiagramm

Da das Flammensensor-Modul zwei Ausgänge hat, können Sie je nach Bedarf einen oder beide verwenden.

  • Der Schaltplan zwischen dem ESP8266 und dem Flammensensor, wenn nur DO verwendet wird.
ESP8266 NodeMCU-Flammensensor-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

  • Der Schaltplan zwischen dem ESP8266 und dem Flammensensor, wenn nur AO verwendet wird.
ESP8266 NodeMCU-Brandmelder-Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

  • Schaltplan der Verdrahtung zwischen ESP8266 und dem Flammensensor, wenn sowohl AO als auch DO verwendet werden.
ESP8266 NodeMCU Infrarot-Flammen-Sensor-Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

ESP8266-Code - Wert vom DO-Pin lesen

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp8266/esp8266-flame-sensor */ #define DO_PIN D7 // The ESP8266 pin connected to DO pin of the flame sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266'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 => No fire detected"); else Serial.println("Flame present => Fire detected"); }

Schnelle Schritte

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, folgen Sie diesen Schritten:

  • Schauen Sie sich das Tutorial how to setup environment for ESP8266 on Arduino IDE an, falls dies Ihr erstes Mal mit ESP8266 ist.
  • Schließen Sie die Bauteile gemäß dem Diagramm an.
  • Schließen Sie das ESP8266-Board mit einem USB-Kabel an Ihren Computer an.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das richtige ESP8266-Board aus, z. B. (NodeMCU 1.0 (ESP-12E Module)), und seinen jeweiligen COM-Port.
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf den ESP8266 hochzuladen.
  • Richten Sie den Flammensensor auf eine Flamme aus.
  • Überprüfen Sie das Ergebnis im Serial Monitor.
COM6
Send
Flame present => Fire detected Flame present => Fire detected No flame => No fire detected No flame => No fire detected No flame => No fire detected Flame present => Fire detected Flame present => Fire detected Flame present => Fire detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Bitte beachten Sie, dass Sie das Potentiometer einstellen können, um die Empfindlichkeit des Sensors fein abzustimmen, falls Ihnen auffällt, dass die LED dauerhaft eingeschaltet bleibt oder ausgeschaltet ist, selbst wenn der Sensor auf eine Flamme ausgerichtet ist.

ESP8266-Code - Wert vom AO-Pin auslesen

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp8266/esp8266-flame-sensor */ #define AO_PIN A0 // The ESP8266 pin connected to AO pin of the flame sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); } void loop() { int flameValue = analogRead(AO_PIN); Serial.println(flameValue); }

Schnelle Schritte

  • Verdrahten Sie die Komponenten wie im Diagramm gezeigt.
  • Schließen Sie das ESP8266-Board über ein USB-Kabel an Ihren Computer an.
  • Öffnen Sie die Arduino-IDE auf Ihrem Computer.
  • Wählen Sie das richtige ESP8266-Board aus, zum Beispiel NodeMCU 1.0 (ESP-12E Modul), und den entsprechenden COM-Port.
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie auf die Hochladen-Schaltfläche in der Arduino IDE, um den Code auf den ESP8266 hochzuladen.
  • Richten Sie den Flammensensor auf eine Flamme aus.
  • Überprüfen Sie das Ergebnis im seriellen 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:

Dieses Tutorial verwendet die analogRead()-Funktion, um Daten von einem ADC (Analog-Digital-Wandler) zu erhalten, der an einen Sensor oder eine andere Komponente angeschlossen ist. Der ADC des ESP8266 funktioniert gut für Projekte, bei denen Sie keine sehr präzisen Messwerte benötigen. Aber denken Sie daran, der ADC des ESP8266 ist für detaillierte Messungen nicht besonders genau. Wenn Ihr Projekt sehr präzise sein muss, möchten Sie möglicherweise einen separaten ADC wie den ADS1115 mit dem ESP8266 verwenden, oder einen Arduino wie den Arduino Uno R4 WiFi verwenden, der über einen zuverlässigeren ADC verfügt.

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.

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!