Mekatronik Mühendisliği Forum


Arduino – PIR Sensör Kullanımı
Değerlendir:
  • 0 Oy - 0 Yüzde
  • 1
  • 2
  • 3
  • 4
  • 5


Konu: 91
Mesaj: 302
Cinsiyet: Erkek
Kıdem: Aug 2013

Merhabalar...

Hareket algıladığında dijital çıkış veren PIR Sensörü uygulaması yapacağız. Amacımız hareket algılandığında çıkış olarak led yakılması.
PIR SENSÖRÜ NEDİR ?

Orjinal ismi Passive InfraRed Sensor  yani Pasif Kızılötesi Sensör olan bu ekipman objelerden yayılan kızılaltı (IR) ışın değişimini tespit etmek için bir Fresnel lens ve IR’ye duyarlı sensör yardımıyla, 6 metreye kadar mesafedeki hareketleri algılayabilir; ucuzdur, kullanımı kolaydır; alarm sistemleri, hareketle aktif olan ışıklar gibi uygulamalar için idealdir.

Linki görebilmek için giriş yapmanız ya da üye olmanız gerekir.

Sensörün başlığını açarsak üzerinde bulunan 3 bacağın ne ile alakalı bacaklar olduğunu görebiliriz.



Üstten baktığımızda en soldaki pin TOPRAK, en sağdaki pin +VCC, ortadaki pin de DATA çıkışıdır.Hareket varken DATA çıkışı '1', yokken '0' olmaktadır.







Linki görebilmek için giriş yapmanız ya da üye olmanız gerekir.

PIR sensörleri bir mikrodenetleyiciye bağlı olmadan kendi başlarına çalışabilen elemanlardır. Bu sayede satın aldığımız PIR sensörünü önce kendimiz test edebiliriz. Sensörümüze verdiğimiz besleme ile DATA çıkışının ucuna bir LED bağlayarak çalışıp çalışmadığına bakabiliriz. Sensörün arkasında 2 adet trimer var ve bu test aşamasında trimerlerin değerlerini küçük bir tornavida ile değiştirerek istenilen hassasiyete ve  DATA çıkışının istenilen zaman kadar '1' olmasını sağlayabiliriz.



Uygulamamızın kodlarına bakacak olursak...







int pirPin = 3; // PIR pin

int ledPin = 4;   // LED pin

int deger = 0;             



void setup() {

  pinMode(pirPin, INPUT);     // PIR Pin'i giriş yapılıyor

  pinMode(ledPin, OUTPUT);   // LED Pin'i çıkış yapılıyor

  Serial.begin(9600);           //Serial Porttan veri göndermek için baundrate ayarlanıyor.

}



void loop(){

  deger = digitalRead(pirPin);  // Dijital pin okunuyor

  Serial.println(deger);          // Okunan değer seri porttan okunuyor.

  if (deger == HIGH) {            

    digitalWrite(ledPin, HIGH);  

  }

  else{

    digitalWrite(ledPin,LOW);   // Eğer okunan değer 0 ise LED söndürülüyor.

  }



}




Programımızı bu şekilde bırakırsak trimerlerin  ayarlarına bağlı olarak çalışır sensörümüz. Bu haliyle bırakırsak Arduino kullanmamızın bir mantığı olmaz. O yüzden sizler "digitalWrite (ledPin,HIGH)" olan kısmın altına "delay(istenilen zaman)" kodunu ekleyerek hareket algılandıktan sonra ledin 1 olma süresini kendiniz ayarlayabilirsiniz.



not alıntıdır..
[Resim: 80952.gif]

[Resim: edolek.png]
C.Ü MeKaTRoNiK~

Cevapla
Teşekkür Edenler
.


Benzeyen Konular
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Sensör Nedir? Emre Dölek 0 646 06-11-2015, 19:37 PM
Son Mesaj: Emre Dölek

Foruma atla:


Konuyu görüntüleyenler: 1 Misafir

Türkçe Çeviri : MyBB Türkiye
MyBB, © 2002-2017 MyBB Group.