HC-SR501 عبارة عن وحدة استشعار الحركة الشهيرة للأشعة تحت الحمراء (PIR) التي تكتشف الحركة عن طريق قياس التغيرات الإشعاعية بالأشعة تحت الحمراء في محيطها. يتم استخدامه بشكل شائع في الإضاءة المنشأة للحركة وأنظمة الأمن ومشاريع إنترنت الأشياء. سيوجهك هذا البرنامج التعليمي من خلال إعداد واستخدام HC-SR501 مع Arduino.
ماذا ستحتاج
- HC-SR501 PIR MOTION MOSOR
- لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
- الأسلاك الأسلاك والبلوز
- جهاز كمبيوتر مع Arduino IDE مثبت
الخطوة 1: فهم مستشعر HC-SR501
تحتوي وحدة HC-SR501 على حساسية قابلة للتعديل وإعدادات وقت التأخير ، مما يجعلها متعددة الاستخدامات لتطبيقات الكشف عن الحركة المختلفة. يعمل على الطاقة 5V ويخرج إشارة عالية عند اكتشاف الحركة.
HC-SR501 Pinout
دبوس | وظيفة |
---|---|
VCC | مزود الطاقة (5 فولت) |
خارج | إشارة الخرج الرقمية |
GND | أرضي |
إعدادات قابلة للتعديل
- حساسية: اضبط نطاق الكشف (حتى 7 أمتار ~).
- وقت التأخير: اضبط مدة الإشارة العالية بعد اكتشاف الحركة (حوالي 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: اختبار الإعداد
- قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
- افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
- تحميل الرمز بالنقر فوق رفع.
- افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود
9600
. - انتقل ضمن نطاق المستشعر ، ولاحظ حالة الحركة المطبوعة على الشاشة التسلسلية.
اختياري: السيطرة على 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
- إضاءة تنشيط الحركة
- إنذارات الدخيل
- أتمتة المنزل الذكية
- أجهزة إنترنت الأشياء التي تثير القرب
استكشاف الأخطاء وإصلاحها
- لم يتم اكتشاف أي حركة: تأكد من تشغيل المستشعر بشكل صحيح ويتم ضبط الحساسية بشكل مناسب.
- مشغلات كاذبة: تقليل الضوضاء البيئية (على سبيل المثال ، مصادر الحرارة) وتجنب التعرض المباشر لأشعة الشمس.
- قراءات غير مستقرة: تحقق من التأريض المناسب ومصدر الطاقة المستقر.
خاتمة
لقد نجحت في ربط مستشعر حركة HC-SR501 PIR مع Arduino. هذا المستشعر متعدد الاستخدامات مثالي للكشف عن الحركة في مختلف المشاريع. قم بتجربة ميزات إضافية ، مثل ضبط الحساسية أو دمجها مع مكونات أخرى ، لإنشاء أنظمة متقدمة قائمة على الحركة!