Der IR Flammen Detektor, dient wie die Bezeichnung es erahnen lässt zum Erkennen von Flammen. Dazu nutzt der Sensor die Wellenlänge der Flamme aus.
Ich habe den IR Flammen Detektor mit einem handelsüblichen Feuerzeug getestet und dieser funktioniert nach einer kleinen “Kalibrierung” über die Stellschraube wunderbar.
Beim betrieb des Sensors unter einer LED Beleuchtung ist mir ein Flackern aufgefallen, hier sollte man beim Experimentieren aufpassen.
Bezug
Den Sensor habe ich bei Gearbest.com für 1,91 € bestellt und nach ca. 3 Wochen erhalten. Wer nicht so lange warten möchte, der kann den Flammen Sensor für 2,85 € bei Makershop.de bestellen.
Technische Daten das Flammen Detektor
- Wellenlänge 760 nm bis 1100 nm
- Betriebsspannung 3.3V bis 5V
- Abmaße 35 mm x 14 mm
Anschluss & Schaltung
Der Sensor verfügt über die 4 Pins welche wie folgt mit dem Arduino Nano verbunden werden.
Flammen Detektor | Arduino Nano |
---|---|
A0 | A0 |
G | GND |
+ | 5V |
D0 | D4 |
Flammen Detektor am ArduinoNano
Schaltung
Wenn der Sensor eine Flamme erkennt, dann leuchtet in meinem Beispiel die blaue LED auf.
Ansonsten ist die blaue LED aus.
Ich habe hier den analogen Ausgang gewählt, sicherlich hätte man auch den digitalen verwenden können.
Jedoch wird bei der Verwendung des analogen Sensorwertes, der Wertebereich “sichtbar”.
Quellcode
//LED zum anzeigen das die Flamme erkannt wurde am digitalen PIN D4 //Hier kann man gff. auf die interne LED am Pin D13 rurück greifen #define LED 4 void setup() { Serial.begin(9600); //beginn der seriellen Kommunikation pinMode(LED, OUTPUT); //LED Pin als Ausgangssignal setzen } void loop() { //Lesen des Sensorwertes //Es wird eine Zahl zwischen 0 und 1023 zurück geliefert. int sensorValue = analogRead(A0); //Wenn die Zahl größer als 100 ist dann... if(sensorValue > 100 ){ //LED ausschalten setLedStatus(LOW); } else { //andern falls //LED einschalten setLedStatus(HIGH); } //Ausgabe des Sensorwertes auf dem seriellen Ausgang. //Dieser Wert kann verwendet werden um den Sensor zu "kalibrieren". Serial.println(sensorValue); delay(125); //kleine Pause vor dem nächsten Lesevorgang. } //Funktion zum setzen des Status der LED void setLedStatus(int value){ digitalWrite(LED,value); }
Danke für diesen interessanten Blog. Lese schon seit einiger Zeit mit. Weiter so.