القائمة الرئيسية

الصفحات

حساس الأشعة تحت الحمراء HC-SR501 PIR Sensor

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

كيف يعمل حساس الحركة PIR؟

إذا لم تكن على علم بذلك ، فإن جميع الكائنات التي تكون درجة حرارتها أعلى من الصفر المطلق (0 كلفن / -273.15 درجة مئوية) تنبعث منها طاقة حرارية في شكل إشعاعات تحت الحمراء، بما في ذلك الأجسام البشرية. كلما كان الجسم أكثر سخونة ، زاد الإشعاع الذي ينبعث منه.
تم تصميم حساس PIR خصيصًا للكشف عن هذه المستويات من الأشعة تحت الحمراء. وهو يتكون أساسًا من جزأين رئيسيين: حساس كهربي حراري وعدسة خاصة تسمى عدسة فريسنل التي تركز إشارات الأشعة تحت الحمراء على حساس كهربي حراري.
يحتوي الحساس الكهربي على فتحتين مستطيلتين مصنوعتين من مادة تسمح للأشعة تحت الحمراء بالمرور. وخلفهما ، هناك قطبان منفصلان لحساس الأشعة تحت الحمراء ، أحدهما مسؤول عن إنتاج ناتج إيجابي والآخر ناتج سلبي. السبب في ذلك هو أننا نبحث عن تغيير في مستويات الأشعة تحت الحمراء وليس مستويات الأشعة تحت الحمراء المحيطة. يتم توصيل القطبين حتى يتم إلغاء بعضهما البعض. إذا رأى أحد النصفين الإشعاع بنسبة أكبر أو أقل من الآخر ، فسوف يتأرجح المخرج بدرجة عالية أو منخفضة.
عندما يكون الحساس خاملاً ، لا توجد حركة حوله ؛ تكتشف كلتا الفتحتين نفس كمية الأشعة تحت الحمراء ، مما ينتج عنه إشارة صفرية.
ولكن عندما يمر جسم دافئ مثل الإنسان أو الحيوان ؛ يعترض أولاً نصف مستشعر PIR ، مما يؤدي إلى حدوث تغيير تفاضلي إيجابي بين النصفين. عندما يترك الجسم الدافئ منطقة الاستشعار ، يحدث العكس ، حيث يولد الحساس تغييرا سلبيا في التباين. ينتج عن نبض الإشارات المقابل أن يقوم الحساس بإعداد منفذ عالياً.

بالنسبة لمعظم مشاريع Arduino التي تحتاج فايها للكشف عن وقت مغادرة شخص ما أو دخوله للمنطقة ، أو عند الاقتراب منها ، تعد أجهزة استشعار HC-SR501 PIR خيارًا رائعًا. فهي منخفضة الطاقة ومنخفضة التكلفة ، صعبة إلى حد ما ، ولها مجموعة واسعة من العدسات ، وسهلة التفاعل وتحظى بشعبية كبيرة بين الهواة.
يحتوي جهاز استشعار HC-SR501 PIR على ثلاثة منافذ إخراج هي VCC وOUT وGND كما هو موضح في الرسم البياني أدناه. ويحتوي على منظم للجهد مدمج بحيث يمكن تشغيله بواسطة أي جهد تيار مستمر من 4.5 إلى 12 فولت ، وعادة ما يتم استخدام 5V. بخلاف ذلك ، وهناك خيارات مزدوجة لديك مع PIR الخاص بك. وسوف نتحقق منها.
هناك منظمي جهد على اللوحة لضبط شيئين:

  • الحساسية - ويحدد الحد الأقصى للمسافة التي يمكن الكشف عن الحركة داخلها. يتراوح من 3 أمتار إلى حوالي 7 أمتار. يمكن لطوبولوجيا غرفتك أن تؤثر على النطاق الفعلي الذي تحققه.
  • الوقت - يحدد المدة التي سيبقى فيها المنفذ عاليًا بعد الكشف. الحد الأدنى هو 3 ثوانٍ ، بحد أقصى 300 ثانية أو 5 دقائق.
أخيرًا ، تحتوي اللوحة على وصلة ربط(منزلقة) (في بعض الأنواع لا يتم إضافة هذه وصلة). ولديها اثنين من الإعدادات:
H - هو Hold/Repeat/Retriggering وفي هذا الوضع سيواصل HC-SR501 إنتاج إشارة عالية طالما استمر في اكتشاف الحركة.

L -  هو Intermittent/No-Repeat/Non-Retriggering  وفي هذا الوضع ، سيبقى الناتج مرتفعًا خلال الفترة المحددة بواسطة ضبط TIME الجهد.

جعل مستشعر HC-SR501 PIR أكثر تنوعاً

تحتوي لوحة الدارة HC-SR501 على منصات لحام لمكونين إضافيين. عادةً ما يتم تمييزها باسم 'RT' و 'RL'. لاحظ أنه في بعض اللوحات يمكن تغطية الملصقات بواسطة عدسة 'القبة' على الجانب المقابل للمكونات.


  • RT- هذا مخصص للمقاوم الحراري أو المقاوم للحرارة. إضافة هذا يسمح باستخدام HC-SR501 في درجات الحرارة القصوى ، كما أنه يزيد من دقة الكاشف إلى حد ما.
  • RL - هذا الاتصال مخصص لمقاوم يعتمد على الضوء (LDR) أو مقاوم للضوء. بإضافة هذا المكون ، لن يعمل HC-SR501 إلا في الظلام ، وهو تطبيق شائع لأنظمة الإضاءة الحساسة للحركة.

يمكن تلحيم المكونات الإضافية مباشرة على اللوحة أو تمديدها إلى مواقع بعيدة باستخدام الأسلاك والموصلات.


منافذ حساس HC-SR501 PIR

يحتوي HC-SR501 على موصل بثلاثة أسنان يربطه بالعالم الخارجي. المنافذ هي كما يلي:
VCC هو مصدر الطاقة لجهاز استشعار HC-SR501 PIR الذي نقوم بتوصيل دبوس 5V على اردوينو.
OUT هو الناتج 3.3V TTL المنطق. يشير LOW إلى أنه لم يتم اكتشاف أي حركة ، يعني HIGH أنه تم اكتشاف بعض الحركة.
GND يجب أن يكون مرتبطة إلى GND  باردوينو.

باستخدام PIR Sensor كوحدة مستقلة

أحد الأسباب وراء كون حساس HC-SR501 PIR شائعًا للغاية هو حقيقة أن جهاز HC-SR501 عبارة عن حساس شديد التنوع وقادر تمامًا على تحقيق المراد. ومن خلال ربطه ببعض المتحكمات الدقيقة مثل Arduino يمكنك التوسع ببراعة أكبر. في تجربتنا الأولى ، سوف نستخدم HC-SR501 من تلقاء نفسها لتوضيح مدى فائدتها بحد ذاتها.
متطلبات هذه التجربة بسيطة جدا. يتم توصيل البطاريات عبر VCC و GND للمستشعر ويتم توصيل مؤشر LED أحمر صغير بمنفذ OUT من خلال مقاومة كهربائية 220 أوم.
تذكر أنه بمجرد تشغيل الدائرة ، فأنت بحاجة إلى الانتظار من 30 إلى 60 ثانية حتى يتأقلم جهاز PIR مع طاقة الأشعة تحت الحمراء الموجودة في الغرفة. خلال ذلك الوقت قد يومض الليد قليلا. انتظر حتى ينطفئ مصباح الليد ثم تحرك أمام الحساس  ولوّح بيدك، إلخ ، لرؤية ضوء الليد بشكل أقوى!

ربط "PIR Sensor" بال "Arduino UNO"

الآن وبعد أن أصبح لدينا فهم كامل لكيفية عمل حساس PIR ، يمكننا أن نبدأ بتوصيله بالـArduino!
ربط أجهزة الـPIR إلى متحكم بسيط للغاية. يعمل PIR كمخرج رقمي ، لذا كل ما عليك القيام به هو الاستماع إلى منفذ OUT إذا نقر بقوّة "HIGH" (إكتشاف حركة) أو بإنخفاظ "LOW" (لا يوجد حركة). قم بتزويد جهاز PIR بـ 5 فولت وقم بتوصيل GND بـ GND. ثم قم بتوصيل OUT إلى المنفذ الرقمي رقم 2.
سوف تحتاج إلى تعيين المنزلقة (الوصلة) على HC-SR501 إلى الوضع "H "Retriggering ليعمل بشكل صحيح. ستحتاج أيضًا إلى ضبط TIME على 3 ثوانٍ كحد أدنى ، وتحويل مقياس الجهد TIME إلى عكس اتجاه عقارب الساعة . اضبط الحساسية في أي مكان تريد ، اضبطه على نقطة المنتصف إذا لم تكن متأكدًا.
باستخدام ذلك ، أنت الآن جاهز لتحميل بعض الأكواد والحصول على PIR.

كود الاردوينو

الكود بسيط للغاية ، وهو في الأساس يتتبع فقط ما إذا كان الإدخال إلى رقم 2 هو عالي أو منخفض.

int ledPin = 13;                // choose the pin for the LED
int inputPin = 8;               // choose the input pin (for PIR sensor)
int pirState = LOW;             // we start, assuming no motion detected
int val = 0;                    // variable for reading the pin status
 
void setup() {
  pinMode(ledPin, OUTPUT);      // declare LED as output
  pinMode(inputPin, INPUT);     // declare sensor as input
 
  Serial.begin(9600);
}
 
void loop(){
  val = digitalRead(inputPin);  // read input value
  
  if (val == HIGH) // check if the input is HIGH
  {            
    digitalWrite(ledPin, HIGH);  // turn LED ON
 
    if (pirState == LOW) 
 {
      Serial.println("Motion detected!"); // print on output change
      pirState = HIGH;
    }
  } 
  else 
  {
    digitalWrite(ledPin, LOW); // turn LED OFF
 
    if (pirState == HIGH)
 {
      Serial.println("Motion ended!"); // print on output change
      pirState = LOW;
    }
  }
}int ledPin = 13;                // choose the pin for the LED

int inputPin = 8;               // choose the input pin (for PIR sensor)
int pirState = LOW;             // we start, assuming no motion detected
int val = 0;                    // variable for reading the pin status
 
void setup() {
  pinMode(ledPin, OUTPUT);      // declare LED as output
  pinMode(inputPin, INPUT);     // declare sensor as input
 
  Serial.begin(9600);
}
 
void loop(){
  val = digitalRead(inputPin);  // read input value
  
  if (val == HIGH) // check if the input is HIGH
  {            
    digitalWrite(ledPin, HIGH);  // turn LED ON
 
    if (pirState == LOW) 
 {
      Serial.println("Motion detected!"); // print on output change
      pirState = HIGH;
    }
  } 
  else 
  {
    digitalWrite(ledPin, LOW); // turn LED OFF
 
    if (pirState == HIGH)
 {
      Serial.println("Motion ended!"); // print on output change
      pirState = LOW;
    }
  }
}

في النهاية ، سنطبع رسالة على الشاشة التسلسلية عند اكتشاف الحركة.

الأشياء الواجب مراعاتها قبل تصميم التطبيقات المستندة إلى PIR

كما هو الحال مع معظم حساسات PIR يتطلب HC-SR501 بعض الوقت للتأقلم مع طاقة الأشعة تحت الحمراء في الغرفة. يستغرق ذلك من 30 إلى 60 ثانية عند تشغيل الحساس لأول مرة.

بالإضافة إلى أن الحساس لديه فترة 'إعادة ضبط' تبلغ حوالي 5 أو 6 ثوان بعد إجراء القراءة. 
خلال هذا الوقت لن يكتشف أي حركة.عند تصميم نظام يعتمد على HC-SR501 ، ستحتاج إلى مراعاة فترات التأخير هذه.



المصدرLast minute engineers
الترجمة: CirtaTeam
            cirta2030@gmail.com


author-img
مدون عربي يسعى لإثراء المحتوى العربي بكل ما هو جديد ومفيد في شتى المجالات.

تعليقات