Arduino-Code und Video: Flammensensor-Modul für Arduino
In diesem Tutorial zeigen wir, wie man ein Flammensensor-Modul mit einem Arduino verwendet. Der Flammensensor erkennt das Vorhandensein einer Flamme und kann dann einen Alarm oder eine Anzeige auslösen. Am Ende dieses Projekts haben Sie ein funktionierendes System, das auf Flammenerkennung mit einem akustischen Alarm und visueller Rückmeldung reagiert.


Das Flammensensormodul arbeitet mit einer Infrarot-LED, um Flammen zu erkennen. Wenn eine Flamme erkannt wird, gibt das Modul ein Signal aus, das zum Aktivieren anderer Bauteile wie einen Summer oder eine LED verwendet werden kann. Dieses Projekt umfasst das Anschließen des Flammensensors an den Arduino und das Schreiben eines einfachen Programms zur Verarbeitung von Ein- und Ausgangssignalen.
Für ein klareres Verständnis des Codes und der Verkabelung empfehle ich Ihnen, das zugehörige Video anzusehen (im Video bei 00:00).
Hardware erklärt
Die Hauptkomponenten dieses Projekts umfassen das Flammensensor-Modul, ein Arduino-Board und einen Summer oder eine LED zur Alarmierung. Der Flammensensor hat vier Pins: einen digitalen Ausgangspin (DO), einen analogen Ausgangspin (AO), einen Versorgungspin (VCC) und einen Massepin (GND). Der digitale Ausgangspin sendet ein HIGH-Signal, wenn eine Flamme erkannt wird, während der analoge Ausgang je nach Intensität der Flamme unterschiedliche Werte liefert.
Der Arduino liest den digitalen Ausgang, um festzustellen, ob eine Flamme vorhanden ist. Erkennt der Sensor eine Flamme, kann der Arduino über einen Ausgangspin einen Alarm oder ein Licht aktivieren. Die Empfindlichkeit der Flammenerkennung lässt sich mit einem eingebauten Potentiometer am Modul einstellen.
Details zum Datenblatt
| Hersteller | Generisch |
|---|---|
| Teilenummer | LM393 |
| Logik-/E/A-Spannung | 5 V |
| Versorgungsspannung | 2-36 V |
| Ausgangsstrom (pro Kanal) | 20 mA |
| Spitzenstrom (pro Kanal) | 50 mA |
| Leitfaden zur PWM-Frequenz | Nicht zutreffend |
| Eingangslogik-Schwellenwerte | 0.8 V (niedrig), 2.0 V (hoch) |
| Spannungsabfall / RDS(on)/ Sättigung | 0,2 V |
| Thermische Grenzwerte | 125 °C |
| Paket | TO-220 |
| Notizen / Varianten | Einstellbare Empfindlichkeit |
- Stellen Sie eine ordnungsgemäße Spannungsversorgung von 2 bis 36 V für das Modul sicher.
- Halten Sie die Infrarot‑LED des Sensors frei von Hindernissen für eine optimale Flammenerkennung.
- Verwenden Sie einen Kühlkörper, wenn das Modul nahe seinen Spitzenstromgrenzen betrieben wird.
- Achten Sie bei der Verkabelung darauf, Kurzschlüsse oder falsche/fehlerhafte Verbindungen zu vermeiden.
- Stellen Sie die Empfindlichkeit mit dem an Bord befindlichen Potentiometer für verschiedene Anwendungen ein.
- Überprüfen Sie, ob der Alarmausgang die angeschlossene Last (Summer/LED) bewältigen kann.
Verdrahtungsanleitung


Um das Flammensensormodul mit dem Arduino zu verdrahten, beginnen Sie damit, den VCC-Pin des Flammensensors mit dem 5V-Pin am Arduino zu verbinden. Verbinden Sie dann den GND-Pin des Sensors mit einem der GND-Pins am Arduino. Der digitale Ausgangspin (DO) des Flammensensors sollte mit dem digitalen Pin 2 am Arduino verbunden werden, den wir alsFLAMEIm Code. Schließen Sie schließlich ein Alarmgerät, wie etwa einen Summer, an den digitalen Pin 8 am Arduino an, im Code bezeichnet alsALARM.
Stellen Sie sicher, dass alle Verbindungen fest sitzen, da lose Verbindungen zu inkonsistentem Verhalten führen können. Wenn Sie den analogen Ausgang verwenden möchten, verbinden Sie den analogen Ausgangspin (AO) mit einem analogen Pin am Arduino, z. B. A0; dies ist jedoch für die grundlegende Funktionalität optional. Im Video werden auch alternative Verdrahtungsmethoden besprochen (bei 02:30).
Codebeispiele und Schritt-für-Schritt-Anleitung
Der folgende Codeausschnitt initialisiert den Flammensensor und richtet den seriellen Monitor ein:
#define FLAME 2 // connect DO pin of sensor to this pin
#define ALARM 8 // pin 8 for Alarm
void setup() {
Serial.begin(9600);
Serial.println("Robojax.com Fire Module Test");
pinMode(FLAME, INPUT); // define FLAME input pin
pinMode(ALARM, OUTPUT); // define ALARM output pin
}Hier definieren wir die Pins für den Flammensensor und den Alarm und initialisieren die serielle Kommunikation bei 9600 baud. Dadurch können wir Meldungen zum Debugging im seriellen Monitor ausgeben.
Als Nächstes lesen wir den Flammensensor in der Hauptschleife aus:
void loop() {
int fire = digitalRead(FLAME); // read FLAME sensor
if(fire == HIGH) {
digitalWrite(ALARM, HIGH); // set the buzzer ON
Serial.println("Fire! Fire!");
} else {
digitalWrite(ALARM, LOW); // Set the buzzer OFF
Serial.println("Peace");
}
delay(200);
}Dieser Teil des Codes überprüft den Zustand des Flammensensors. Wenn er eine Flamme erkennt (HIGH), aktiviert er den Alarm und schreibt Fire! Fire! auf den seriellen Monitor. Wenn keine Flamme vorhanden ist (LOW), schaltet er den Alarm aus und schreibt Peace. Die Schleife enthält eine Verzögerung von 200 Millisekunden, die angepasst werden kann, um die Empfindlichkeit der Erkennung zu ändern.
Demonstration / Was Sie erwartet
Wenn das System eingeschaltet wird, zeigt der serielle Monitor "Robojax.com Fire Module Test" gefolgt von "Peace" an, bis eine Flamme erkannt wird. Sobald eine Flamme erkannt wird, ertönt der Summer und die LED leuchtet, was auf einen Brandzustand hinweist. Sie können die Empfindlichkeit des Sensors testen, indem Sie das Potentiometer auf dem Modul einstellen. Seien Sie vorsichtig bei Fehlalarmen, etwa durch Infrarotsignale von Fernbedienungen (im Video bei 04:15).
Video-Zeitmarken
- 00:00- Einführung in das Flammensensor-Modul
- 02:30- Verdrahtungsanleitung
- 04:15- Demonstration der Flammenerkennung
Ressourcen & Referenzen
-
ExternLM393-Datenblatt (PDF)ti.com
Dateien📁
Keine Dateien verfügbar.