Her çılgın maker'ın çalışma alanı, meraklı gözler ve kardeşleri tarafından izinsiz girişlere ve gözetlemelere karşı gelişmiş bir korumaya -yani arduino ile pır sensörü kullanımı ile korunmaya- ihtiyaç duyar. Siz de onlardan biriyseniz, muhtemelen siz de bir arduino ile Pasif kızılötesi pır hareket sensörü
HC-SR501 kullanımını artık düşünmelisiniz. PIR sensörleri, odanızda olmaması gereken bir zamanda odanızda izinsiz bulunanları tespit etmenizi sağlar. Eviniz de yokken hırsızlara karşı sizi ve emniyet birimlerini uyarmaya yarıyan alarmın çalışmasında rol oynar. Bir casus filmi gibi gözükse de, muhtemelen her gün PIR sensörlerini kullanıyorsunuz. Bu sensör çoğu modern güvenlik sisteminde, otomatik apartman ışıklarında, garaj kapılarında ve bazı elektrikli cihazların çalışması uygulamalarında sıklıkla kullanılmaktadır. Siz de hemen en ucuz fiyata
HC-SR501 Ayarlanabilir Devreli IR Hareket Algılama Sensörü PIR almak için bağlantıya tıklayabilirsiniz.
Arduino ile PIR Hareket Sensörü Nasıl Çalışır?
Bilmiyorsanız, Mutlak Sıfır'ın üzerinde bir sıcaklığa sahip tüm nesneler (0 Kelvin / -273.15 ° C), insan vücudunu da içeren kızılötesi radyasyon formunda ısı enerjisi yayar. Bir nesne ne kadar sıcak olursa yaydığı radyasyon o kadar fazladır. PIR sensörü, bu tür kızılötesi radyasyon seviyelerini tespit etmek için özel olarak tasarlanmıştır. Temel olarak iki ana bölümden oluşur: P
yro elektrik Sensör ve kızılötesi sinyalleri pyro elektrik sensöre odaklayan
Fresnel lens adı verilen özel bir lens.
Bir Pyroelektrik Sensör, aslında kızılötesi radyasyonun geçmesine izin veren bir malzemeden yapılmış iki dikdörtgen deliğe sahiptir. Bunların arkasında, biri pozitif çıkış, diğeri negatif çıkış üretmekten sorumlu iki ayrı kızılötesi sensör elektrotu bulunur. Bunun nedeni, ortam seviyelerinde değil, IR seviyelerinde bir değişiklik aramamızdır. İki elektrot birbirine bağlanır ve böylece birbirlerini iptal ederler. Bir yarısı diğerinden daha fazla veya daha az IR radyasyonu görürse, çıkış yüksek veya düşük ayarlanır.
Sensör boştayken , yani sensörün menzilinde hareket yok iken; her iki yuva da aynı miktarda kızılötesi radyasyonu algılar ve bu da sıfır çıkış sinyali verir.
Ancak bir insan veya hayvan gibi sıcak bir vücut geçtiğinde ; ilk önce PIR sensörünün bir yarısını keser, bu da iki yarı arasında pozitif bir diferansiyel değişikliğe neden olur. Sıcak gövde, algılama alanından çıktığında tersi olur ve böylece sensör negatif bir diferansiyel değişiklik oluşturur. Karşılık gelen sinyal darbesi, sensörün çıkış pimini yüksek ayarlamasıyla sonuçlanır. Alttaki görsel de hareket sensörü menziline giren bir elin önce pozitif etkiye sebep olarak artı sinyalin artmasına ve daha sonra negatif etkiye sebep olacak menzile girerek eksi sinyalin artmasına sebep olduğunu görebilirsiniz. Bu el hareketi gibi örnek bir hareket arduino ile hareket sensörü kullanımda ortamdaki hareketi algılayarak bağlı bulunduğu üniteye sinyal iletmesine sebep olur.
Arduino ile HC-SR501 PIR Hareket Sensörü Bağlantısı
Bir kişinin bölgeden ne zaman ayrıldığını veya bölgeye girdiğini veya yaklaştığını tespit etmesi gereken Arduino projelerimizin çoğu için, HC-SR501 PIR sensörleri mükemmel bir seçimdir. HC-SR501 düşük güç ve düşük maliyetli, oldukça sağlam, geniş bir lens yelpazesine sahip, ara yüzleri kolay ve maker'lar arasında sıklıkla kullanılan bir sensördür. HC-SR501 PIR sensörünün, aşağıdaki şekilde gösterildiği gibi üç çıkış pini vardır. Bunlar
VCC ,
OUT ve
GND pinleridir. Dahili bir voltaj regülatörüne sahiptir, bu nedenle 4.5v ile 12v arasında herhangi bir DC voltajı ile çalıştırılabilir, tipik olarak 5V kullanılır. Bunun dışında birkaç farklı nokta daha vardır. Onları kontrol edelim.
Board üzerinde birkaç parametrenin ayarlanması için iki potansiyometre vardır:
Sensitivity - Hassasiyet - Hareketin algılanabileceği maksimum mesafeyi ayarlar. 3 metreden yaklaşık 7 metreye kadar değişir. Odanızın yapısı, elde ettiğiniz gerçek aralığı etkileyebilir.
Time-Delay Zaman - Çıkış sinyalinin hareketi algılamasından sonra HIGH kalacağını belirler. En az 3 saniye, en fazla 300 saniye yani 5 dakika.
Son olarak anakartta bir "köprü, triger" vardır (bazı modellerde lehimlenmemiştir).
H - Beklet / Tekrarla / Yeniden Tetiklemedir. Bu konumda HC-SR501, hareketi algılamaya devam ettiği sürece HIGH sinyali vermeye devam edecektir.
L - Bu Aralıklı veya Tekrarlama Yok / Tetiklemesizdir. Bu konumda, TIME potansiyometre ayarıyla belirlenen süre boyunca çıkış HIGH olarak kalır.
HC-SR501 PIR Sensörü Ek Özellikleri
HC-SR501 devre kartında iki ek bileşen için lehim pedleri bulunur. Bunlar genellikle
RT ve
RL olarak etiketlenir. Bazı panolarda, etiketlerin bileşenlerin karşısındaki "kubbe" lensi tarafından kaplanabileceğini unutmayın ki genellikle bu şekilde üretilir ve satılır.
RT - Termistör veya sıcaklığa duyarlı direnç içindir. Buna ek olarak HC-SR501'in aşırı sıcaklıklarda kullanılmasına izin verir, ayrıca dedektörün doğruluğunu bir dereceye kadar artırır.
RL - Bu bağlantı LDR veya Fotorezistör içindir. Bu bileşenin eklenmesiyle HC-SR501, yalnızca harekete duyarlı aydınlatma sistemlerinin karanlıkta çalışmasını sağlayacaktır.
Ek parçalar doğrudan karta lehimlenebilir veya teller ve konektörler kullananılarak uzatılabilir.
HC-SR501 PIR Sensor Pinout
HC-SR501 ayarlanabilir ır hareket sensörü 3 pinli bir konnektöre sahiptir. Bağlantılar aşağıdaki gibidir:
VCC , arduino'daki 5V pinini bağladığımız HC-SR501 PIR sensörü için güç kaynağıdır.
OUT pini 3.3V TTL çıkışıdır.
LOW , hareket algılanmadığını,
HIGH , bazı hareketlerin algılandığını gösterir.
GND , Arduino Uno R3 de karşılık gelen pine bağlanmalıdır.
PIR Sensörünü bağımsız bir ünite olarak kullanmak
HC-SR501 PIR sensörü kullanımı son derece popüler olmasının nedenlerinden biri, HC-SR501'in kendi başına oldukça yetenekli, çok yönlü bir sensör olmasıdır. Arduino gibi bazı mikrokontrolcülere arabirim vererek çok yönlülüğünü daha da artırabilirsiniz. İlk deneyimizde, kendi başına ne kadar yararlı olduğunu göstermek için HC-SR501'i arduinosuz kullanacağız. Bu deneyin kablolaması çok basittir. Piller, sensörün VCC ve GND pinlerine bağlanır ve küçük bir Kırmızı LED çıkış pimine 220Ω akım sınırlayıcı bir direnç ile bağlanır. Hepsi bu kadar! Şimdi PIR hareket algıladığında, çıkış pini HIGH olacak ve LED'i yakacaktır!
Devreyi bir kez açtığınızda, PIR'ın odadaki kızılötesi enerjiye alışması için 30-60 saniye beklemeniz gerektiğini unutmayın. Bu süre zarfında LED biraz yanıp sönebilir. LED'in sönmesini bekleyin ve ardından pır sensörünün çalıştığını ve LED ışığının yandığını görmek için elinizi sallayabilirsiniz.
HC-SR501 PIR Sensörünü Arduino UNO'ya Bağlama - Kablolama
Artık PIR sensörünün nasıl çalıştığını tam olarak anladığımıza göre Arduino'muza takmaya başlayabiliriz! PIR sensörlerini bir mikrodenetleyiciye bağlamak gerçekten basittir. PIR, hareket algılandığında dijital bir sinyal gönderme işlevi görür, bu nedenle tek yapmanız gereken çıkış pininin YÜKSEK (Hareket Algılandı) veya DÜŞÜK (Algılanmadı) olarak ayarlanmasıdır (yukarıda bahsettiğimiz art ve eksi[+,-] algılama bölümleri). PIR'a 5V güç verin ve toprağı toprağa bağlayın (GND GND) ). Ardından OUT dijital pini görseldeki gibi # 2'ye bağlayın. Bunun doğru çalışması için HC-SR501'deki Jumper telini H ( Yeniden tetikleme ) konumuna ayarlamanız gerekecektir. Ayrıca TIME değerini en az 3 saniye olarak ayarlamanız gerekir, TIME potansiyometresini sonuna kadar saat yönünün tersine çevirin. Hassasiyeti istediğiniz herhangi bir yere ayarlayın, emin değilseniz orta noktaya ayarlayın. Bununla, şimdi bazı kodları yüklemeye ve PIR'in çalışmasını sağlamaya başlayabiliriz.
Arduino Kodu
Kod çok basittir ve temel olarak sadece pin # 2 girişinin HIGH veya LOW olup olmadığını izler.
int ledPin = 13 ; // choose the pin for the LED
int inputPin = 8 ; // choose the input pin (for PIR sensor)
int pirState = LOW ; // we start, assuming no motion detected
int val = 0 ; // variable for reading the pin status
void setup ( ) {
pinMode ( ledPin , OUTPUT ) ; // declare LED as output
pinMode ( inputPin , INPUT ) ; // declare sensor as input
Serial . begin ( 9600 ) ;
}
void loop ( ) {
val = digitalRead ( inputPin ) ; // read input value
if ( val == HIGH ) // check if the input is HIGH
{
digitalWrite ( ledPin , HIGH ) ; // turn LED ON
if ( pirState == LOW )
{
Serial . println ( "Hareket Algılandı!" ) ; // print on output change
pirState = HIGH ;
}
}
else
{
digitalWrite ( ledPin , LOW ) ; // turn LED OFF
if ( pirState == HIGH )
{
Serial . println ( "Hareket Yok!" ) ; // print on output change
pirState = LOW ;
}
}
}
Hareket algılandığında 16x2 lcd ekranımızda mesaj olarak göreceğiz.
Pır sensörü kullanımı ortamdaki algıladığı hareketi alarm sistemine ileterek alarmın çalışmasını sağlar. Hırsız alarmları bu şekilde çalışır.
PIR tabanlı uygulamalar tasarlamadan önce göz önünde bulundurulması gerekenler
Çoğu PIR sensöründe olduğu gibi, HC-SR501'in odadaki kızılötesi enerjiye alışması için biraz zaman gerekir. Bu, sensör ilk kez açıldığında 30 ile 60 saniye sürer. Ek olarak, sensör hareket algıladıktan sonra yaklaşık 5 - 6 saniye yenilenme süresine sahiptir. Bu süre zarfında