حساس الأشعة تحت الحمراء IR

ir Sensor

مقدمة

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

ما هو حساس الأشعة تحت الحمراء وكيف يعمل

جهاز إلكتروني يتكون الحساس من مرسل ومستقبل يعملان بالاشعة تحت الحمراء, يتم ارسال اشارة من المرسل وفي حال وجود حاجز أو جسم أمام الحساس تنعكس الاشارة ويتم استقبالها من قبل المستقبل فالحساس لا يقوم بقياس المسافة وإنما فقط يقوم باستشعار الاجسام الموجودة أمامه.

HOW IR Sensor work

التطبيقات الرئيسية لحساس الأشعة تحت الحمراء

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

روبوت تجنب العوائق

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

روبوت تتبع المسار

مكونات حساس الأشعة تحت الحمراء

  • مرسل ومستقبل أشعة تحت الحمراء
  • مقاومة متغيرة لتحديد مجال الاستشعار.
  • مقارن جهد LM358.
  • ليد خاص بالتغذية.
  • ليد خاص بالخرج.

IR sensor module

مواصفات حساس الأشعة تحت الحمراء

  • جهد العمل: 3.3 الى 5 فولت
  • تيار العمل: 20 مللي أمبير تقريباً
  • مجال الاستشعار: 2 الى 10 سم
  • زاوية الاستشعار: 35 درجة تقريباً

IR sensor pinout

العناصر المستخدمة لعمل المشروع

  1. أردوينو أونو
  2. حساس IR
  3. أسلاك توصيل
  4. bread board

مخطط التوصيل

ir sensor with arduino

الكود البرمجي

int IRSensor = 9; // connect IR sensor module to Arduino pin D9
int LED = 13; // connect LED to Arduino pin 13

void setup(){
  Serial.begin(9600); // Init Serial at 115200 Baud Rate.
  pinMode(IRSensor, INPUT); // IR Sensor pin INPUT
  pinMode(LED, OUTPUT); // LED Pin Output
}

void loop(){
  int sensorStatus = digitalRead(IRSensor); // Set the GPIO as Input
  if (sensorStatus == 1) // Check if the pin high or not
  {
    // if the pin is high turn off the onboard Led
    digitalWrite(LED, LOW); // LED LOW
    Serial.println("Motion Detected!"); // print Motion Detected! on the serial monitor window
  }
  else  {
    //else turn on the onboard LED
    digitalWrite(LED, HIGH); // LED High
    Serial.println("Motion Ended!"); // print Motion Ended! on the serial monitor window
  }
}
مشاركات أقدم المقال التالي
لا يوجد تعليقات
أضف تعليق
عنوان التعليق