PIR etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
PIR etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2014-03-10

HC-SR501 Ayarlanabilir-IR Hareket Algılama Sensoru

HC-SR501 sensör daha önce kullandığım sensöre göre daha kolay bir kullanıma sahiptir. Dijital çıkışlı olan bu modül, ortamda hareket algılamadığı zaman lojik 0, hareket algılandığı zaman ise lojik 1 (3v) çıkış vermektedir. Kablo bağlantısı ise oldukça kolay. Vcc: 5v, Out : Dijital giriş pinine , Gnd: Toprak. Dezavantajı ise birden fazla sensör kullanıldığında herbiri için ayrı bir sensör pini ayırmak gerektiğidir.

Sensör modülü üzerinde Sx ve Tx olmak üzere iki adet sarı potansiyometre bulunmaktadır. Sx potansiyometresi sensörün görme mesafesini 3 ile 5 metre arasında değiştirmektedir. Tx potu ise sensör gördükten sonra ne kadar süre daha çıkış pininden lojik 1(5V) çıkışını vereceğini ayarlamaktadır. Bunlar ile oynamama gerek kalmadan fabrika ayarı gayet düzgün çalıştı.

5 nolu dijital pin'e hareket olduğu zaman alarm vermesi için küçük bir buzzer bağladım. Ses algısı LED veya serial çıkışın akışından daha kolay hissediliyor.

Özellikleri:
  • Çalışma Voltajı: 5-12V
  • Algılama Alanı: 3-5 metre
  • Algılama Açısı: 140º
  • Bekleme Süresi: 5-200 saniye
  • Ürün Boyutları: 33x25x24 mm
Kod


// (HC-SR501) PIR Sensörü için kısa program 

int PIRpini = 8; // PIR Bağalacak pin
int OkunanDeger;

void setup() {
  Serial.begin(9600);
pinMode(13, OUTPUT); //LED için Pin 13 modunu çıkış olarak belirler
}

void loop() {
  OkunanDeger = digitalRead(PIRpini); //PIR durumunu oku
  
  if (OkunanDeger == LOW) {
    Serial.println("Hareket yok"); //Değer düşük ise hareket yok yaz
    digitalWrite (13, LOW);
  }
  else {
    Serial.println("Hirsiz Var!"); //Değer yüksek ise hareket var.
    digitalWrite (13, HIGH);                
//  Ses / Cızırtı
//  tone (pin no, Hz olarak ses frekansı, ms olarak süre)
  tone(5, 100, 50); 
  delay (100);
  tone(5, 200, 100); 
  delay (100);
  tone(5, 100, 50); 
  }
  
  delay(1500); //Bir saniye bekleme
}



2014-03-07

Arduino ile HC-SR501 PIR sensörü

Arduino ile PIR denemesi

// (HC-SR501) PIR Sensörü için kısa program 

int PIRpini = 8; // Bağalacak pin
int OkunanDeger;

void setup() {
  Serial.begin(9600);
}

void loop() {
  OkunanDeger = digitalRead(PIRpini); //PIR durumunu oku
  
  if (OkunanDeger == LOW) {
    Serial.println("Hareket yok"); //Değer düşük ise hareket yok yaz
  }
  else {
    Serial.println("Hırsız Var!"); //Değer yüksek ise hareket var.
  }
  
  delay(1000); //Bir saniye bekleme
}

// http://robotic-controls.com/learn/sensors/pir-sensor-hc-sr501
// http://learn.adafruit.com/pir-passive-infrared-proximity-motion-sensor/
// http://nevit.blogspot.com.tr/search/label/Arduino

2014-02-12

Arduino PIR sensörü. Sparkfun SF-8630 PE-20

Arduino ile PIR sensör çalıştırmak çok kolay olmadı. Aslında hemen çalışması gerekirdi ancak PIR üreticisi firma Sparkfun sağolsun, Datasheet i siyah beyaz yapmış. Bu yetmezmiş gibi bağlantıda standart renkleri kullanmamış. Bana gelen pakette kırmızı + uç, siyah: toprak değil, veri olarak kullanılmış, beyaz: toprak olarak kullanılmış. Farklı farklı sayfalarda aynı ürün için farklı renkte kablolar ile pek çok tutorial var. Adamla kablolar farklı renk olabilir derken şaka yapmıyorlar. Sinyal kablosu ise doğrudan değil, pull – up direnç ile kullanılmalı. Denemedim ama, alarm pininin açık kollektör olması birden fazla PIR sensörü aynı pin'e bağlamayı olanaklı kılar.  Sonunda hiç bir parçaya hasar vermeden çalıştırdım PIR'ı. PIR'ın yönü harekete doğru bakarsa daha hasssas davranıyor. Kodu yakında paylaşacağım. Benim proje biri PIR'a yaklaşınca buzzer 100ms ötüyor. 2 saniye sonra durumu tekrar kontrol ediyor. Gördüğüm ilginç projelerden biri PIR'ı su pompasına bağlayıp, biri yaklaşınca su püskürtmeyi başlatması oldu.

 



PIR sensörü http://www.roboweb.net/rw-sf-8630.html
PIR Datasheet http://www.roboweb.net/media/downloadable/rw-sf-8630/SE-10.pdf
PIR Bildr tutorial http://bildr.org/2011/06/pir_arduino/
PIR Sparkfun sayfası https://www.sparkfun.com/products/8630
NYU'dan biraz PIR bilgisi http://itp.nyu.edu/physcomp/sensors/Reports/PIRMotionSensor
PIR'lı su pompası http://www.instructables.com/id/arduino-PIR-motion-water-gun-easy/
Arduino UNO
Bir şey görünce ötmek için bir ufak 5V Buzzer http://www.roboweb.net/bilesen/ses/rw-ml-1294.html
Biraz kablo...

Pasif İnfrared nasıl çalışıyor.

Aşağıda Santral İstanbul'da çektiğim İnfrared kamera görüntüsü var. Tüm sıcak kanlı canlılar bulundukları ortama infrared ışıma yaparlar. PIR sensörler bu ışımayı 1-2 saniye öncesi ile karşılaştırır. Ortam ışımasında değişiklik varsa hareket var sinyali verirler.

  Infrared 1080971

Bu notu ciddiye alın :) Kabloların renkleri değişebilir. Sensöre üstten bakıldığında, ortadaki kablo GND, soldaki kablo “alarm” ve sağdaki kablo ise “VCC” dir.


/*
Arduino ile PIR sensör kodu
PIR:  Sparkfun SF-8630 PE-20
http://bildr.org/2011/06/pir_arduino/
Değişiklikler:
http://nevit.blogspot.com.tr/2014/02/arduino-pir-sensor.html
Nevit Dilmen
*/

int pirPin = 0; // PIR sensör kablosu Analog 0'a bağlı

void setup(){
 Serial.begin(9600); //Debug için serial iletişimi başlat
}

void loop(){
  int pirVal = analogRead(pirPin);
//Debug amaçlı PIR değerini görmek için
//Bende hareket varken 20 civarı, yokken 1020 civarı oldu
Serial.println(pirVal); 
if (pirVal < 500) {
/*
Serial.println("Hareket var."); 
Buzzer + uç pin 8'e bağlı
200Hz ses frekansı
100ms ses süresi
*/
tone(8, 200, 100); 
}
    delay(1000); //İkinci bir hareket'e bakmadan bekleme süresi
  }