Maddeler sahip oldukları ısıdan dolayı insanların görebileceği ışık aralığının altında kızılötesi ışık
yayar. Normal sıcaklığındaki insan vücudu (36,5 °C) 10 mikrometre dalga boyunda ışıma yapar.
Hareket sensörü bulunduğu ortamdaki kızılötesi ışık dalgalarını içindeki özel kristal malzemeyle
(piroelektrik sensör) elektriğe dönüştürür. Ortamdaki kızılötesi ışık miktarı sabitken bir canlı ortama girdiğinde kızılötesi ışık miktarında artış olur. Hareket sensörü bu artışı algılayarak çıkış
verir. Hareket sensörünün diğer adı PIR (pasif infrared sensor-pasif kızılötesi) sensördür. PIR,
kızılötesi ışık gönderip yansımasını almadığı için pasif moddadır yani sadece ortamdaki kızılötesi ışık değişimini algılar.
Görselde yaygın olarak kullanılan HC-SR501 hareket sensörünün pin yapısı ve ayarları görülmektedir. HC-SR501 sensörü temel olarak piroelektrik sensör ve kızılötesi sinyalleri piroelektrik sensöre odaklayan fresnel lens (sensörün dışındaki plastik kısım) olmak üzere iki ana bölümden oluşur.Kartta iki potansiyometre vardır. Biri hareketin algılanabileceği en fazla mesafeyi
ayarlar. Bu mesafe 3 metre ile yaklaşık 7 metre arasında değişmektedir. Diğer potansiyometre
ise hareket algılandıktan sonra çıktının ne kadar süreyle lojik 1’de kalacağını belirler. Bu süre de
en az 3 saniye, en fazla 5 dakikadır.
Hareket sensörünün arkasında bulunan jumperla iki ayardan biri seçilir.
H: Bu konumda HC-SR501, hareketi algılamaya devam ettiği sürece lojik 1 sinyal vermeye devam
eder.
L: Bu konumda çıkış, zaman potansiyometresi ayarıyla ayarlanan süre boyunca lojik 1’de
kalacaktır.
Hareket sensörünün çıkışındaki lojik 1 seviyesi 3,3 V’tur. 3,3 V gerilim, giriş olarak ayarlanan
Arduino pininde lojik 1 seviyesi olarak algılanır çünkü Arduino’da dijital giriş olarak ayarlanmış
bir pinde 3 V üzerindeki gerilimler lojik 1 olarak algılanır.
HC-SR501’e güç verildiğinde ortamdaki kızılötesi enerjiye alışması 30 ila 60 saniye sürer. Ayrıca
sensörün bir okuma yaptıktan sonra yaklaşık 5 veya 6 saniye süren “sıfırlama” süresi vardır. Bu
süre zarfında sensör herhangi bir hareket algılamayacaktır.
HC-SR501 devre kartında iki ek bileşen için lehim yuvaları bulunur.
RT: Sıcaklığa duyarlı direnç (termistör) içindir. Termistör eklemek, HC-SR501’in istenen sıcaklıklarda kullanılmasına izin verir ve dedektörün doğruluğunu bir dereceye kadar artırır.
RL: Işığa bağımlı direnç (LDR) içindir. LDR eklendiğinde HC-SR501 yalnızca karanlıkta çalışır.


VCC: 5 V – 12 V besleme. DATA: Dijital veri çıkışı. (3,3 V) GND: Topraklama pini
Görseldeki devrede hareket sensörü, ortamda bir hareket algıladığında LED’i yakmakta ve
seri port ekranından bilgi vermektedir

const byte LED = 13, PIR = 2; void setup() { Serial.begin(115200); pinMode(LED, OUTPUT); pinMode(PIR, INPUT); } void loop() { if (digitalRead(PIR)) { //PIR çıkış veriyorsa... digitalWrite(LED, HIGH); Serial.println("Hareket algılandı.--------------------------------------------------"); } else { //PIR çıkış vermiyorsa... digitalWrite(LED, LOW); Serial.println("Hareket algılanmadı."); } }
#include <Servo.h> const byte LED = 13; const byte kesmePini = 2; Servo servo; // servo isimli nesne oluşturuldu. byte derece = 0; // Servo derecesini tutan değişken. void setup() { servo.attach(9); // Servo motor 9 numaralı PWM çıkışına bağlı. Serial.begin(115200); pinMode(LED, OUTPUT); pinMode(kesmePini, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(kesmePini), kesmeFonksiyonu, FALLING); } void loop() { //servoDonus(); // 0 -180 } void kesmeFonksiyonu() { //Kesme gerçekleştiğinde buradaki işlemleri yap. Serial.println("Canlı algılandı"); } void servoDonus(){ for (derece = 0; derece < 180; derece += 1) { // 0°'den 180°'ye birer derece git. servo.write(derece); // Servo motorun gideceği derece. delay(50); // 15 ms bekle. } for (derece = 180; derece > 0; derece -= 1) { // 180°'den 0°'ye birer derece git servo.write(derece); delay(50); // 15 x 180 = 2700 ms'de 0°'den 180°'ye tamamlar. } }
No responses yet