Skip to main content

استخدام مستشعر الرؤية - C++

رمز صندوق أدوات المعلم مجموعة أدوات المعلم - الغرض من هذا النشاط

يتطلب استخدام مستشعر الرؤية بشكل فعال من الطلاب أن يكونوا قادرين على تكوينه وضبطه اعتمادًا على البيئة التي يوجد فيها. في النشاط التالي، سيتعلم الطلاب كيفية القيام بكليهما.
لمزيد من المعلومات حول برمجة مستشعر الرؤية باستخدام VEXcode V5، قم بزيارة معلومات المساعدة لـ C++ داخل مكتبة VEX.

فيما يلي ملخص لما سيفعله طلابك في هذا النشاط:

  • افتح مشروع مثال الكشف عن الأشياء (الرؤية).

  • تكوين مستشعر الرؤية.

  • قم بتشغيل مشروع مثال الكشف عن الأشياء (الرؤية).

  • المناقشة والتفكير.

  • اضبط مستشعر الرؤية.

أيقونة نصائح المعلم نصائح للمعلم

إذا كانت هذه هي المرة الأولى التي يستخدم فيها الطالب VEXcode V5، فيمكنه الوصول إلى مقالات قد تساعد في مكتبة VEX.

أيقونة نصائح المعلم نصائح المعلم - استخدام الإكمال التلقائي

الإكمال التلقائي هي ميزة في VEXcode V5 تتنبأ ببقية الأمر الذي تكتبه. نظرًا لأن الطلاب يعملون في VEXcode V5، شجعهم على استخدام ميزة الإكمال التلقائي للمساعدة في بناء الجملة.

VEXcode V5 مع جزء مجموعة نقل الحركة من أمر مكتوب إلى اليسار، وإلى اليمين، يتم عرض قائمة قابلة للتمرير من خيارات الإكمال التلقائي لهذا الأمر.

 تغطي مقالات الإكمال التلقائي لـ C++ كيفية استخدام ميزة الإكمال التلقائي.

احصل على الأجهزة المطلوبة، والكمبيوتر المحمول الهندسي، وافتح VEXcode V5.

المواد المطلوبة:
الكمية المواد اللازمة
1

مجموعة بادئ VEX V5 Classroom

1

VEXcode V5 (أحدث إصدار، Windows، MacOS)

1

دفتر ملاحظات هندسي

1

تكوين مستشعر الرؤية (مكتبة VIX)

1

ضبط مستشعر الرؤية (مكتبة فيكس)

1

مشروع مثال الكشف عن الأشياء (الرؤية)

سيعطيك هذا النشاط الأدوات اللازمة لاستخدام مستشعر الرؤية.

يمكنك استخدام معلومات التعليمات (C++) داخل VEXcode V5 للتعرف على التعليمات.

يظهر VEXcode V5 مع فتح Toolbox في أقصى اليسار، وفتح Help fأو Drive for command في أقصى اليمين. توضح التعليمات تعريف الأمر ومعلومات حول كيفية استخدامه.

 

الخطوة 1: افتح مثالاً على المشروع

يحتوي VEXcode V5 على العديد من أمثلة المشاريع المختلفة. ستستخدم إحداها في هذا الاستكشاف.

افتح مثال مشروع الكشف عن الأشياء (الرؤية) من خلال إكمال الخطوات التالية:

  • افتح قائمة الملف.
  • حدد أمثلة مفتوحة.

شريط أدوات VEXcode V5 مع قائمة ملف مفتوحة وأمثلة مفتوحة مظللة في مربع أحمر. Open Examples هو عنصر القائمة الرابع أسفل New Blocks Project و New Text Project و Open.

  • استخدم شريط المرشح في الجزء العلوي من التطبيق وحدد "الاستشعار".

VEXcode V5 مثال على نافذة اختيار المشروع مع تحديد مرشح الاستشعار في الأعلى، وتمييزه في مربع أحمر. فيما يلي ستة أمثلة لأيقونات المشروع.

حدد وافتح مشروع مثال الكشف عن الأشياء (الرؤية).

يقرأ رمز المشروع التوضيحي اكتشاف رؤية الأجسام في الأسفل ويعرض مخططًا أزرقًا للروبوت مع مستشعر يشير إلى اكتشاف الجسم أعلاه.

احفظ مشروعك باسم الكشف عن الكائنات.

  • تحقق للتأكد من أن اسم المشروع الكشف عن الكائنات موجود الآن في النافذة في وسط شريط الأدوات.

يقرأ مربع حوار اسم المشروع في شريط أدوات VEXcode V5 اكتشاف الكائنات ويظهر أن الفتحة 1 محددة إلى اليسار، ويقرأ المحفوظة إلى اليمين.

أيقونة نصائح المعلم نصائح للمعلم

  • تأكد من أن الطلاب قد اختاروا أمثلة مفتوحة من قائمة الملف.

  • تأكد من أن الطلاب قد اختاروا مشروع مثال الكشف عن الأشياء (الرؤية). يمكنك الإشارة إلى الطلاب أن هناك العديد من الاختيارات للاختيار من بينها في صفحة الأمثلة المفتوحة.

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

  • نظرًا لأن VEXcode V5 يحتوي على حفظ تلقائي، فلا داعي لحفظ المشروع مرة أخرى بعد حفظه لأول مرة.

  • إذا كان الطلاب بحاجة إلى مساعدة في الادخار، فقم بتوجيههم إلى إحدى هذه المقالات: 

الخطوة 2: تكوين واستخدام مستشعر الرؤية

تعرض نافذة تكوين مستشعر الرؤية صورة ليد تحمل مكعبًا أحمر إلى اليسار، مع تراكب على المكعب والكلمات REDBOX و W142 H142 فوقه. على اليمين، يتم تعيين 3 توقيعات ملونة لـ BlueBox و Redbox و Greenbox.

افتح مثال مشروع الكشف عن الأشياء (الرؤية) المحفوظ سابقًا.

كيف يتم استخدام مستشعر الرؤية في هذا المشروع ؟ تنبأ بما سيحدث عند تشغيل المشروع واكتب التوقعات في دفتر ملاحظاتك الهندسية.

#include "vex.h"

	using namespace vex;
	
	event checkBlue = event();
	event checkRed = event();
	event checkGreen = event();
	
	// Will check to see if there is a blue object in the view of the Vision
	// Sensor and display the results on line 1 of the V5 Brain's screen.
	void has BlueCallback() {
	
	  Brain.Screen.clearLine(1);
	  Brain.Screen.setCursor(1, 1);
	  Vision5.takeSnapshot(Vision5__BLUEBOX);
	
	  if (Vision5.objectCount > 0) {
		Brain.Screen.print("Blue Object Found");
	
	  } else {
		Brain.Screen.print("No Blue Object");
	  }
	}
	
	// Will check to see if there is a red object in the view of the Vision
	// Sensor and display the results on line 3 of the V5 Brain's screen.
	void has RedCallback() {
	
	  Brain.Screen.clearLine(3);
	  Brain.Screen.setCursor(3, 1);
	  Vision5.takeSnapshot(Vision5__REDBOX);
	
	  if (Vision5.objectCount > 0) {
		Brain.Screen.print("Red Object Found");
	
	  } else {
		Brain.Screen.print("No Red Object");
	  }
	}
	
	// Will check to see if there is a green object in the view of the Vision
	// Sensor and display the results on line 5 of the V5 Brain's screen.
	void has GreenCallback() {
	
	  Brain.Screen.clearLine(5);
	  Brain.Screen.setCursor(5, 1);
	  Vision5.takeSnapshot(Vision5__GREENBOX);
	
	  if (Vision5.objectCount > 0) {
		Brain.Screen.print("Green Object Found");
	
	  } else {
		Brain.Screen.print("No Green Object");
	  }
	}
	
	// Begin project code
	int main() {
	  // Initializing Robot Configuration. DO NOT REMOVE!
	  vexcodeInit();
	
	  // Register event handlers
	  checkBlue (hasBlueCallback);
	  checkRed (hasRedCallback);
	  checkGreen (hasGreenCallback);
	
	  // Small delay to ensure the event handlers are ready to be used
	  wait(15, msec);
	
	  // Set the print font for all future prints to the V5 screen
	  Brain.Screen.setFont(mono40);
	
	  // Constantly run to check for new sensor data
	  while (true) {
		checkBlue.broadcastAndWait();
		checkRed.broadcastAndWait();
		checkGreen.broadcastAndWait();
		wait(0.1, seconds);
	  }
	}
  • قم بتنزيل المشروع وتشغيله. ضع أشياء ملونة مختلفة أمام مستشعر الرؤية ولاحظ سلوك الروبوت. سجل في دفتر ملاحظاتك الهندسية كيف كان تنبؤك مختلفًا أو صحيحًا مقارنة بما لاحظته بالفعل من المشروع.

أيقونة نصائح المعلم نصائح للمعلم

لا يجب أن تكون الكائنات الملونة الثلاثة مكعبات، بل يمكن أن تكون أي كائن أخضر وأحمر وأزرق صغير نسبيًا.

أيقونة تحفيز المناقشة تحفيز المناقشة - الإجابات

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

  1. ما هي خطوات تكوين مستشعر الرؤية ؟

  2. ماذا يفعل الهيكل إذا كان غير ذلك ؟

  3. ماذا سيحدث لكيفية اكتشاف مستشعر الرؤية للأشياء إذا قمنا بتغيير الغرف ؟

ستختلف الإجابات:

  1. يجب على الطلاب ملاحظة أنه يجب تحديد اسم الكائن. يجب وضع الجسم في إطار مستشعر الرؤية وتثبيته باستخدام زر "التجميد". سيتم بعد ذلك تحديد اللون وتكوينه باستخدام زر "ضبط". يجب على الطلاب تحديد الخطوات المدرجة في هذه المقالة.

  2. تعمل بنية if else على تشغيل التعليمات داخل الجزأين الأول أو الثاني من if else بناءً على القيمة المنطقية المبلغ عنها. يمكن العثور على مزيد من المعلومات حول كيفية استخدام هذه التعليمات في معلومات المساعدة.

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

أيقونة توسيع التعلم الخاص بك توسيع نطاق تعلمك - تكوين المزيد من الكائنات

اختر كائنين ملونين آخرين لتكوينهما، ربما أبيض، أرجواني، أصفر، إلخ...

نافذة تكوين مستشعر الرؤية تعرض اللقطة على اليسار بيد تحمل ترسًا أصفر. يوجد تراكب مربع على الترس الأصفر وتقرأ البيانات المربع الأصفر، x90 y 62، w102، h 98. إلى اليمين يتم تعيين توقيعات الألوان لـ Bluebox و Redbox و Greenbox و Yellowbox.

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

الخطوة 3: ضبط مستشعر الرؤية

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

نافذة تكوين مستشعر الرؤية مع يد تمسك بمكعب أحمر مع غطاء فوق المكعب ونص يقرأ الصندوق الأحمر و x84 y 28 ثم w 158 h 166. إلى اليمين، يتم تعيين توقيعات ألوان Bluebox و Redbox و Greenbox مع شريط تمرير مظلل في مربع أحمر مع ضبط القرص على 4.4.

افتح مثال مشروع الكشف عن الأشياء (الرؤية) المحفوظ سابقًا.

كيف سيؤثر ضبط مستشعر الرؤية على مدى قدرته على اكتشاف الأشياء ؟ خذ Clawbot إلى جزء مختلف من الغرفة مع إضاءة أكثر أو أقل.

V5 مخلب على حقل مع الذراع لأسفل والمخلب مفتوح وحول كائن مكعب أرجواني.

  • قم بتنزيل المشروع وتشغيله. ضع أشياء ملونة مختلفة أمام مستشعر الرؤية ولاحظ سلوك الروبوت. قم بتوثيق مدى قدرة مستشعر الرؤية على اكتشاف الأشياء في دفترك الهندسي. هل يحتاج مستشعر الرؤية إلى ضبط بعد تغيير المواقع ؟
  • اضبط مستشعر الرؤية حسب الضرورة. اختبر مستشعر الرؤية بعد ضبطه لتحديد ما إذا كان يمكنه اكتشاف الأشياء بشكل أفضل وإجراء التعديلات حسب الحاجة.

أيقونة تحفيز المناقشة تحفيز المناقشة - التفكير في النشاط

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

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

أيقونة توسيع التعلم الخاص بك قم بتوسيع نطاق تعلمك - كائنات متعددة

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

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

تظهر واجهة أداة استشعار الرؤية يدين تحملان Greenbox و Redbox في النافذة على اليسار. يحتوي كل مكعب ملون على تراكب مع البيانات. على اليمين، تم تعيين توقيعات Bluebox و Redbox و Greenbox و Yellowbox.

تيسير مناقشة حول ما تنبأ به الطلاب ولاحظوه.

قم بتيسير المناقشة من خلال طرح الأسئلة التالية:

  • ما هي الاختلافات بين كائن واحد واثنين وثلاثة كائنات ؟
  • هل يمكنك تعديل المشروع بأي شكل من الأشكال للتعرف على كائنات متعددة ؟