Arduino Uygulama Serisi

Proje: Deprem Sensörü (Sarsıntı Avcısı)

Proje Adı: Sarsıntı Avcısı

Alan: Bilişim Teknolojileri ve Yazılım / Doğal Afetler ve Afet Yönetimi

Yöntem: Bu tasarım projesinde, Arduino Uno mikrodenetleyici platformu temel alınmıştır. Sarsıntıyı algılamak için bir titreşim (tilt) sensörü kullanılmış; uyarı mekanizması olarak bir adet buzzer ve bir adet kırmızı LED sisteme entegre edilmiştir. Hazırlanan Arduino kodu, sensörden gelen veriyi sürekli tarar. Bir sarsıntı algılandığında (sensör pini LOW konumuna geçtiğinde), sistem 3 saniye boyunca kesikli sesli ve ışıklı alarm vererek çevresindekileri uyarır.


Problem: Depremler ülkemizin bir gerçeğidir. Deprem anında, özellikle gece uykusunda sarsıntıyı en hızlı şekilde fark edip güvenli bir alana geçmek hayat kurtarıcıdır.

Amaç: Basit, ekonomik ve erişilebilir malzemelerle bir deprem erken uyarı sistemi prototipi geliştirmek; sarsıntıyı anında sesli ve ışıklı bir uyarıya dönüştürerek farkındalık oluşturmak

Uygulama: Arduino IDE üzerinden yazılan algoritmada digitalRead komutu ile sensör verisi okunmuş, while döngüsü kullanılarak 3000 milisaniye (3 saniye) boyunca tone (ses) ve HIGH (ışık) komutları aktif edilmiştir.

Kullanılan Malzemeler: Arduino Uno, Titreşim Sensörü, Buzzer, LED, Direnç, Breadboard, Jumper Kablolar ve Maket Ev.

Sonuç:
Yapılan testlerde, maket ev üzerinde oluşturulan en küçük sarsıntılarda dahi sensörün başarıyla tetiklendiği ve alarmın devreye girdiği gözlemlenmiştir.

Öneri: Bu sistem geliştirilerek evlerdeki elektrik veya doğalgaz hatlarını sarsıntı anında otomatik kesen daha gelişmiş güvenlik sistemlerine dönüştürülebilir.

 

 








Proje Kodları: 

// PIN TANIMLAMALARI
int sensorPin = 2;   // Titreşim sensörünün bağlı olduğu sinyal pini
int buzzerPin = 8;   // Ses çıkışı veren buzzer'ın bağlı olduğu pin
int ledPin = 7;      // Uyarı ışığı veren LED'in bağlı olduğu pin

void setup() {
  // Pinlerin giriş mi yoksa çıkış mı olacağını Arduino'ya bildiriyoruz
  pinMode(sensorPin, INPUT);   // Sensörden veri alacağımız için GİRİŞ
  pinMode(buzzerPin, OUTPUT);  // Buzzer'a sinyal göndereceğimiz için ÇIKIŞ
  pinMode(ledPin, OUTPUT);     // LED'e sinyal göndereceğimiz için ÇIKIŞ
}

void loop() {
  // Sensörden gelen veriyi oku. Sarsıntı olduğunda genellikle LOW (0) sinyali gelir.
  if (digitalRead(sensorPin) == LOW) { 
    
    // Milis (milisaniye) cinsinden zamanı kaydet. 3 saniyelik sayaç burada başlıyor.
    unsigned long baslangic = millis(); 
    
    // Şimdiki zaman ile başlangıç zamanı farkı 3000ms (3 saniye) olana kadar bu döngüden çıkma
    while (millis() - baslangic < 3000) { 
      
      digitalWrite(ledPin, HIGH);   // LED'i yak
      tone(buzzerPin, 2500);        // Buzzer'dan 2500Hz frekansında ses çıkar
      delay(100);                   // 0.1 saniye bu şekilde bekle (Kısa ötüş/yanış)
      
      digitalWrite(ledPin, LOW);    // LED'i söndür
      noTone(buzzerPin);            // Buzzer'ın sesini kes
      delay(100);                   // 0.1 saniye bu şekilde bekle (Kısa susuş)
    }
    
    // 3 saniyelik alarm bittiğinde sistemin hemen tekrar tetiklenmemesi için 
    // 1 saniyelik bir güvenlik beklemesi yap.
    delay(1000); 
  }
}


Tinkercad:



Fritzing:


Proje Ana Giderleri: