HC-SR501, çevresindeki kızılötesi radyasyon değişikliklerini ölçerek hareketi tespit eden popüler bir pasif kızılötesi (PIR) hareket sensörü modülüdür. Hareketle etkinleştirilen aydınlatma, güvenlik sistemleri ve IoT projelerinde yaygın olarak kullanılır. Bu öğretici, HC-SR501'i Arduino ile kurarak ve kullanarak size rehberlik edecektir.
Ne İhtiyacınız Olacak
- HC-SR501 PIR hareket sensörü modülü
- Arduino Kurulu (örn. UNO, Mega, Nano)
- Breadboard ve jumper telleri
- Arduino IDE kurulu bir bilgisayar
1. Adım: HC-SR501 sensörünü anlamak
HC-SR501 modülü ayarlanabilir hassasiyete ve gecikme zaman ayarlarına sahiptir, bu da çeşitli hareket algılama uygulamaları için çok yönlü hale getirir. 5V güç üzerinde çalışır ve hareket tespit edildiğinde yüksek bir sinyal çıkarır.
HC-SR501 Pinout
Pin | İşlev |
---|---|
VCC | Güç kaynağı (5V) |
DIŞARI | Dijital çıkış sinyali |
Gnd | Zemin |
Ayarlanabilir ayarlar
- Duyarlılık: Algılama aralığını ayarlayın (~ 7 metreye kadar).
- Gecikme Süresi: Hareket algılandıktan sonra yüksek sinyalin süresini ayarlayın (yaklaşık 5 saniye ila 5 dakika).
Adım 2: HC-SR501'in Arduino'ya bağlanması
HC-SR501'i bir Arduino Uno'ya nasıl bağlayacağınız aşağıda açıklanmıştır:
HC-SR501 pimi | Arduino pimi |
---|---|
VCC | 5V |
DIŞARI | Pim 2 |
Gnd | Gnd |
Adım 3: Kodu yükleyin
İşte hareket algılamasını izlemek ve seri monitördeki durumu görüntülemek için örnek bir taslak:
const int pirPin = 2; // Connect HC-SR501 OUT to pin 2
void setup() {
pinMode(pirPin, INPUT);
Serial.begin(9600);
Serial.println("HC-SR501 PIR Motion Sensor Test");
}
void loop() {
int motionStatus = digitalRead(pirPin); // Read the sensor output
if (motionStatus == HIGH) {
Serial.println("Motion detected!");
} else {
Serial.println("No motion detected.");
}
delay(500); // Update every 500ms
}
4. Adım: Kurulumu test edin
- Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
- Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
- Kodu tıklayarak yükleyin Yüklemek.
- Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın
9600
. - Sensörün aralığı içinde hareket edin ve seri monitörde basılan hareket durumunu gözlemleyin.
İsteğe bağlı: Bir LED'i hareketle kontrol etmek
Hareket algılandığında bir LED'i açmak için kodu değiştirebilirsiniz:
LED'i kablolama
LED PIN | Arduino pimi |
---|---|
Anot (+) | Pin 13 |
Katot (-) | Gnd |
Değiştirilmiş kod
const int pirPin = 2; // Connect HC-SR501 OUT to pin 2
const int ledPin = 13; // Connect LED to pin 13
void setup() {
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
Serial.println("HC-SR501 PIR Motion Sensor Test");
}
void loop() {
int motionStatus = digitalRead(pirPin); // Read the sensor output
if (motionStatus == HIGH) {
digitalWrite(ledPin, HIGH); // Turn on LED
Serial.println("Motion detected!");
} else {
digitalWrite(ledPin, LOW); // Turn off LED
Serial.println("No motion detected.");
}
delay(500); // Update every 500ms
}
HC-SR501 uygulamaları
- Hareketle aktifleştirilen aydınlatma
- Davetsiz misafir alarmları
- Akıllı ev otomasyonu
- Yakınlık tetiklenen IoT cihazları
Sorun giderme
- Tespit edilmedi: Sensörün doğru şekilde güçlendirildiğinden ve hassasiyetin uygun şekilde ayarlandığından emin olun.
- Yanlış Tetikleyiciler: Çevresel gürültüyü (örn. Isı kaynakları) azaltın ve doğrudan güneş ışığına maruz kalmayı önleyin.
- Kararsız okumalar: Uygun topraklama ve istikrarlı güç kaynağı olup olmadığını kontrol edin.
Çözüm
HC-SR501 PIR hareket sensörünü Arduino ile başarıyla arayüz ettiniz. Bu çok yönlü sensör, çeşitli projelerde hareket algılama için mükemmeldir. Gelişmiş hareket tabanlı sistemler oluşturmak için hassasiyeti ayarlamak veya diğer bileşenlerle entegre etmek gibi ek özellikleri deneyin!