Arduino ile PIR Hareket Sensörü (HC-SR501) Kullanımı

👤 Yazar: ozcan 📅 Tarih: 19.07.2026 08:02 👁️ Görüntüleme: 6

Arduino ile PIR Hareket Sensörü (HC-SR501) Kullanımı

Projelerinize çevre güvenliği, otomatik aydınlatma veya enerji tasarrufu gibi özellikler kazandırmak istediğinizde en güvenilir çözümlerden biri HC-SR501 PIR (Pasif Kızılötesi) sensörüdür. Bu sensör, ortamdaki canlıların yaydığı kızılötesi (ısı) dalgalarındaki değişimleri analiz ederek çalışır. Mikrodalga radar sensörlerinin aksine duvarların arkasını göremez, ancak sadece kendi görüş alanındaki (yaklaşık 110 derecelik bir koni içinde) gerçek fiziksel hareketleri yakalamada son derece başarılı ve ekonomiktir.

Arduino ile PIR Hareket Sensörü (HC-SR501) bağlantı şeması

Dahili Potansiyometre ve Zaman Ayarları: HC-SR501 sensörünün arkasında iki adet küçük ayar vidası (potansiyometre) bulunur. Bunlardan biri Hassasiyet (Sensitivity) ayarıdır ve algılama mesafesini 3 ile 7 metre arasında değiştirir. Diğeri ise Zaman (Time) ayarıdır; hareket algılandıktan sonra çıkış pininin ne kadar süre boyunca YÜKSEK (5V) seviyesinde kalacağını (yaklaşık 3 saniye ile 5 dakika arası) belirler. Projenize başlamadan önce her iki vidayı da saat yönünün tersine çevirerek en düşük/en kısa süre moduna getirmeniz test işlemlerinizi kolaylaştıracaktır.

PIR Sensör Hareket Algılama ve Kontrol Kod Bloğu

PIR sensörü hareket algıladığında çıkış bacağından 3.3V (Lojik YÜKSEK) sinyal üretir. Arduino Uno bu seviyeyi dijital pinlerinden doğrudan okuyabilir. Aşağıdaki kod, sensörün durumunu sürekli kontrol ederek hareket anında seri port ekranına uyarı basar ve dahili LED'i yakar:

// PIR Sensör çıkış pininin bağlanacağı dijital bacak
const int pir_pini = 4; 
const int led_pini = 13; // Durumu gözlemlemek için Arduino üzerindeki dahili LED

// Sensörün bir önceki durumunu hafızada tutmak için değişken
int son_durum = LOW; 

void setup() {
  Serial.begin(9600);
  
  // Sensör pinini giriş, LED pinini çıkış olarak ayarlıyoruz
  pinMode(pir_pini, INPUT);
  pinMode(led_pini, OUTPUT);
  
  Serial.println("PIR Sensoru Kalibre Ediliyor... (Yaklasik 15-60 saniye bekleyin)");
  // Sensörün ortamdaki kızılötesi haritayı çıkarıp kararlı hale gelmesi için ilk açılışta süre tanıyoruz
  delay(20000); 
  Serial.println("Sistem Aktif. Hareket bekleniyor...");
}

void loop() {
  // Sensörün çıkış pinindeki dijital değeri okuyoruz (HIGH veya LOW)
  int guncel_durum = digitalRead(pir_pini);
  
  // Eğer ortamda yeni bir hareket algılandıysa (LOW'dan HIGH'a geçiş)
  if (guncel_durum == HIGH && son_durum == LOW) {
    Serial.println("UYARI: Bir hareket algilandi!");
    digitalWrite(led_pini, HIGH); // LED'i yak
    son_durum = HIGH;             // Durumu güncelle
  } 
  // Eğer hareket bittiyse ve sensör çıkışı sıfıra düştüyse (HIGH'dan LOW'a geçiş)
  else if (guncel_durum == LOW && son_durum == HIGH) {
    Serial.println("Hareket bitti, ortam sakin.");
    digitalWrite(led_pini, LOW); // LED'i söndür
    son_durum = LOW;             // Durumu güncelle
  }
  
  delay(10); // İşlemciyi yormamak için çok kısa bir döngü gecikmesi
}

HC-SR501 Jumper Modları (Tetiklenme Seçenekleri)

Sensörün köşesinde yer alan sarı renkli plastik başlık (Jumper), hareket algılama karakteristiğini tamamen değiştiren iki farklı moda sahiptir:

L Modu (Single Trigger - Tekli Tetikleme): Hareket algılandığı an çıkış HIGH olur. Zaman potansiyometresi süresince (örneğin 5 saniye) çıkış HIGH kalmaya devam eder. Bu süre içinde önünde ne kadar çok hareket olursa olsun süre uzamaz; süre bitince çıkış LOW'a düşer ve tekrar tetiklenmeyi bekler.

H Modu (Repeatable Trigger - Tekrarlanabilir Tetikleme): Sitenizdeki projelerde varsayılan olarak kullanmanızı önerdiğimiz moddur. Hareket algılandığında çıkış HIGH olur. Eğer belirlenen süre dolmadan önce sensörün önünde hareket devam ediyorsa, zamanlayıcı sürekli sıfırlanır ve çıkış kesintisiz olarak HIGH kalmaya devam eder. Hareket tamamen durduktan sonra süre saymaya başlar ve süre bitiminde LOW'a düşer.

💬 Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
↑ Sayfa Başı
📞 İletişim ✉ E-Posta Gönder 🟥 YouTube
© 2026 Yenidir.com
Yenidir CMS V0.1