Flammen-Sensormodul

../_images/03_flame_module.jpg

Einleitung

Das Flammen-Sensormodul ist in der Lage, die Anwesenheit von Feuer oder Flammen zu detektieren. Es erkennt Brände hauptsächlich durch die Erfassung der von Flammen oder Feuer emittierten Infrarotstrahlung. Es wird weitgehend in Brandmeldesystemen in Privathaushalten und in der Industrie verwendet.

Funktionsprinzip

Das Flammen-Sensormodul arbeitet auf Basis der Infrarotdetektion. Der Sensor besitzt einen IR-Empfänger, der die von den Flammen emittierte Infrarotstrahlung erkennt. Wenn Feuer brennt, emittiert es eine geringe Menge an infrarotem Licht, das von der Fotodiode (IR-Empfänger) auf dem Sensor empfangen wird. Mittels eines Operationsverstärkers wird dann die Spannungsänderung am IR-Empfänger überprüft, sodass bei erkanntem Feuer der Ausgangspin (DO) 0V (LOW) liefert und bei Nichterkennung 5V (HIGH).

Anwendungsbeispiele

Benötigte Hardware-Komponenten

  • Arduino Uno R4 oder R3 Board * 1

  • Flammen-Sensormodul * 1

  • Jumperkabel

Schaltungsaufbau

../_images/03_flame_module_circuit.png

Programmcode



Code-Erläuterung

  1. Die erste Codezeile definiert eine Konstante für den Pin des Flammen-Sensors. Hier verwenden wir den digitalen Pin 7, um die Ausgabe vom Flammen-Sensor zu lesen.

    const int sensorPin = 7;
    
  2. Die setup() Funktion initialisiert den Pin des Flammen-Sensors als Eingang und den eingebauten LED-Pin als Ausgang. Zudem wird die serielle Kommunikation mit einer Baudrate von 9600 für die Ausgabe von Nachrichten im seriellen Monitor gestartet.

    void setup() {
      pinMode(sensorPin, INPUT);     // Set the flame sensor pin as input
      pinMode(LED_BUILTIN, OUTPUT);  // Set the built-in LED pin as output
      Serial.begin(9600);            // Initialize the serial monitor at a baud rate of 9600
    }
    
  3. In der loop() Funktion wird kontinuierlich der Status des Flammen-Sensors überprüft. Erkennt der Sensor eine Flamme, wird die integrierte LED eingeschaltet und eine Nachricht im seriellen Monitor ausgegeben. Wird keine Flamme erkannt, wird die LED ausgeschaltet und eine andere Nachricht ausgegeben. Der Vorgang wiederholt sich alle 100 Millisekunden.

    void loop() {
      // Check if the sensor is detecting a fire
      if (digitalRead(sensorPin) == 0) {
        digitalWrite(LED_BUILTIN, HIGH);  // Turn on the built-in LED
        Serial.println("** Fire detected!!! **");
      } else {
        digitalWrite(LED_BUILTIN, LOW);  // Turn off the built-in LED
        Serial.println("No Fire detected");
      }
      delay(100);
    }
    

Weitere Ideen

  • Den Code so modifizieren, dass ein Summer oder Alarm ausgelöst wird, wenn eine Flamme erkannt wird.

  • Zusätzlich zum Flammen-Sensor einen Rauchsensor integrieren, um die Branderkennung zu verbessern.

  • Den analogen Ausgang anstelle des einfachen digitalen HIGH/LOW verwenden. Dazu den AO Pin verwenden.

Weitere Projekte