تعلم الوحدات · الدرس 2.16

حساس الحركة (HC-SR501 PIR Motion Sensor)

العودة إلى الدروس

نظرة عامة ومبدأ PIR

ستستخدم كاشف حركة PIR مع UNO؛ تراقب اللوحة الحساس وتتحكم في LED عند اكتشاف الحركة.

المكونات المطلوبة

المبدأ

حساس (PIR Motion Sensor) أعقد من المقاومة الضوئية (Photocell) ومقاومة استشعار القوة (FSR) ومفتاح الإمالة (Tilt Switch)؛ إذ تؤثر عدة متغيرات في دخله وخرجه. يحتوي عنصره على منطقتين حساستين للأشعة تحت الحمراء تستشعران الإشعاع القادم من مجال الكشف.

في السكون تستشعران مقدارًا متساويًا من إشعاع الغرفة أو الجدران أو الخارج. عند مرور جسم دافئ، كإنسان أو حيوان، يؤثر أولًا في أحد النصفين فينشأ تغير تفاضلي موجب؛ وعند مغادرة المنطقة ينشأ تغير تفاضلي سالب. يكتشف الحساس هذه النبضات.

وجها وحدة (PIR Motion Sensor)
وجها وحدة (PIR Motion Sensor)
الطرف أو الضابطالوظيفة
ضبط التأخيرمدة بقاء الخرج HIGH بعد الحركة: 5 ثوانٍ إلى 5 دقائق بحسب الجدول
ضبط الحساسيةمدى الكشف من 3 إلى 7 أمتار
وصلة Triggerاختيار الكشف المفرد أو المتكرر
Groundالأرضي
OutputLOW دون حركة و HIGH عند الحركة؛ مستوى HIGH هو 3.3V
Powerتغذية DC من 5 إلى 20V

التهيئة والمدى والتأخير

تفسر الوحدة تغيرات IR حركةً وفق ضبط المستخدم. عند اكتشاف الحركة يصبح الخرج HIGH، ويعود إلى LOW بعد انتهاء المهلة.

التهيئة

تحتاج قرابة دقيقة للتهيئة، وقد تعطي إشارات حركة كاذبة خلالها. يجب مراعاة هذه الفترة في منطق الدائرة أو البرنامج.

مجال الكشف

تكتشف الحركة داخل مخروط زاويته 110 درجات، ومداه قابل للضبط بين 3 و 7 أمتار.

مجال كشف حساس (PIR Motion Sensor)
مجال كشف حساس (PIR Motion Sensor)

ضبط التأخير والحساسية

يضبط التأخير مدة بقاء الخرج HIGH بعد اكتشاف الحركة، من بضع ثوانٍ إلى نحو خمس دقائق.

ضبط الحساسية على حساس الحركة (HC-SR501 PIR Motion Sensor)
ضبط الحساسية على حساس الحركة (HC-SR501 PIR Motion Sensor)
ضبط زمن التأخير على الوحدة
ضبط زمن التأخير على الوحدة

وضعا الكشف وأمثلة الإضاءة

تحدد وصلة Trigger متى تبدأ مهلة التأخير: في الوضع المفرد تبدأ مع أول حركة، وفي المتكرر تعيد كل حركة ضبطها، فتبدأ من آخر حركة.

وصلة اختيار وضع الكشف
وصلة اختيار وضع الكشف

لتشغيل إضاءة أرضية رقص بحسب مواضع الراقصين يجب فهم تفاعل التأخير مع الوضع.

المثال الأول

التأخير 3 ثوانٍ والوضع مفرد. لا يكشف الحساس الحركة (PIR Motion Sensor) دائمًا؛ وتوجد فترة تقارب 6 ثوانٍ يتعذر فيها تسجيل حركة جديدة.

مخطط التوقيت للكشف المفرد
مخطط التوقيت للكشف المفرد

المثال الثاني

التأخير 3 ثوانٍ والوضع متكرر. تعاد مهلة التأخير مع الحركة؛ لكن بعد انتهائها يظل الكشف محجوبًا 3 ثوانٍ.

مخطط التوقيت للكشف المتكرر
مخطط التوقيت للكشف المتكرر

راعِ فترة الحجب عند تصميم التطبيق؛ فبعض الأجهزة قد لا تتحمل التبديل السريع بين التشغيل والإطفاء. تتيح هذه الفترة استقرار الدائرة قبل استئناف الكشف.

توصيل الحساس

المخطط الكهربائي لحساس الحركة (HC-SR501 PIR Motion Sensor)
المخطط الكهربائي لحساس الحركة (HC-SR501 PIR Motion Sensor)
توصيل حساس (PIR Motion Sensor) بلوحة أردوينو (UNO R3 Board)
توصيل حساس (PIR Motion Sensor) بلوحة أردوينو (UNO R3 Board)

التوصيل بسيط لأن الخرج رقمي: HIGH يعني كشفًا و LOW يعني عدم الكشف. لاستخدام إعادة التحفيز ضع الوصلة في H. غذِّ الحساس بـ 5V، ووصل الأرضيين معًا، والخرج بمنفذ رقمي؛ يستخدم المثال المنفذ 7.

البرنامج والتشغيل

افتح ملف البرنامج HC-SR501.ino من ملفات الدرس في بيئة Arduino IDE. بعد إتمام التوصيلات، وصّل لوحة أردوينو (UNO R3 Board) بالحاسوب بكابل توصيل (USB Cable)، ثم اضغط زر Upload (رفع) لنقل البرنامج إلى اللوحة وتشغيله عليها.

إذا تعذر نقل البرنامج إلى اللوحة، فراجع قسم «رفع البرنامج ومعالجة خطأ الاتصال» في الدرس 1.5 «وميض LED وإضافة المكتبات» للتحقق من اتصال USB واختيار نوع اللوحة والمنفذ التسلسلي في بيئة Arduino IDE.

يشغل البرنامج LED Arduino المتصل بالمنفذ 13 عند كشف حركة. تذكر التعامل مع دقيقة التهيئة في أي تطبيق تطوره.

الكود

HC-SR501/HC-SR501.ino

//www.elegoo.com
//2016.12.9

int ledPin = 13;  // LED on Pin 13 of Arduino
int pirPin = 7; // Input for HC-S501

int pirValue; // Place to store read PIR Value


void setup() {
  
  pinMode(ledPin, OUTPUT);
  pinMode(pirPin, INPUT);
  digitalWrite(ledPin, LOW);
  
}

void loop() {
  pirValue = digitalRead(pirPin);
  digitalWrite(ledPin, pirValue);

}

ملفات الدرس والمكتبات

ملفات الدرس

100%

عرض الصورة

استخدم + و− للتكبير والتصغير، أو اضغط Esc للإغلاق.