Arduino ile HC-SR501 PIR hareket sensörünü nasıl kullanılır

How to Use the HC-SR501 PIR Motion Sensor with Arduino

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

  1. HC-SR501 PIR hareket sensörü modülü
  2. Arduino Kurulu (örn. UNO, Mega, Nano)
  3. Breadboard ve jumper telleri
  4. 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

  1. Duyarlılık: Algılama aralığını ayarlayın (~ 7 metreye kadar).
  2. 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

  1. Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
  2. Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
  3. Kodu tıklayarak yükleyin Yüklemek.
  4. Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın 9600.
  5. 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ı

  1. Hareketle aktifleştirilen aydınlatma
  2. Davetsiz misafir alarmları
  3. Akıllı ev otomasyonu
  4. 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!

Yorum bırak

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.