Gas-/Rauch-Sensormodul (MQ2)

../_images/02_mq2_gas_module.png

Einleitung

Der MQ-2-Sensor ist ein vielseitiger Gassensor, der eine breite Palette von Gasen wie Alkohol, Kohlenmonoxid, Wasserstoff, Isobuten, Flüssiggas, Methan, Propan und Rauch erkennen kann. Aufgrund seiner kostengünstigen und benutzerfreundlichen Eigenschaften ist er besonders bei Einsteigern beliebt.

Funktionsprinzip

Der MQ-2-Sensor basiert auf dem Prinzip der Widerstandsänderung in Gegenwart verschiedener Gase. Wenn das Zielgas mit dem erhitzten MOS-Material (Metalloxid-Halbleiter) in Kontakt kommt, finden Oxidations- oder Reduktionsreaktionen statt, die den Widerstand des MOS-Materials verändern. Es ist bemerkenswert, dass der MQ-2-Sensor mehrere Gase erkennen kann, jedoch nicht in der Lage ist, zwischen ihnen zu unterscheiden. Dies ist eine übliche Eigenschaft der meisten Gassensoren.

Der Sensor verfügt über ein integriertes Potentiometer, das es ermöglicht, die digitale Ausgangsschwelle (D0) einzustellen. Überschreitet die Gaskonzentration in der Luft einen bestimmten Schwellenwert, ändert sich der Widerstand des Sensors. Diese Widerstandsänderung wird dann in ein elektrisches Signal umgewandelt, das von einem Arduino-Board ausgelesen werden kann.

Anwendungsbeispiele

Benötigte Hardware-Komponenten

  • Arduino Uno R4 oder R3 Board * 1

  • Gas-Sensormodul (MQ2) * 1

  • Jumperkabel

Schaltungsaufbau

../_images/02_mq2_sensor_circuit.png

Programmcode



Code-Erläuterung

  1. Die erste Codezeile ist eine konstante Ganzzahldeklaration für den Sensorpin des Gassensors. Wir verwenden den analogen Pin A0, um die Ausgabe des Gassensors auszulesen.

    const int sensorPin = A0;
    
  2. In der setup()-Funktion initialisieren wir unsere serielle Kommunikation mit einer Baudrate von 9600. Dies ist notwendig, um die Messwerte des Gassensors im seriellen Monitor anzuzeigen.

    void setup() {
      Serial.begin(9600);  // Start serial communication at 9600 baud rate
    }
    
  3. In der loop()-Funktion lesen wir kontinuierlich den Analogwert des Gassensors aus und zeigen ihn im seriellen Monitor an. Wir verwenden die Funktion analogRead() zum Auslesen des Analogwerts. Anschließend warten wir 50 Millisekunden bis zur nächsten Messung. Diese Verzögerung gibt dem seriellen Monitor etwas Zeit zur Datenverarbeitung.

    void loop() {
      Serial.print("Analog output: ");
      Serial.println(analogRead(sensorPin));  // Read the analog value of the gas sensor and print it to the serial monitor
      delay(50);                             // Wait for 50 milliseconds
    }
    

Bemerkung

Der MQ2 ist ein heizgetriebener Sensor, der normalerweise vor der Verwendung eine Vorheizphase benötigt. Während dieser Vorheizphase sind die Sensormesswerte in der Regel hoch und nehmen allmählich ab, bis sie sich stabilisieren.

Weitere Ideen

  • Hinzufügen eines visuellen oder akustischen Warnsystems (mittels LEDs oder eines Buzzers), das auslöst, wenn die Gaskonzentration bestimmte Schwellenwerte überschreitet.

Weitere Projekte