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
  }


Hiç yorum yok: