استخدام حسّاس الحركة HC-SR501 مع ريليه وكود أردوينو

استخدام حسّاس الحركة HC-SR501 مع ريليه وكود أردوينو

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

سنقدم دليلًا خطوة بخطوة حول إعداد الأجهزة، وتعليمات الأسلاك، وكود Arduino المطلوب لتحقيق هذه الوظيفة. لفهم أوضح للعملية، تأكد من مشاهدة الفيديو المرتبط (في الفيديو عند 00:00).

شرح الأجهزة

تشمل المكونات الرئيسية في هذا المشروع مستشعر الحركة HC-SR501، ووحدة الترحيل، ولوحة الأردوينو. يحتوي مستشعر HC-SR501 على ثلاثة دبابيس: VCC، GND، وOUT. يتصل دبوس VCC بمصدر طاقة (5 فولت)، ويتصل دبوس GND بالأرض، ويرسل دبوس OUT إشارة إلى الأردوينو عند اكتشاف الحركة.

يعمل وحدة التتابع كجهاز تحكم يمكنه السيطرة على الأجهزة ذات الجهد العالي. تحتوي على ثلاثة دبابيس رئيسية: COM (مشترك)، NO (مفتوح بشكل طبيعي)، وNC (مغلق بشكل طبيعي). في هذا الإعداد، سنستخدم دبوس NO، الذي يتصل بالحِمل عندما يتم تنشيط التتابع. هذا يسمح لأردوينو بالتحكم في التتابع استنادًا إلى الإشارة المستلمة من مستشعر الحركة.

تفاصيل ورقة البيانات

صانعHC-SR501
رقم الجزءHC-SR501
جهد المنطق/الدخل والمخرج5 ف
جهد الإمداد5-20 ف
استهلاك الطاقة٦٥ مللي أمبير
زاوية الكشف120 درجة
مسافة الكشف٣-٧ م
درجة الحرارة التشغيلية-15 إلى 70 °م
نوع المخرجاترقمي
طرحةوحدة

  • تأكد من توفير مصدر طاقة مناسب (5-20 فولت) للحساس.
  • اضبط مقاومة الحساسية للحصول على نطاق كشف مثالي.
  • استخدم الطرف NO للريليه للتحكم في الحمل بفعالية.
  • كن حذرًا من تصنيف تيار المرحل (10 أمبري كحد أقصى).
  • اختبر مدى كشف حساس الحركة قبل التركيب النهائي.
  • اعتبر تبديد الحرارة إذا كنت تستخدم المرحل لأحمال عالية.

تعليمات الأسلاك

Arduino wiring for HC-SR501 Motions sensor
Arduino wiring for HC-SR501 Motions sensor

لتوصيل مستشعر الحركة HC-SR501 والريلاي مع الأردوينو، ابدأ بتوصيل دبوس VCC لمستشعر الحركة بدبوس 5V على الأردوينو. بعد ذلك، قم بتوصيل دبوس GND للمستشعر بأحد دبابيس GND على الأردوينو. يجب توصيل دبوس OUT من مستشعر الحركة بالدبوس الرقمي 2 على الأردوينو.

ل模块 المرحل، قم بتوصيل دبوس VCC بدبوس 5V على لوحة أردوينو ودبوس GND بالأرض. يجب توصيل دبوس الإدخال (الذي غالبًا ما يكون معنونًا بـ IN أو ما شابه) للمرحّل بالدبوس الرقمي 4 على لوحة أردوينو. تأكد من التحقق من اتجاه المرحل للتأكد من أنه مضبوط على وضع الفتح عادةً (NO) لهذا الإعداد. أخيرًا، قم بتوصيل الحمولة (مثل مصباح التيار المتردد) بالمرحّل وفقًا لمواصفات المرحل، مع التأكد من أن التوصيلات آمنة.

أمثلة الشيفرة ودليل الاستخدام

في كود Arduino، نقوم بتعريف ثوابت لدبابيس المستشعر والريلاي. يتم تعيين دبوس المستشعر إلىSENSOR_PIN، المخصص للدبوس الرقمي 2، ودبوس الريليه تم تعيينه إلىRELAY_PIN، المعينة إلى الدبوس الرقمي 4. هذه الإعدادات تتيح لنا قراءة مخرج المستشعر والتحكم في المرحل وفقًا لذلك.

const int SENSOR_PIN = 2; // the Arduino pin connected to the output of the sensor
const int RELAY_PIN = 4; // the Arduino pin which is connected to control the relay

في الsetup()نقوم بتهيئة المراقب التسلسلي لأغراض تصحيح الأخطاء ونحدد أوضاع الدبابيس لدبابيس الاستشعار والتتابع. وهذا يضمن أن الأردوينو يعرف أي الدبابيس هي إدخالات وأيها مخرجات.

void setup() {
  Serial.begin(9600); // setup Serial Monitor to display information
  pinMode(SENSOR_PIN, INPUT); // Define SENSOR_PIN as Input from sensor
  pinMode(RELAY_PIN, OUTPUT); // Define RELAY_PIN as OUTPUT for relay
}

فيloop()في الدالة، نتحقق باستمرار من حالة مستشعر الحركة. إذا تم الكشف عن حركة، نقوم بطباعة رسالة إلى المراقب التسلسلي ونعطل المرحل عن طريق ضبطه على منخفض. إذا لم يتم الكشف عن حركة، نقوم بطباعة رسالة مختلفة ونقوم بإيقاف المرحل عن طريق ضبطه على مرتفع.

void loop() {
  int motion = digitalRead(SENSOR_PIN); // read the sensor pin
  if (motion) {
    Serial.println("Motion detected");
    digitalWrite(RELAY_PIN, LOW); // Turn the relay ON
  } else {
    Serial.println("===Nothing moves");
    digitalWrite(RELAY_PIN, HIGH); // Turn the relay OFF
  }
  delay(500);
}

عرض / ماذا تتوقع

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

تشمل الأخطاء الشائعة التوصيلات غير الصحيحة أو تجاوز حدود التيار الخاصة بالريلاي، مما قد يؤدي إلى الفشل. تأكد من أن جميع الاتصالات آمنة واختبر الإعداد في بيئة خاضعة للرقابة قبل الاستخدام النهائي.

توقيتات الفيديو

  • 00:00 بدء
  • 00:35 تفسير الأجهزة
  • 04:35 تصنيف قدرة الترحيل
  • 06:00 شرح الأسلاك
  • 07:53 شرح كود الأردوينو
  • 09:48 عرض لهذا المشروع

الصور

HC-SR501 back
HC-SR501 back
HC-SR501 module
HC-SR501 module
Arduino wiring for HC-SR501 Motions sensor
Arduino wiring for HC-SR501 Motions sensor
141-Arduino source code for an HC-SR501 motion sensor to control an AC bulb or load
اللغة: C++
تم النسخ!

الموارد والمراجع

لا توجد موارد حتى الآن.

ملفات📁

لا توجد ملفات متاحة.