MQ-x Serie Gassensoren, einfach erklärt!
von Edi · 13/11/2021
Um kostengünstig die wichtigsten Gase messen zu können, die uns im täglichen Leben begegnen, können wir die Sensoren der MQ-Serie verwenden. Die unterschiedlichen Typen können verschiedene Arten von Gasen, Aerosolen und Partikel wie Rauch detektieren.
Der Sensor besteht aus einem Heizelement und einem elektrochemischen Sensor. Der Sensor ändert seinen Widerstand in Abhängigkeit vom Vorhandensein und der Menge bestimmter Gase in der Luft. Mithilfe eines einfachen Spannungsteilernetzwerks können Gaskonzentrationen nachgewiesen werden.


Beispiel Aufbau


Beispiel Programm
Um den Sensor verwenden zu können, wir keine Library benötigt, da wir den analogen Wert, den wir vom Sensor bekommen direkt auslesen können.
Zuerst definieren wir im Code die Pins für das digitale und analoge Signal und setzen uns einen Grenzwert, bei dem wir einen Alarm ausgeben wollen. Hier im Beispiel bei 400.
Im Set-up werden die Pins als Input definiert und die Baut-rate für den Serial Monitor auf 115200 gesetzt. Um den Sensor vollständig aufheizen zu lassen, machen wir eine drei Minuten lange Pause.
In der Loop Funktion lesen wir die Werte der beiden Pins aus und schreiben die Werte in den Serial Monitor. Danach prüfen wir, ob der analoge Wert unseren Schwellwert überschritten hat, und wenn das der Fall ist, dann geben wir in den Serial Monitor den Text aus, dass der Analogwert überschritten ist.
Im Beispiel wollte ich euch vollständigkeitshalber den digitalen Pin einbinden. Dieser kann über den Poti auf einen anderen Schwellwert gestellt werden als in der Software Abfrage. Als Beispiel kann, wenn der analoge Schwellwert überschritte ist, eine Warnung ausgeben werden. Wird der Schwellwert der über das Poti eingestellt wurde überschritten, könnte ein Alarm ausgelöst werden.
const int mq2_DigitalPin = 4;
const int mq2_AnalogPin = A0;
const int sensorThres = 400;
void setup() {
Serial.begin(115200);
pinMode(mq2_DigitalPin, INPUT);
pinMode(mq2_AnalogPin, INPUT);
delay (180000); // Beim ersten Start 3 Min. warten.
}
void loop() {
int mq2_Digital = digitalRead(mq2_DigitalPin);
int mq2_Analog = analogRead(mq2_AnalogPin);
Serial.print("Analog Value: ");
Serial.print(mq2_Analog);
Serial.print("\t Digital Value: ");
Serial.println(mq2_Digital); // 0 = Kein Gas/Rauch / 1 = Gas/Rauch
if (mq2_Analog > sensorThres) {
Serial.println("Analogwert ist überschritten!");
}
delay(1000);
}
Source Code's
► MQ-x Serie Sensoren:
* https://amzn.to/3vUeJRB – 9 Stück Gaswarnsensoren MQ-2 – MQ135
* https://amzn.to/3vN2vKE – 3 x MQ-135 CO2 Gaswarnsensor
* https://amzn.to/3mgszL0 – 3 x MQ-2 Rauch-Gaswarnsensor
★☆★ Microcontroller ★☆★
►Node-MCU ESP8266 Board:
* https://amzn.to/2U7Urmn – NodeMCU ESP8266 ESP-12F
* https://amzn.to/2J5wLJ3 – 3er Set, ESP8266 ESP-12F
* https://amzn.to/3belvGd – 5er Set, ESP8266 ESP-12F
►Wemos D1 mini – ESP8266-12F Board
* https://amzn.to/38l9Syu – Wemos D1 mini ESP8266-12F
* https://amzn.to/3v56YHC – 3er Set, Wemos D1 mini ESP8266-12F
►ESP32 und ESP32 Node-MCU Boards:
* https://amzn.to/3erQVKq – ESP32 Node-MCU Board
* https://amzn.to/2Om89OW – 3er Set ESP32 Node-MCU Board
* https://amzn.to/3erIkaS – 5er Set ESP32 Node-MCU Board
* https://amzn.to/2Ct9H7c – 4 Stück ESP32 Module
►Wemos D1 mini – ESP32 Board
* https://amzn.to/3bpS5YK – Wemos D1 mini ESP32
* https://amzn.to/38iZEi2 – 3er Set, Wemos D1 mini ESP32
►Arduino:
* https://amzn.to/2WAlxEm – Arduino Starter Kit für Anfänger
* https://amzn.to/3diucRV – Arduino Uno Rev 3
* https://amzn.to/2JhJ3OR – Arduino Nano
* https://amzn.to/3a9RqaF – Arduino Mega 2560
Zum Video
★☆★ Wenn ihr den Kanal unterstützen wollt über ★☆★
oder über
