5.4.16 Projekt 8.2 Gefährlicher Gasalarm

1. Beschreibung

Wenn ein Gassensor eine hohe Konzentration gefährlichen Gases erkennt, ertönt der Summer und die Anzeige zeigt “gefährlich”.

2. Komponentenwissen

MQ2 Smoke Sensor: Es ist ein Überwachungsgerät für Gaslecks in Häusern und Fabriken, das sich für die Erkennung von Flüssiggas, Benzol, Alkyl, Alkohol, Wasserstoff sowie Rauch eignet. Unser Sensor hat einen digitalen Anschluss D und einen analogen Ausgang A; in diesem Projekt ist er als digitaler Sensor an D angeschlossen.

Bild51

3. Test Code

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Initialize LCD with I2C address 0x27, 16 columns and 2 rows
LiquidCrystal_I2C mylcd(0x27, 16, 2);

#define gasPin 23    // Gas sensor input pin
#define buzPin 25    // Buzzer output pin

// State flags for LCD display updates
boolean dangerDisplayed = 1;
boolean safetyDisplayed = 1;

void setup() {
  Serial.begin(9600);

  // Initialize LCD
  mylcd.init();
  mylcd.backlight();

  // Set pin modes
  pinMode(buzPin, OUTPUT);
  pinMode(gasPin, INPUT);

  // Display initial message
  mylcd.setCursor(0, 0);
  mylcd.print("safety");
}

void loop() {
  boolean gasVal = digitalRead(gasPin);  // Read gas sensor value
  Serial.println(gasVal);

  if(gasVal == 0)  // If dangerous gas detected
  {
    while(dangerDisplayed == 1)  // Update display if needed
    {
      mylcd.clear();
      mylcd.setCursor(0, 0);
      mylcd.print("dangerous");
      dangerDisplayed = 0;
      safetyDisplayed = 1;
    }

    // Sound alarm buzzer (short pulses)
    digitalWrite(buzPin, HIGH);
    delay(1);
    digitalWrite(buzPin, LOW);
    delay(1);
  }
  else  // No dangerous gas detected
  {
    digitalWrite(buzPin, LOW);  // Ensure buzzer is off

    while(safetyDisplayed == 1)  // Update display if needed
    {
      mylcd.clear();
      mylcd.setCursor(0, 0);
      mylcd.print("safety");
      dangerDisplayed = 1;
      safetyDisplayed = 0;
    }
  }
}

4. Testergebnis

Der Bildschirm zeigt im Normalzustand “safety” an. Wenn der Gassensor jedoch bestimmte gefährliche Gase, wie Kohlenmonoxid, ab einer bestimmten Konzentration erkennt, ertönt der Summer als Alarm und der Bildschirm zeigt “dangerous” an.