كيفية استخدام مستشعر حركة HC-SR501 PIR مع Arduino

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

HC-SR501 عبارة عن وحدة استشعار الحركة الشهيرة للأشعة تحت الحمراء (PIR) التي تكتشف الحركة عن طريق قياس التغيرات الإشعاعية بالأشعة تحت الحمراء في محيطها. يتم استخدامه بشكل شائع في الإضاءة المنشأة للحركة وأنظمة الأمن ومشاريع إنترنت الأشياء. سيوجهك هذا البرنامج التعليمي من خلال إعداد واستخدام HC-SR501 مع Arduino.


ماذا ستحتاج

  1. HC-SR501 PIR MOTION MOSOR
  2. لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
  3. الأسلاك الأسلاك والبلوز
  4. جهاز كمبيوتر مع Arduino IDE مثبت

الخطوة 1: فهم مستشعر HC-SR501

تحتوي وحدة HC-SR501 على حساسية قابلة للتعديل وإعدادات وقت التأخير ، مما يجعلها متعددة الاستخدامات لتطبيقات الكشف عن الحركة المختلفة. يعمل على الطاقة 5V ويخرج إشارة عالية عند اكتشاف الحركة.

HC-SR501 Pinout

دبوس وظيفة
VCC مزود الطاقة (5 فولت)
خارج إشارة الخرج الرقمية
GND أرضي

إعدادات قابلة للتعديل

  1. حساسية: اضبط نطاق الكشف (حتى 7 أمتار ~).
  2. وقت التأخير: اضبط مدة الإشارة العالية بعد اكتشاف الحركة (حوالي 5 ثوان إلى 5 دقائق).

الخطوة 2: توصيل HC-SR501 إلى Arduino

فيما يلي كيفية توصيل HC-SR501 بـ Arduino Uno:

HC-SR501 دبوس دبوس أردوينو
VCC 5V
خارج دبوس 2
GND GND

الخطوة 3: تحميل الرمز

فيما يلي مثال على مراقبة اكتشاف الحركة وعرض الحالة على الشاشة التسلسلية:

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: اختبار الإعداد

  1. قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
  2. افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
  3. تحميل الرمز بالنقر فوق رفع.
  4. افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود 9600.
  5. انتقل ضمن نطاق المستشعر ، ولاحظ حالة الحركة المطبوعة على الشاشة التسلسلية.

اختياري: السيطرة على LED بحركة

يمكنك تعديل الكود لتشغيل LED عند اكتشاف الحركة:

توصيل LED

LED دبوس دبوس أردوينو
الأنود (+) دبوس 13
الكاثود (-) GND

رمز معدّل

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

  1. إضاءة تنشيط الحركة
  2. إنذارات الدخيل
  3. أتمتة المنزل الذكية
  4. أجهزة إنترنت الأشياء التي تثير القرب

استكشاف الأخطاء وإصلاحها

  • لم يتم اكتشاف أي حركة: تأكد من تشغيل المستشعر بشكل صحيح ويتم ضبط الحساسية بشكل مناسب.
  • مشغلات كاذبة: تقليل الضوضاء البيئية (على سبيل المثال ، مصادر الحرارة) وتجنب التعرض المباشر لأشعة الشمس.
  • قراءات غير مستقرة: تحقق من التأريض المناسب ومصدر الطاقة المستقر.

خاتمة

لقد نجحت في ربط مستشعر حركة HC-SR501 PIR مع Arduino. هذا المستشعر متعدد الاستخدامات مثالي للكشف عن الحركة في مختلف المشاريع. قم بتجربة ميزات إضافية ، مثل ضبط الحساسية أو دمجها مع مكونات أخرى ، لإنشاء أنظمة متقدمة قائمة على الحركة!

اترك تعليقًا

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.