top of page

MQ-2 Gaz Sensörü ile Gaz Algılama Sistemi


08.03.2025


🧪 MQ-2 Gaz Algılama Sistemi

🌟 Proje Açıklaması

MQ-2 Gaz Algılama Sistemi, ortamdaki yanıcı ve zararlı gazların tespiti için geliştirilmiş temel seviye bir Arduino projesidir. Bu proje, özellikle LPG, propan, metan, alkol, hidrojen ve duman gibi gazların varlığını algılayarak, belirlenen bir eşik değerin aşılması durumunda kullanıcıyı görsel olarak uyaran bir yapıya sahiptir. Projede kullanılan MQ-2 sensörü, analog sinyal üretme yeteneği sayesinde gaz yoğunluğunu orantılı şekilde algılayabilir ve gerçek zamanlı veri sunar. Arduino ile kolayca entegre edilebilen bu sensör, hem donanım kurulumu hem de yazılım mantığı açısından başlangıç seviyesindeki kullanıcılar için oldukça öğreticidir.

Bu sistem, gaz sızıntısı gibi tehlikeli durumları erkenden fark etmek için kullanılabilir. Ayrıca proje, sensör verilerinin nasıl okunacağını, eşik değerinin nasıl işleneceğini ve uyarı mekanizmasının (örneğin LED yakma) nasıl kurulacağını öğretir. Bu yönüyle hem elektronik hem de gömülü sistem mantığını anlamak isteyen kullanıcılar için güçlü bir öğrenme kaynağıdır.

📌 Amaç:

  • Sensör Mantığını Anlama: MQ-2'nin analog sinyal çıkışını yorumlayarak gaz yoğunluğu hakkında karar verebilmeyi öğretir.

  • Tehlike Tespiti: Yanıcı gazların tehlikeli seviyelere ulaşması durumunda kullanıcıya LED uyarısı verir.

  • Gerçek Zamanlı İzleme: Seri monitör üzerinden anlık gaz değerleri okunarak ortam takibi yapılabilir.

  • Donanım-Yazılım Etkileşimi: Arduino ile fiziksel sensör kontrolü sağlanır ve veriler işlenerek sistem tepkisi üretilir.

🧠 Öğrenilen Konular:

  • MQ-2 Sensörü:MQ-2, metal oksit yarı iletken teknolojisi kullanarak gazlara karşı duyarlılık sağlar. İçerisindeki ısıtıcı bobin (heater coil) belirli bir sıcaklığa ulaşarak sensör yüzeyindeki kimyasal tepkimeleri başlatır. Gaz varlığında, sensörün direnci değişir ve bu değişim, Arduino'nun analog pininden okunabilir bir voltaj sinyali üretir. Kullanıcı, bu voltajı okuyarak ortamda gaz olup olmadığını ve yoğunluğunu belirleyebilir.

  • Arduino ile Sensör Entegrasyonu:Analog verinin analogRead() fonksiyonu ile okunması, bu verinin karşılaştırma yapılması ve belirli durumlarda dijital çıkış üretilmesi (örneğin LED yakma) temel kontrol mantığını öğretir.

  • Eşik Değeri Mantığı:Belirli bir gaz değeri aşıldığında sistemin nasıl tepki vereceğini programlamak; koşullu ifadeler, karşılaştırma operatörleri ve çıkış kontrolünü kapsar.

  • Gerçek Zamanlı İzleme:Serial Monitor üzerinden gaz değeri çıktısı alınarak sensörün nasıl tepki verdiği gözlemlenebilir. Bu da yazılımın mantığını test etmeyi ve hata ayıklamayı kolaylaştırır.

🧩 Özellikler:

  • Yanıcı Gaz Tespiti: LPG, metan, alkol, propan gibi gazları algılayabilir.

  • Analog ve Dijital Çıkış: Hem hassas veri okumak hem de eşik bazlı uyarı sistemi kurulabilir.

  • LED Uyarı Sistemi: Belirlenen eşik değeri aşıldığında LED yanarak kullanıcıyı uyarır.

  • Kolay Donanım Kurulumu: Sadece birkaç jumper kablo ile bağlanabilir.

  • Esnek Eşik Ayarı: Sensör üzerindeki trimpot ile fiziksel olarak ya da yazılım üzerinden eşik ayarlanabilir.

🔌 Donanım Gereksinimleri:

  • Arduino Uno veya uyumlu kart

  • MQ-2 Gaz Sensörü

  • 220 ohm dirençli LED

  • Jumper kablolar

  • Breadboard (opsiyonel)

💻 Yazılım Özeti:

Arduino kodu, analog pin üzerinden gaz değerini sürekli olarak okur ve bu değerin önceden belirlenen bir eşik değeri aşıp aşmadığını kontrol eder. Eğer gaz yoğunluğu tehlikeli seviyeye ulaşmışsa, sistem bir LED aracılığıyla kullanıcıya uyarı verir. Kod ayrıca anlık gaz değerlerini seri monitöre yazarak, sensör verisinin takibini kolaylaştırır.

📈 Kullanım Senaryoları:

  • Ev veya ofis ortamında basit gaz kaçağı uyarı sistemi kurulumu

  • Elektronik proje geliştirme eğitimlerinde sensör mantığı öğretimi

  • Gömülü sistemler derslerinde pratik uygulama

  • Seri port üzerinden veri toplama ve analiz etme





🔌 Devre Bağlantıları (Detaylı Açıklama)

⚠️ MQ-2 sensörü Tinkercad'de bulunmadığından devre şeması şu an eklenememektedir. Ancak çok yakında görsel devre şeması da eklenecektir. Bu süre zarfında aşağıdaki bağlantı açıklamaları ile kurulum tamamlanabilir.

🧱 Bağlantılar:

1. MQ-2 Gaz Sensörü (4 pinli tip):

MQ-2 Pin

Arduino Pin

Açıklama

VCC

5V

Sensöre enerji sağlar. Mutlaka 5V'a bağlanmalıdır.

GND

GND

Toprak bağlantısıdır. Arduino’nun GND pinine bağlanır.

AO

A0

Analog çıkış pinidir. Bu pin gaz yoğunluğuna göre değişen voltaj üretir. A0 pinine bağlanır.

DO (isteğe bağlı)

Bağlanmaz

Dijital çıkış genellikle kullanılmaz; analog değerle çalışılır.

MQ-2’nin AO (Analog Out) pini esas sensör verisini üretir. Bu projede yalnızca AO kullanılır, DO gerekmez.

2. LED ve Direnç:

Bileşen

Arduino Pin

Açıklama

LED (anot / uzun bacak)

13 (veya başka dijital pin)

LED'in + bacağı dijital pine bağlanır.

LED (katot / kısa bacak)

Direncin bir ucuna

GND’ye gider.

220Ω Direnç

Diğer ucu GND’ye

LED’in yanmasını sınırlandırmak için kullanılır.

LED, sensör belirli bir değeri geçtiğinde yanacak şekilde yapılandırılmıştır. Direnç olmadan bağlanması LED'e zarar verebilir.

🔁 Bağlantı Özeti:

  • MQ-2 VCC → Arduino 5V

  • MQ-2 GND → Arduino GND

  • MQ-2 AO  → Arduino A0

  • LED Anot → Arduino 13

  • LED Katot → 220Ω Direnç → GND

📌 Not: Projenin görsel devre şeması (breadboard yerleşimiyle birlikte) yakında eklenecektir. Şu an için yukarıdaki yazılı şema, kurulumu doğru bir şekilde gerçekleştirebilmeniz için fazlasıyla yeterlidir.









// MQ-2 sensörünün analog çıkışını bağladığımız pin
int gazPin = A0; 

// Uyarı LED'inin bağlı olduğu dijital pin
int ledPin = 13;

// Gaz yoğunluğunun kaç seviyesinden sonra uyarı verileceğini belirleyen eşik değeri
int esikDeger = 400;

void setup() {
  // LED pini çıkış olarak ayarlandı
  pinMode(ledPin, OUTPUT);

  // Seri haberleşmeyi başlatıyoruz (Serial Monitor için)
  Serial.begin(9600);
}

void loop() {
  // MQ-2 sensöründen analog değeri okuyoruz (0-1023 arası)
  int gazDegeri = analogRead(gazPin);

  // Okunan gaz değeri Serial Monitör'e yazdırılır
  Serial.print("Gaz Degeri: ");
  Serial.println(gazDegeri);

  // Gaz değeri eşik değerden büyükse LED yanar, değilse söner
  if (gazDegeri > esikDeger) {
    digitalWrite(ledPin, HIGH);  // Tehlike: LED yanar
  } else {
    digitalWrite(ledPin, LOW);   // Normal: LED söner
  }

  // Sistemin biraz beklemesi sağlanır (100 ms)
  delay(100);
}




Project Gallery

bottom of page