HC-SR501 PIR Hareket Sensörü Arduino ile Nasıl Kullanılır?

Bu yazıda HC-SR501 PIR Hareket Sensörünü detaylı olarak inceleyecek ve Arduino ile nasıl kullanabileceğimizi öğreneceğiz.

PIR (Passive InfraRed – Pasif Kızılötesi) hareket sensörleri güvenlik amacıyla geliştiriliyor ve kullanılıyor olsa da, genel olarak otomatik olarak yanan lamba sistemlerinden biliyoruz.

PIR sensörlerinin nasıl çalıştığına kısaca değinelim. Piroelektrik adı verilen bu sensör kızılötesi ışımayı algılamak için geliştirilmiştir. Biraz fizik dersine girecek olursak, mutlak sıfırdan (0 Kelvin, yani -273.15 °C) daha sıcak nesneler etraflarına kızılötesi ışıma yayarlar, buna en doğal örnek insan bedenidir. Piroelektrik sensör de bu ışıma değişimlerini algılar.

Modülün üzerindeki lensi kaldırdığımızda RE200B kodlu piroelektrik sensör bileşenini görebiliriz.

Modül üzerinde 5 Volt’a doğrudan bağlanabilmesini sağlayan bir gerilim regülatörü bulunuyor. Ek olarak hassaslık ve zaman gecikmesini ayarlamak için iki adet potansiyometre yer alıyor.

Modülün ana bileşenlerinden biri olan BISS0001 kodlu entegre ise sensörden gelen sinyalleri işliyor ve OUT pinini potansiyometrelerle ayarlanabilen duruma göre HIGH veya LOW yapıyor.

HC-SR501’i Ayarlamak

Modülün arkasında iki adet potansiyometre ve bir adet jumper görüyoruz. Soldaki potansiyometre sensör hassasiyetini, sağdaki ise zaman gecikmesini ayarlıyor.

Hassaslık Ayarı

Bu ayar aslında bir nevi menzil ayarı anlamına geliyor. HC-SR501 sensör modülü azami 7 metreye kadar algılama yapabiliyor. Bu mesafeyi soldaki potansiyometre ile ayarlayabiliyoruz.

Potansiyometreyi saat yönüne döndürmek menzili artırırken, saat yönünün tersine döndürmek ise algılama menzilini 3 metreye kadar kısaltır.

Zaman Gecikmesi Ayarı

Bu ayar da OUT pininin ilk hareket algılanmasından sonra ne kadar süre boyunca HIGH kalacağını belirleyebilmemizi sağlıyor. En düşük olarak 3 saniye ve en yüksek olarak 300 saniye, yani 5 dakikaya ayarlanabiliyor.

Potansiyometreyi saat yönüne döndürmek gecikmeyi artırırken, saat yönünün tersine döndürmek ise gecikmeyi azaltır.

Jumper

Modül üzerinde yer alan jumper iki farklı tetikleme modundan birini seçebilmemizi sağlar. Bu modlardan ilki tekli tetiklemedir ve L olarak gösterilir. Diğer tetikleme modu ise tekrarlanan tetiklemedir ve H ile işaretlenmiştir.

Tekli tetikleme modu hareket algılandığı anda çıkışı HIGH yapar ve potansiyometre ile ayarlanan zaman boyunca HIGH kalır. Bu bekleme sürecinde hareket algılaması devam etmez.

Tekrarlanan tetikleme ise her hareketi algılar ve her yeni harekette potansiyometre ile ayarlanmış gecikme süresi sıfırlanır.

Arduino Bağlantısı

Aşağıda HC-SR501 modülünün Arduino’ya nasıl bağlandığını görüyoruz. Sensörün arkasında yer alan üçlü pinlerden ortada yer alan OUT pini Arduino’nun herhangi bir giriş/çıkış pinine bağlanabilir.

Aşağıdaki örnekte kabloların aynı yönde bulunması için A0 pinini tercih ettik. VCC pini 5V’a ve GND pini de GND’ye bağlanıyor.

Devremizi kurduğumuza göre Arduino sketch koduna geçelim. Bu kod sensörden gelen bilgiyi okuyor ve Arduino üzerindeki dahil LED’i yakıp söndürüyor. Aynı zamanda durumu Seri Port Ekranı üzerinde görüntülüyor.

Kodun en sağlıklı şekilde çalışabilmesi için tetikleme jumper’ının H modunda olması iyi olur. Zaman gecikme potansiyometresini de en düşük değere, yani olabildiğince saat yönünün tersine döndürmek denemeler yapmak için bize yardımcı olacaktır.

Bu sketch piyasada yaygın bulunan HC-SR501 sensörünü kullanıyor. Aynı kodu HC-SR505 veya AM312 sensörleri ile de kullanabiliriz. Diğer sensörlerin farkı daha küçük algılama mesafesi olması ve üzerinde hassaslık ve zaman gecikmesini ayarlamak için potansiyometreler bulunmamasıdır.

Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!

Sketch kodunu kopyalamak için pencerenin sağ üst köşesindeki butona tıklayabilir veya buraya tıklayarak ZIP dosyası olarak indirebilirsiniz.