MH-SR602 هو مستشعر حركة PIR (الأشعة تحت الحمراء السلبية) المستخدمة للكشف عن الحركة داخل نطاقها. إن حجمها الصغير ، واستهلاك الطاقة المنخفضة ، والتأخير القابل للتعديل يجعله مثاليًا للإضاءة المنشأة للحركة ، والإنذارات ، ومشاريع إنترنت الأشياء. في هذا البرنامج التعليمي ، سنرشدك من خلال ربط MH-SR602 مع Arduino.
ماذا ستحتاج
- مستشعر حركة MH-SR602 PIR
- لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
- الأسلاك الأسلاك والبلوز
- جهاز كمبيوتر مع Arduino IDE مثبت
الخطوة 1: فهم مستشعر MH-SR602
يكتشف MH-SR602 الحركة عن طريق استشعار التغيرات الإشعاعية بالأشعة تحت الحمراء في محيطها. عند اكتشاف الحركة ، فإنه يخرج إشارة عالية ؛ خلاف ذلك ، يبقى منخفضة.
MH-SR602 Pinout
دبوس | وظيفة |
---|---|
VCC | مزود الطاقة (3.3V-5V) |
خارج | إشارة الخرج الرقمية |
GND | أرضي |
ميزات قابلة للتعديل
- وقت التأخير: يقوم مقياس الجهد على متن الوقت بضبط الوقت الذي يظل فيه الإخراج مرتفعًا بعد اكتشاف الحركة (حوالي 2-100 ثانية).
الخطوة 2: توصيل MH-SR602 إلى Arduino
إليك كيفية توصيل المستشعر بـ Arduino:
MH-SR602 دبوس | دبوس أردوينو |
---|---|
VCC | 5V |
خارج | دبوس 2 |
GND | GND |
الخطوة 3: تحميل الرمز
فيما يلي مثال على مراقبة اكتشاف الحركة وعرض الحالة على الشاشة التسلسلية:
const int pirPin = 2; // Connect MH-SR602 OUT to pin 2
void setup() {
pinMode(pirPin, INPUT);
Serial.begin(9600);
Serial.println("MH-SR602 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 وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
- قم بتحميل الرمز إلى Arduino بالنقر فوق رفع.
- افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود
9600
. - انتقل ضمن نطاق المستشعر ومراقبة حالة الحركة المطبوعة على الشاشة التسلسلية.
اختياري: السيطرة على LED بحركة
يمكنك تعديل الكود لتشغيل LED عند اكتشاف الحركة:
توصيل LED
LED دبوس | دبوس أردوينو |
---|---|
الأنود (+) | دبوس 13 |
الكاثود (-) | GND |
رمز معدّل
const int pirPin = 2; // Connect MH-SR602 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("MH-SR602 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
}
تطبيقات MH-SR602
- إضاءة تنشيط الحركة
- إنذارات الدخيل
- أتمتة المنزل الذكية
- أجهزة إنترنت الأشياء التي تثير القرب
استكشاف الأخطاء وإصلاحها
- لم يتم اكتشاف أي حركة: تأكد من أن المستشعر يعمل بشكل صحيح وأن مقياس الجهد في التأخير لا يتم تعيينه مرتفعًا جدًا.
- مشغلات كاذبة: تقليل الضوضاء البيئية (على سبيل المثال ، نقل مصادر الحرارة) وحماية المستشعر من أشعة الشمس المباشرة.
- قراءات غير مستقرة: ضمان قوة مستقرة وتجنب الاهتزازات المفرطة.
خاتمة
لقد نجحت في ربط مستشعر حركة MH-SR602 PIR مع Arduino. هذا المستشعر متعدد الاستخدامات مثالي للكشف عن الحركة في مختلف المشاريع. قم بتجربة ميزات إضافية مثل ضبط وقت التأخير أو دمجها مع مكونات أخرى للتطبيقات المتقدمة!