manşet

ARDUİNO İLE HC-SR501 KIZILÖTESİ HAREKET SENSÖRÜ KULLANIMI

 Bu yazımızda HC-SR501 kızılötesi hareket sensöründen bahsedeceğiz. Ayrıca daha sonra Arduino ile beraber HC-SR501 kızılötesi hareket sensörünü kullanarak küçük bir uygulama yapacağız.

   HC-SR501 kızılötesi hareket sensörleri  bir ortamda oluşan canlı hareketini algılamak için kullanılan sensörlerdir. Düşük maliyetli, düşük güç tüketimli ve kullanılması kolay bir sensördür. Herhangi bir mikrodenetleyiciye bağlı olmadan kendi başlarına çalışabilecekleri gibi  Arduino başta olmak üzere bir çok mikrodenetleyeci platformu ile beraber kullanılabilirdirler.

  PIR ( Passive InfraRed Sensor ) sensörleri 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. Dijital çıkışlı olan bu modül, ortamda hareket algılamadığı zaman lojik 0, hareket algıladığı zaman ise lojik 1 çıkışı vermektedir.

  Sensör üzerinde Sx ve Tx olmak üzere iki adet potansiyometre bulunmaktadır. Sx potansiyometresi (hassasiyet) sensörün görme mesafesini 3 ile 5 metre arasında değiştirmektedir. Tx potu (gecikme) ise sensör gördükten sonra ne kadar süre daha çıkış pininden lojik 1(3.3V) çıkışını vereceğini ayarlamaktadır.

    
  
 Sensörümüzün üzerinde üç adet pin yer almaktadır. Bu pinlere üstten baktığımızda en soldaki pin GND (toprak), en sağdaki pin +VCC, ortadaki pin de DATA çıkışıdır. Hareket varken DATA çıkışı '1', yokken '0' olmaktadır. HC-SR501 kızılötesi hareket sensörü hakkında yeterli bilgiyi edindiğimize göre uygulamamıza geçebiliriz.

 Uygulamamız için gerekli malzemeler :
. 1 adet Arduino Uno
. 1 adet HC-SR501 kızılötesi hareket sensörü
. Breadboard
. 1 adet led
. 1 adet 220 ohm direnç
. 3 adet dişi-erkek jumper kablo
. 2 adet erkek-erkek jumper kablo



   Şekildeki gibi devremizin bağlantılarını oluşturduktan sonra kodlama işlemine geçebiliriz. Arduinomuzu bilgisayarımıza bağladıktan sonra uygulamamıza ait kodları derleyip, yüklüyoruz.

 UYGULAMANIN KODLARI

int hareket;
void setup() {
pinMode(2, INPUT);
pinMode(3, OUTPUT);
Serial.begin(9600);
}
void loop() {
hareket=digitalRead(2);
Serial.println(hareket);
if (hareket == HIGH){
  digitalWrite(3, 1);
}
else{
  digitalWrite(3, 0);
}
}
 
  
                                          

2 yorum: