KY-026 Flammensensor

KY-026 Flammensensor als Arduino-Modul

Der eigentliche Sensor dieses Moduls ist eine (abgedunkelte) Fotodiode, deren Empfindlichkeit vor allem im Spektralbereich des Lichts ist, welches von Feuer erzeugt wird.
Das analoge Signal wird von dieser Fotodiode an einen Verstärker auf dem Modul weitergereicht und ausgegeben. Durch ein Trimm-Potentiometer (siehe Abb. unten) kann die Empfindlichkeit justiert werden. Zusätzlich gibt es noch einen Komparator (LM393), der den digitalen Ausgang schaltet, sobald der Wert am Sensor einen gewissen Wert überschreitet. Hierbei ist zu beachten, dass das Signal invertiert ist, d.h. je höher der gemessene Wert, desto niedriger die Spannung am Ausgang.
Der KY-026 misst also keine absoluten (°C etc.) sondern nur relative Wert und muss daher an die entsprechenden Umwelt-Gegebenheiten angepasst werden.

Trimm-Potentiometer und Komparator LM393 des KY-026-Moduls
Abb.: Trimm-Potentiometer und Komparator LM393 des KY-026-Moduls

Auf der Platine des KY-026-Moduls gibt es zwei LEDs (siehe folgende Abbildung), wobei L1 die Betriebsanzeige darstellt, d.h. sie leuchtet, solange das Modul Strom bekommt. L2 leuchtet, sobald der gemessene Wert die Empfindlichkeit erreicht hat, daher hilft es bei der Justierung mit dem Trimm-Potentiometer diese LED im Blick zu haben. Eine hohe Empfindlichkeit des Moduls ist erreicht, wenn durch Drehen des Potis im Gegenuhrzeigersinn die LED L2 gerade erlischt.

Trimm-Potentiometer LEDs des KY-026-Moduls

Verwendete Bauteile

Anschlüsse

Ausgänge des KY-026-Moduls

Sketch

#define PIN_ANALOG  A0
#define PIN_DIGITAL 3
#define PIN_LED     4

float voltage = 0.0;

void setup ()
{
    Serial.begin (9600);
    pinMode (PIN_ANALOG, INPUT);
    pinMode (PIN_DIGITAL, INPUT);
    pinMode (PIN_LED, OUTPUT);
    digitalWrite(PIN_LED, LOW);
}

void loop ()
{
    voltage = analogRead(PIN_ANALOG) * (5.0 / 1023.0);
    Serial.print("Voltage: " + String(voltage) + "V --- ");

    if (digitalRead(PIN_DIGITAL) == HIGH) {
        Serial.println("[Fire detected]");
        digitalWrite(PIN_LED, HIGH);
    } else {
        Serial.println("[No fire]");
        digitalWrite(PIN_LED, LOW);
    }

    delay (250);
}
Ausgabe auf der seriellen Konsole
Abb.: Ausgabe auf der seriellen Konsole
zurück