arkadaşlar merhaba bu uygulamamızda MQ-2 gaz ve duman sensörü ile bir uygulama yapıp duman algılaması durumunda buzzer ile alarm ı çalıştıracağız
öncelikle bağlantı şemamıza bakarak bağlantımızı yapalım

// ====================================================================================
// Proje Adı: Şemaya Özel MQ Gaz Sensörü ve Pasif/Aktif Buzzer Alarm Sistemi
// Açıklama: Bu kod, paylaşılan Fritzing şemasına göre (Buzzer: Pin 3, Sensör: A0) hazırlanmıştır.
// ====================================================================================
const int gazPin = A0; // Sabit tam sayı: Şemadaki kahverengi kablo ile MQ sensörünün AO pini Arduino A0'a bağlı.
const int buzzerPin = 3; // Sabit tam sayı: Şemadaki yeşil kablo ile buzzer (direnç üzerinden) Dijital 3 numaralı pine bağlı.
int sensorDegeri = 0; // Tam sayı değişkeni: Sensörden okunan 0-1023 arasındaki veriyi bu değişkende tutacağız.
int esikDegeri = 400; // Tam sayı değişkeni: Alarmın çalmaya başlayacağı sınır gaz seviyesidir. Sınıfa göre değiştirebilirsiniz.
void setup() {
Serial.begin(9600); // Bilgisayar ekranındaki Seri Port Monitörü ile 9600 Baud hızında haberleşmeyi başlatır.
pinMode(buzzerPin, OUTPUT); // Dijital 3 pinini (buzzerPin) çıkış olarak ayarlıyoruz. Arduino bu pinden ses sinyali gönderecek.
Serial.println("Sistem baslatiliyor... Sensorun isinmasi icin bekleyin."); // Seri ekrana bilgi yazdırır.
delay(2000); // İlk açılışta sistemin kararlı hale gelmesi için 2 saniye bekler.
}
void loop() {
sensorDegeri = analogRead(gazPin); // A0 pinindeki analog gaz seviyesini okur ve sensorDegeri değişkenine kaydeder.
Serial.print("Gaz Seviyesi: "); // Ekrana yan yana yazılacak şekilde "Gaz Seviyesi: " yazar.
Serial.println(sensorDegeri); // Okunan güncel sayısal değeri yanına ekler ve alt satıra geçer.
// KOŞUL KONTROLÜ: Gaz seviyesi belirlenen eşik değerini (400) aştı mı?
if (sensorDegeri > esikDegeri) {
Serial.println("!! TEHLIKE ! Gaz Algilandi - Alarm Aktif !"); // Sınır aşıldıysa ekrana tehlike uyarısı yazar.
digitalWrite(buzzerPin, HIGH); // 3 numaralı pine elektrik (5V) göndererek buzzerı öttürür.
}
// KOŞULUN SAĞLANMADIĞI DURUM: Ortam güvenliyse (Gaz seviyesi 400 veya altındaysa)
else {
digitalWrite(buzzerPin, LOW); // 3 numaralı pinin elektriğini keser (0V) ve buzzerı susturur.
}
delay(300); // Arduino'yu yormamak için 0.3 saniye bekler ve döngüyü en baştan tekrar başlatır.
}
Direnç Seçenekleri ve Renk Kodları
| Direnç Değeri | Renk Sıralaması | Öneri Durumu |
|---|---|---|
| 220 Ohm (220 Ω) | Kırmızı – Kırmızı – Kahverengi | En İdeal Seçenek (Hem sesi net çıkarır hem pini korur) |
| 330 Ohm (330 Ω) | Turuncu – Turuncu – Kahverengi | Alternatif (Buzzer sesinin biraz daha az çıkmasını sağlar) |
| 100 Ohm (100 Ω) | Kahverengi – Siyah – Kahverengi | Alternatif (Buzzer sesinin çok gür çıkmasını sağlar) |
burada buzzer kullanırken 220 ohm direnç kullandık peki neden kullandık ??
Arduino’nun dijital pinlerinden çıkan akım, bazen küçük buzzer parçalarına fazla gelebilir. Şemadaki yeşil kabloya bağladığımız 220 Ohm direnç, devredeki fazla akımı sınırlayarak hem Arduino UNO kartımızın pinini korur hem de buzzerın ömrünü uzatır. Eğer elinizde bu direnç yoksa, aktif buzzerlar doğrudan 5V ile de çalışabildiği için yeşil kabloyu doğrudan buzzerın (+) bacağına da bağlayabilirsiniz; ancak direnç kullanmak her zaman daha güvenli bir elektronik alışkanlığıdır.
