علوم الحاسب

[سلسلة تعلم الأردوينو] – اكتشاف العوائق باستخدام حساس الموجات تحت الحمراء TCRT5000

نتعلم ضمن هذا المقال مبدأ عمل حساس الموجات تحت الحمراء IR وكيفية استخدامه مع لوحة الأردوينو من أجل اكتشاف العوائق.

يمكنكم أيضاً الاطلاع على كافة مقالات سلسلة تعلم الأردوينو من فهرس الدروس الخاص بها


1. حول الموجات الضوئية

الضوء عبارة عن إشعاع كهرومغناطيسي، مسؤول عن حاسة الإبصار، وهو يمثل طيف الأمواج الكهرومغناطيسية ذات الطولي الموجي 400 نانومتر وحتى 740 نانومتر، أي بين مجال الأشعة فوق البنفجسية وحتى الأشعة تحت الحمراء، ولا يُشكل المجال الأعظمي لرؤية عين الإنسان حيث تستطيع العين البشرية رؤية الموجات الضوئية ضمن مجال الضوء المرئي ويُمكن عند ظروفٍ مثالية رؤية الأشعة تحت الحمراء و الأشعة فوق البنفسجية عند مجالات معينة. وأهم الخصائص لوصف إشعاع ضوئي هي: الشدة، اتجاه الانتشار، التردد، طول الموجة، الاستقطاب، سرعة الانتشار.

يوضح الشكل الآتي مجال الموجات الضوئية المرئية و غير المرئية:

سنخصص معلوماتنا ضمن المقال حول الموجات الضوئية تحت الحمراء Infrared Radiation.

بعض المعلومات حول الموجات تحت الحمراء:

  • تنبعث الموجات من الأجسام ذات درجة الحرارة -268 درجة مئوية، ومن النار، والشمس.
  • يتراوح الطول الموجي لها بين 740 نانو متر و 30 سانتي متر.
  • بالشكل العام لا يمكن للعين البشرية رؤيتها إلا عند ظروف مثالية، وعند قيم معينة.
  • يمكن للكائن البشري الإحساس بحرارتها.
  • تم اكتشاف هذه الموجات عند ملاحظة ارتفاع درجة الحرارة عند الانتقال ضمن مجال الضوء المرئي من اللون الأزرق إلى اللون الاحمر.
  • من استخدامتها: أجهزة التحكم، اكتشاف الأجسام، الكاميرات الحرارية، مناظير الرؤية الليلية، تطبيقات طبية.
  • من سلبياتها: طول موجي قصير وبالتالي لايمكنها عبور الجدران أو الأجسام السميكة، التداخل مع أشعة الشمس و المصابيح لذلك يجب معايرتها أو تنفيذ خوارزميات لإزالة هذا الضجيج.

2. حساس الموجات الضوئية تحت الحمراء IR

1.2. مكوناته

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

2.2. مبدأ عمله

يقوم طرف الإرسال بإطلاق موجات ضوئية تحت حمراء ذات طول موجي 950 نانو متر، وتنتقل في الوسط إلى أن تصطدم بجسم ما وتنعكس الموجات إلى طرف الاستقبال، كما هو موضح في الشكل الآتي:

3.2. استخداماته

تتعلق باكتشاف العوائق والأجسام، وبعض التطبيقات على ذلك: (المصاعد – البوابات الأوتوماتيكية – روبوتات اكتشاف الحواف وتتبع الخطوط – خطوط الإنتاج – الطابعات الرقمية – عدادات احتساب الاستهلاك الكهربائي)، أيضا يمكن استخدامه للكشف عن الألوان حسب الموجات المنعكسة؛ حيث تختلف كمية الانعكاس من لون إلى آخر، على سبيل المثال: اللون الأبيض يعكس الموجات بشكل كامل، بينما اللون الأسود يمتص كامل الموجات.

4.2. مغارز الحساس موضحة بالصورة الآتية     

حيث القسم الأزرق هو الثنائي المشع للضوء تحت الأحمر، والقسم الأسود هو الترانزستور الضوئي الذي يستقبل الأشعة الضوئية ويحولها لكهربائية، فتكون المغارز موزعة كما يلي:

  1. مصعد الثنائي المشع للضوء، يغذى بإشارة رقمية 3.3 / 5 فولت لكي يعمل الثنائي.
  2. مهبط الثنائي المشع للضوء يربط بـ GND.
  3. باعث الترانزستور الضوئي ذو النوع NPN، يربط بـ GND.
  4. مجمع الترانزستور الضوئي، يربط مع مقاومة أومية على التسلسل، قيمتها 10 كيلو أوم ليقوما معا بعمل مجزئ الجهد، ونقطة الوسط تربط بمغرز دخل تماثلي لقراءة الخرج.

3. موديول حساس الموجات الضوئية تحت الحمراء TCRT5000

يتوفر أيضا موديول يحتوي الحساس ومجموعة من العناصر المحسنة للقراءة، وتكون مغارز الموديول عددها أربعة وموزعة كما يلي:

  • جهد التغذية VCC، لتغذية الموديول وتربط بجهد 3.3 فولت أو 5 فولت أو إشارة رقمية مرتفعة HIGH.
  • التأريض GND، للتأريض وتربط بـ GND الخاص بمصدر التغذية.
  • مغرز A0: مغرز خرج يعطي قيم تماثلية تتناسب مع الموجات الضوئية المنعكسة، ويربط بمغرز دخل تماثلي.
  • مغرز D0: مغرز خرج يعطي قيم رقمية تتناسب مع الموجات الضوئية المنعكسة (يوجد عائق أم لا)، ويربط بمغرز دخل رقمي.
1.3. ملاحظات تقنية حول الموديول
  • مجال القياس (الرؤية) محصور بين 1 ميلي متر و8 ميلي متر.
  • الخرج الرقمي يكون صفر منطقي عند وجود عائق، ويكون واحد منطقي عند عدم وجود عائق.
  • تحتوي الموديول على ثنائي ضوئي لبيان حالة الخرج الرقمي (Output LED).
  • الخرج التماثلي يكون بقيم صغيرة عند وجود عائق قريب، والعكس عند وجود عائق بعيد.
  • المقاومة المتغيرة تستخدم لضبط حساسية طرف الاستقبال ضمن الموديول، وتغير عتبة الخرج الرقمي.
  • يوجد فاصل بلاستيكي بين طرفي الإرسال والاستقبال لمنع تسرب الأشعة الضوئية من أجل نتائج أفضل.
  • تتأثر قيم النتائج المقروءة بـ: أشعة الشمس، مصادر الإضاءة المختلفة، لون الجسم الذي تنعكس عنه الأشعة الضوئية، وزاوية الانعكاس، ويمكن التخلص من تأثير هذا الضجيج عن طريق شيفرة برمجية أكثر ذكاء، تعمل على إزالة الضجيج من القراءات (سنوضح الفرق).

4. مثال تطبيقي – اكتشاف عائق باستخدام حساس الموجات الضوئية تحت الحمراء IR

1.4. شرح عن الدارة

وظيفة الدارة كتشاف وجود عائق ما عند مسافة معينة، وطباعة النتيجة على شاشة المراقب التسلسلي.

2.4. العتاد المستخدم
  • لوحة أردوينو أونو Arduino UNO، أو أي لوحة متوافقة معها.
  • لوحة تجريب إلكترونية.
  • أسلاك توصيل Jumper-Wire.
  • حساس الموجات الضوئية تحت الحمراء IR.
  • مقاومة أومية لحماية الثنائي بقيمة 220 أوم.
  • مقاومة أومية لمجزء الجهد بقيمة 10 كيلو أوم.
3.4. البرامج المستخدمة
  • بيئة التطوير الرسمية الخاصة بلوحات الأردوينو (للتحميل: اضغط هنا )
4.4. توصيل العتاد
  • مصعد الثنائي المشع للضوء، يغذى بإشارة رقمية مرتفعة HIGH أو 5 فولت لكي يعمل الثنائي.
  • مهبط الثنائي المشع للضوء يربط بالتأريض GND.
  • باعث الترانزستور ، يربط بالتأريض GND.
  • مجمع الترانزستور، يربط مع مقاومة على التسلسل قيمتها 10 كيلو أوم ليقوما معا بعمل مجزئ الجهد، ونقطة الوسط تربط بمغرز دخل تماثلي وليكن A0.
  • الطرف الثاني من المقاومة المربوطة مع مجمع الترانزستور يربط بجهد التغذية 5 فولت.

يكون شكل المخطط العام للدارة:

5.4. الشيفرة البرمجية
1.5.4. الشيفرة البرمجية الأولى:

يكون الشكل العملي للدارة:

  • حيث يربط مصعد الثنائي المشع للضوء مباشرة بجهد 5 فولت لكي يعمل الثنائي بشكل مستمر.
  • يمكنك تجريب الشيفرة البرمجية الآتية وملاحظة القيم العشوائية بتغير ظروف الإضاءة المحيطة بالحساس:
// ------------------------------------------
// Detection obstacles using IR-Sensor V1.0
// ------------------------------------------

// Save the current reading from the sensor 
float reading;

void setup() 
{
  Serial.begin(9600);
}

void loop() 
{
  reading = analogRead(A0);
  Serial.print(reading);
  Serial.print(" - ");
  if (reading < 200)
    Serial.println("there is an obstacle");
  else
    Serial.println("there is no obstacle");
  delay(200);
}
2.5.4. الشيفرة البرمجية الثانية:

يكون الشكل العملي للدارة:

  • حيث يربط مصعد الثنائي المشع للضوء بمغرز خرج رقمي، لكي يأخذ أوامر من لوحة الأردوينو بالتشغيل و الإطفاء.
  • يمكنك تجريب الشيفرة البرمجية الأكثر ذكاء والتي تعمل على إلغاء الضجيج المحيط بالحساس كما يلي :
// ------------------------------------------
// Detection obstacles using IR-Sensor V2.0
// ------------------------------------------

float reading, reading1, reading2;
int T_LED = 2;

void setup() 
{
  Serial.begin(9600);
  pinMode(T_LED, OUTPUT);
}

void loop() 
{

  digitalWrite(T_LED, LOW);
  reading1 = analogRead(A0);
  delayMicroseconds(15);
  digitalWrite(T_LED, HIGH);
  reading2 = analogRead(A0);
  delayMicroseconds(15);
  reading = reading2 - reading1;

  Serial.print("Noise Value ");
  Serial.println(reading1);
  Serial.print("Signal With Noise Value ");
  Serial.println(reading2);
  Serial.print("Signal Without Noise ");
  Serial.print(reading);
  Serial.print("  ");

  if (reading > 15)
    Serial.println("there is an obstacle");
  else
    Serial.println("there is no obstacle");

  Serial.println("");
  delay(300);
}
6.4. ملاحظات حول الشيفرة البرمجية
  • في الجزء الأول من المثال تم تشغيل الثنائي المشع للضوء بشكل مستمر، وقراءة النتائج من خلال مغرز الدخل التماثلي و طباعتها مباشرة، وبالتالي سيتداخل الضجيج الموجود مع الإشارة المرغوبة ما يُسبب الحصول على قراءات عشوائية غير موثوقة.
  • في الجزء الثاني تم اعتماد خوارزمية بسيطة تعمل كما يلي :
    1. يتم إطفاء الثنائي المشع للضوء.
    2. يتم الانتظار مهلة صغيرة جدا لتتم العملية السابقة باستخدام تعليمة delayMicroseconds(500)، ثم يتم قراءة النتيجة وتخزينها بمتغير وليكن reading1 وبالتالي النتيجة تحتوي قيمة الضجيج.
    3. يتم تشغيل الثنائي المشع للضوء.
    4. يتم الانتظار مهلة صغيرة جدا لتتم العملية السابقة باستخدام تعليمة delayMicroseconds(500)، ثم يتم قراءة النتيجة مرة ثانية وتخزينها بمتغير وليكن reading2 وبالتالي النتيجة تحتوي الضجيج مع الإشارة.
    5. يتم حساب الفرق بين القيمتين reading1-reading2 وتخزينها بمتغير ثالث وليكن reading وهو يحتوي الإشارة خالية من الضجيج.
    6. استعمال هذه الخوارزمية تطلب مننا ربط مصعد الثنائي المشع، بمغرز خرج رقمي.
  • في الشيفرة البرمجية الثانية تم مُقارنة الإشارة الأصلية مع قيمة مرجعية وكلتا القيمتان صغيرتان لأن الإشارة بدون ضجيج، وتم اختيار المقارنة من خلال إشارة الأكبر (if (reading > 15))؛ وذلك لأن الإشارة عند تشغيل الثنائي المشع للضوء تكون قيمتها أصغر مقارنة مع إطفاؤه، وبالتالي بحال وجود عائق يكون الفرق بين القيمتين كبير، حيث يمثل قيمة الإشارة الأصلية.
  • القيم التي استخدمت للمقارنة بكلتا الشيفرتين هي قيم تجريبية تختلف من وسط لآخر، يمكنك تغييرها ومعايرتها حسب الظروف التي تتم ضمنها التجربة.
7.4. أفكار تطويرية
  • يمكنك تعديل الشيفرة السابقة لاكتشاف اللون بدل من اكتشاف العائق، وذلك حسب كمية الانعكاس عن الجسم عند مسافة معينة من الجسم.
  • يمكنك عمل نظام حماية بسيط عند فتح النوافذ و الأبواب عند حلول الليل، باستخدام الحساس السابق.
  • يمكنك تجريب اكتشاف الحواف و الخطوط باستخدام نفس الشيفرة البرمجية السابقة.

5. ملخص

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

Mouhamad Hadid

مهندس في الالكترونيات و الاتصالات من جامعة دمشق مهتم بعالم الالكترونيات الرقمية و المتحكمات وأنظمة الـ IOT والتيار الخفيف.

مقالات ذات صلة

زر الذهاب إلى الأعلى