قائمة طعام
مجاني
التسجيل
الصفحة الرئيسية  /  تشغيل/ توصيل كتلتين أو أكثر من كتلتين EV3. LEGO Mindstorms Education EV3 - مراجعة مجموعة البناء

توصيل وحدتين أو أكثر من وحدات البناء EV3. LEGO Mindstorms Education EV3 - مراجعة مجموعة البناء

وصف العرض التقديمي للشرائح الفردية:

شريحة واحدة

وصف الشريحة:

2 شريحة

وصف الشريحة:

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

3 شريحة

وصف الشريحة:

الواجهة: تحتوي قائمة EV3 على قائمة تتكون من 4 أجزاء: البرامج الحديثة ، تصفح الملفات ، تطبيقات وحدة البناء ، إعدادات وحدة البناء

4 شريحة

وصف الشريحة:

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

5 شريحة

وصف الشريحة:

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

6 شريحة

وصف الشريحة:

تشتمل تطبيقات وحدة التحكم EV3 على 4 التطبيقات المثبتة مسبقًا: أ. تمثيل الميناء. B. التحكم في المحركات. ب. مراقبة الأشعة تحت الحمراء. بيئة برمجة الوحدة النمطية.

7 شريحة

وصف الشريحة:

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

8 شريحة

وصف الشريحة:

B. التحكم في المحرك يتحكم في الحركة الأمامية أو العكسية لأي محرك متصل بأحد منافذ الإخراج الأربعة. هناك وضعان مختلفان. في وضع واحد ، ستتمكن من التحكم في المحركات المتصلة بالمنفذ A (باستخدام الزرين لأعلى ولأسفل) والمنفذ D (باستخدام الزرين الأيمن والأيسر). في وضع آخر ، يمكنك التحكم في المحركات المتصلة بالمنفذ B (باستخدام الزرين العلوي والسفلي) والمنفذ C (باستخدام الزرين الأيمن والأيسر). يتم التبديل بين هذين الوضعين باستخدام زر المركز... للعودة إلى نافذة التطبيق الرئيسية للوحدة ، اضغط على زر "رجوع".

9 شريحة

وصف الشريحة:

تحكم IR للأمام أو للخلف لأي محرك متصل بأحد منافذ الإخراج الأربعة باستخدام منارة الأشعة تحت الحمراء عن بعد جهاز التحكمومستشعر الأشعة تحت الحمراء كجهاز استقبال (يجب توصيل مستشعر الأشعة تحت الحمراء بالمنفذ 4 في وحدة البناء EV3). هناك وضعان مختلفان. في وضع واحد ، ستستخدم القناتين 1 و 2 على منارة الأشعة تحت الحمراء البعيدة. في القناة 1 ، ستتمكن من التحكم في المحركات المتصلة بالمنفذ B (باستخدام الزرين 1 و 2 في منارة الأشعة تحت الحمراء عن بُعد) والمنفذ C (باستخدام الزرين 3 و 4 في منارة الأشعة تحت الحمراء عن بُعد). في القناة 2 ، ستتمكن من التحكم في المحركات المتصلة بالمنفذ A (باستخدام الزرين 1 و 2) والمنفذ D (باستخدام الزرين 3 و 4). في وضع آخر ، يمكنك التحكم في المحركات بنفس الطريقة ، بدلاً من استخدام القناتين 3 و 4 على منارة الأشعة تحت الحمراء عن بُعد. يتم التبديل بين هذين الوضعين بمساعدة الزر المركزي. للعودة إلى نافذة التطبيق الرئيسية للوحدة ، اضغط على زر "رجوع".

10 شريحة

وصف الشريحة:

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

11 شريحة

وصف الشريحة:

إعدادات وحدة البناء EV3 تتيح لك هذه النافذة عرض وضبط العناصر المتنوعة الاعدادات العامةفي وحدة البناء EV3.

12 شريحة

وصف الشريحة:

ضبط مستوى الصوت يمكنك زيادة مستوى الصوت وتقليله في علامة تبويب الإعدادات في EV3.

13 شريحة

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

من المثير للدهشة أن كل منفذ من منافذ مستشعر EV3 يخفي عددًا من البروتوكولات المختلفة ، معظمها للتوافق مع NXT وأجهزة استشعار الطرف الثالث. لنلقِ نظرة على كيفية عمل كابل EV3


غريب ، لكن السلك الأحمر أرضي (GND) ، والأخضر هو زائد مصدر الطاقة 4.3 فولت. السلك الأزرق هو SDA لناقل I2C و TX لبروتوكول UART في نفس الوقت. بالإضافة إلى ذلك ، السلك الأزرق هو مدخل المحول التناظري إلى الرقمي لـ EV3. السلك الأصفر هو كلا من SCL لناقل I2C و RX لبروتوكول UART. سلك أبيض - إدخال محول A / D لأجهزة استشعار NXT. أسود - إدخال رقمي ، لأجهزة الاستشعار المتوافقة مع NXT - يكرر GND. ليس سهلا ، أليس كذلك؟ دعنا نذهب بالترتيب.

EV3 المدخلات التناظرية

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

تخبر المقاومة البالغة 910 أوم ، المتصلة وفقًا للرسم التخطيطي ، وحدة التحكم أن هذا المنفذ يحتاج إلى التبديل إلى وضع الإدخال التناظري. في هذا الوضع ، يمكنك توصيل أي مستشعر تناظري بـ EV3 ، على سبيل المثال من Arduino. في الوقت نفسه ، يمكن أن يصل سعر الصرف باستخدام هذا المستشعر إلى عدة آلاف من الاستطلاعات في الثانية ، وهذا هو أسرع نوع من أجهزة الاستشعار.

مستشعر الضوء

ميزان الحرارة

مستشعر رطوبة التربة

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

"مقبض الصوت" المذكور أعلاه (ويعرف أيضًا باسم مقاومة متغيرةأو مقياس الجهد) مثال رائع على المستشعر التناظري - يمكن توصيله على النحو التالي:

لقراءة القيم من هذا المستشعر في بيئة برمجة LEGO قياسية ، يجب عليك استخدام كتلة RAW الزرقاء

بروتوكول I2C

هذا بروتوكول رقمي ، على سبيل المثال مستشعر الموجات فوق الصوتية NXT ، والعديد من مستشعرات Hitechnic ، مثل IR Seeker أو Color Sensor V2. بالنسبة للمنصات الأخرى ، على سبيل المثال بالنسبة لـ Arduino ، هناك الكثير من مستشعرات i2c ، يمكنك أيضًا توصيلها. المخطط على النحو التالي:

توصي LEGO Group بمقاومة 82 أوم ، ومع ذلك ، تشير مصادر مختلفة إلى 43 أوم أو أقل. في الواقع ، حاولنا التخلي عن هذه المقاومة تمامًا وكل شيء يعمل ، على الأقل "على الطاولة". في الروبوت الحقيقي الذي يعمل في ظروف من أنواع مختلفة من التداخل ، يجب أن يتم سحب خطوط SCL و SDA إلى مصدر الطاقة من خلال المقاومة ، كما هو موضح في الرسم البياني أعلاه. سرعة i2c في EV3 بطيئة إلى حد ما ، حوالي 10000 كيلوبت في الثانية ، وهذا هو السبب في أن مستشعر الألوان المفضل لدى الجميع Hitechnic Color Sensor V2 بطيء جدًا :)

لسوء الحظ بالنسبة إلى LEGO EV3-G القياسي ، لا توجد كتلة كاملة للاتصال ثنائي الاتجاه مع مستشعر i2c ، ولكن باستخدام بيئات برمجة تابعة لجهات خارجية مثل RobotC أو LeJOS أو EV3 Basic ، يمكنك التفاعل مع أي مستشعر i2c تقريبًا.

تفتح قدرة EV3 على العمل مع بروتوكول i2c فرصة مثيرة للاهتمام لتوصيل أجهزة استشعار متعددة بمنفذ واحد. يسمح بروتوكول I2C بتوصيل ما يصل إلى 127 جهازًا تابعًا بحافلة واحدة. هل يمكنك أن تتخيل؟ 127 مستشعرًا لكل منفذ من منافذ EV3 :) علاوة على ذلك ، غالبًا ما يتم دمج مجموعة من مستشعرات i2c في جهاز واحد ، على سبيل المثال ، في الصورة أدناه ، مستشعر 10 في 1 (يحتوي على بوصلة وجيروسكوب ومقياس تسارع ومقياس ضغط جوي ، إلخ.)

UART

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

تقوم مستشعرات UART بمطابقة سرعتها تلقائيًا مع EV3. في البداية ، بعد الاتصال بسرعة 2400 كيلوبت في الثانية ، وافقوا على أوضاع التشغيل وأسعار الصرف ، ثم التحول إلى زيادة السرعة... معدلات الباود النموذجية لأجهزة الاستشعار المختلفة هي 38400 و 115200 كيلوبت في الثانية.
نفذت LEGO بروتوكولًا معقدًا إلى حد ما في مستشعرات UART الخاصة بها ، لذلك لا توجد أجهزة استشعار تابعة لجهات خارجية مخصصة في الأصل ليس لهذا النظام الأساسي ، ولكنها متوافقة معها. ومع ذلك ، فإن هذا البروتوكول مناسب جدًا لربط "عصامي"
مجسات تعتمد على ميكروكنترولر.
توجد مكتبة رائعة لمحاكاة Arduino ، EV3UARTEmulation ، كتبها مطور LeJOS الشهير Lawrie Griffiths ، مما يسمح لهذه اللوحة بالتظاهر بأنها مستشعر متوافق مع UART-LEGO. تحتوي مدونته LeJOS News على العديد من الأمثلة على توصيل مستشعرات الغاز ومستشعر IMU وبوصلة رقمية باستخدام هذه المكتبة.

الفيديو أدناه هو مثال على استخدام جهاز استشعار محلي الصنع. ليس لدينا عدد كافٍ من أجهزة استشعار المسافة من LEGO الأصلية ، لذلك نستخدم أحد أجهزة الاستشعار محلية الصنع على الروبوت:


تتمثل مهمة الروبوت في البدء من خلية خضراء ، وإيجاد طريقة للخروج من المتاهة (الخلية الحمراء) والعودة إلى نقطة البداية بأقصر طريق دون القيادة في طريق مسدود.

هذه المقالة سوف تركز على نسخة جديدةالمُنشئ - LEGO Mindstorms Education EV3. لكن قبل الحديث عن الابتكارات في EV3 ، دعنا نتعرف على سلسلة المنشئين ليغو مايندستورمزأقرب.

LEGO Mindstorms عبارة عن مجموعة بناء آلية للأطفال من سن 10 أعوام فما فوق. تُستخدم أجزاء LEGO Technis كوحدات بناء للروبوت - كثير من الرجال يعرفونهم بالفعل من صانعي "التكنولوجيا والفيزياء" ، "بضغط الهواء" ،. لكن بناء هيكل عظمي للروبوت لا يكفي: من الضروري "تعليمه" لتلقي المعلومات من البيئة والتفاعل معها. لهذا الغرض ، يتم استخدام أجهزة خاصة - أجهزة استشعار: فهي تتيح لك تحديد اللون والإضاءة والمسافة إلى الأشياء القريبة وغير ذلك الكثير. يمكن للروبوت أن يتفاعل مع "المنبهات" بمساعدة المحركات - إما الذهاب إلى مكان ما أو القيام بشيء ما - على سبيل المثال ، عض الجاني على الإصبع. و "دماغ" الروبوت هو وحدة خاصة قابلة للبرمجة ، تتصل بها جميع المحركات وأجهزة الاستشعار.

دعنا ننتقل إلى تكوين مجموعة LEGO Mindstorms EV3. إليك ما تم تضمينه في الإصدار التعليمي للمجموعة:

  • 1 كتلة قابلة للبرمجة
  • 3 محركات:
    • عدد 2 محرك كبير
    • 1 محرك متوسط
  • 5 مجسات:
    • عدد 2 مستشعرات تعمل باللمس
    • مستشعر لون واحد
    • 1 جهاز استشعار المسافة بالموجات فوق الصوتية
    • 1 جيروسكوب
  • بطارية الروبوت
  • 528 قطعة ليجو تكنيك

أجهزة الاستشعار والمحركات

دعنا نلقي نظرة على ما تغير في EV3 مقارنةً بـ نسخة قديمة NXT.

ستتضمن المجموعة 3 محركات ، لكن سيختلف أحدها من حيث الحجم والخصائص التقنية.

تم استبدال مستشعر الصوت بجيروسكوب. تبقى أنواع المستشعرات المتبقية كما هي.

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

يتم عرض خصائص أجهزة الاستشعار والمحركات أدناه.

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

مستشعر اللون

يكتشف مستشعر الألوان EV3 7 ألوان ويمكنه اكتشاف نقص اللون. كما في الإصدار السابق ، يمكن أن يعمل كمستشعر للضوء.

  • تعكس التدابير الضوء الأحمر والضوء المحيط
  • قادرة على التمييز بين الأبيض والأسود أو الألوان: الأزرق والأخضر والأصفر والأحمر والأبيض والبني
  • تردد التشغيل: 1 كيلو هرتز

جيروسكوب

يقيس مستشعر الجيروسكوب EV3 حركة دوران الروبوت وتغييرات الوضع.

  • يمكن استخدامه لتحديد الاتجاه الحالي للدوران
  • الدقة: +/- 3 درجات عند 90 درجة من الدوران (في وضع قياس الإمالة)
  • يمكن الكشف عن 440 درجة / ثانية كحد أقصى (في وضع الدوران)
  • تردد التشغيل: 1 كيلو هرتز

جهاز استشعار المسافة بالموجات فوق الصوتية


تمت إضافة وظيفة أخرى إلى الوظيفة الرئيسية لحساس الموجات فوق الصوتية EV3 - يمكنه أيضًا "الاستماع" إلى الاهتزازات فوق الصوتية المنبعثة من أجهزة استشعار الموجات فوق الصوتية الأخرى.

  • يمكن قياس المسافة في حدود 3 - 250 سم.
  • دقة القياس: +/- 1 سم
  • تقدير نتيجة القياس: 0.1 سم.
  • يمكن استخدامها للبحث عن أجهزة استشعار الموجات فوق الصوتية النشطة الأخرى (وضع الاستماع)
  • إضاءة LED حمراء حول "العيون"

محرك كبير

محرك مؤازر EV3 كبير يشبه إلى حد بعيد إصدار سابقمن محرك NXT ، لكن جسم المحرك أصبح أكبر قليلاً (في الواقع ، يشغل الآن 14x7x5 حفرة مقابل 14x6x5 السابق). كما تم تغيير نقاط التعلق بالمحركات ونوعها.

  • السرعة القصوى - 160-170 دورة في الدقيقة.
  • ضبط عزم الدوران - 40 نيوتن / سم
  • العزم الحقيقي 20 نيوتن / سم.

محرك متوسط

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

  • السرعة القصوى - 240-250 دورة في الدقيقة.
  • ضبط عزم الدوران - 12 نيوتن / سم
  • العزم الحقيقي 8 نيوتن / سم.
  • مستشعر زاوية مدمج (مشفر) للمحرك بدقة 1 درجة

تتوافق مستشعرات ومحركات وكابلات NXT مع EV3 ، لذلك يمكن التحكم في جميع الروبوتات التي تم تصنيعها مسبقًا بواسطة الوحدة الجديدة.

وحدة البناء EV3 القابلة للبرمجة

خضع الحاسوب الصغير EV3 أيضًا إلى تغييرات كبيرة. مقارنةً بـ NXT ، تحتوي كتلة EV3 على معالج أسرع وذاكرة أكبر. يعتمد البرنامج الثابت لكتلة EV3 على نظام التشغيل Linux المجاني ، مما يجعل من الممكن إنشاء البرامج الثابتة الخاصة بك للكتلة. أصبح من الممكن الآن توصيل الروبوت بجهاز كمبيوتر ليس فقط عبر USB و Bluetooth ، ولكن أيضًا عبر Wi-Fi. يمكن للروبوتات أيضًا التواصل مع بعضها البعض عبر USB و Bluetooth و Wi-Fi.

يوجد أدناه جدول مقارنة لمواصفات NXT و EV3:


NXT EV3
وحدة المعالجة المركزية اتميل 32 بت ARM AT91SAM7S256
48 ميجا هرتز
256 كيلو بايت ذاكرة متنقله
64 كيلو بايت من ذاكرة الوصول العشوائي
ARM9
300 ميغا هيرتز
ذاكرة فلاش 16 ميجا بايت
ذاكرة رام 64 ميجا بايت
معالج مساعد Atmel 8-Bit ARM AVR، ATmega48
8 ميجا هرتز
4 كيلوبايت ذاكرة فلاش
ذاكرة رام 512 بايت
غائب
نظام التشغيل امتلاكي لينكس
منافذ الإدخال (لأجهزة الاستشعار) 4 منافذ
يدعم أجهزة الاستشعار التناظرية والرقمية
معدل الباود: 9600 بت في الثانية (I2C)
4 منافذ
يدعم أجهزة الاستشعار التناظرية والرقمية

معدل الباود: ما يصل إلى 460.8 كيلوبت في الثانية (UART)
منافذ الإخراج (للمحركات) 3 منافذ
4 منافذ
نقل بيانات USB وضع السرعة الكاملة قيد الاستخدام: 12 ميجابت في الثانية وضع السرعة العالية قيد الاستخدام: 480 ميجابت في الثانية
اتصال جهاز USB:٪ s أي احتمال اتصال سلسلة ديزي تصل إلى 3 أجهزة ، بما في ذلك بطاقات الشبكةواي فاي وبطاقات الفلاش
قارئ بطاقة SD غائب يدعم بطاقات miniSD بسعة قصوى 32 جيجا بايت
اتصل بـ أجهزة محمولة يمكن الاتصال بأجهزة Android OS يمكن توصيله بأجهزة Android و iOS (iPhone و iPad)
شاشة شاشة LCD أحادية اللون
100 * 64 بكسل
شاشة LCD أحادية اللون
178 * 128 بكسل
تفاعل بلوتوث
USB 2.0
بلوتوث v2.1 DER
USB 2.0 (عند توصيله بجهاز كمبيوتر
USB 1.1 (عند ربط عدة أجهزة)
واي فاي

بيئة البرمجة

يأتي EV3 مع بيئة تطوير رسومية جديدة قائمة على LabView مماثلة لـ NXT-G. ستعمل ، مثل NXT-G ، على نظامي التشغيل Windows و Mac.

تم تحسين بيئة تطوير EV3 بشكل كبير. الآن يمكن تخزين جميع المواد الخاصة بالروبوت: برامج للروبوت ، والتوثيق ، والنتائج التجريبية ، والصور ومقاطع الفيديو - في المشروع. تمت أيضًا إضافة أداة التكبير / التصغير ، والتي تسمح لك بتوسيع نطاق البرنامج ، على سبيل المثال ، لمشاهدة البرنامج بأكمله بالكامل. تجدر الإشارة إلى أنه يمكن برمجة NXT Block مع بيئة EV3 الجديدة ، إلا أن الكتلة القديمة لا تدعم جميع ميزات لغة البرمجة الجديدة.

دعنا نسرد الابتكارات الرئيسية لبيئة برمجة EV3:

  • تكامل وثيق لبيئة البرمجة مع الكتلة:
    • مضاف صفحة خاصةمع المعدات المتصلة. يسمح لك بمراقبة حالة كتلة EV3 واستقبال القيم من المستشعرات في الوقت الفعلي.
    • يتم التعرف على المستشعرات والمحركات تلقائيًا عند الاتصال ، وذلك بفضل وظيفة التعرف التلقائي. هذا يسمح لك بعدم الإشارة إلى أن كذا وكذا المستشعر أو المحرك متصل بمنفذ كذا وكذا.
  • وضع التصحيح الجديد:
    • أثناء تشغيل البرنامج ، يتم تمييز الكتلة التي يتم تنفيذها. هذا يسمح لك بفهم سلوك البرنامج بدقة.
    • يضيء على وحدة البرمجة. حرف خاصإذا تم توصيل جهاز استشعار أو محرك آخر بهذا المنفذ.
    • تمت إضافة القدرة على عرض القيم المنقولة عبر أسلاك البيانات.
  • الميزات الجديدة لكتل ​​البرامج:
    • أتاح اقتران الكتل معًا التخلي عن "حزمة التنفيذ" التي توجد عليها الكتل في بيئة NXT-G.
    • لا تحتوي الكتل على مفهوم مثل لوحة التخصيص - أصبح السلوك الآن قابلاً للتخصيص مباشرة على الكتلة ، مما يؤدي إلى زيادة حجمها. أصبح البرنامج الآن أسهل في القراءة - يمكنك أن ترى على الفور كيفية تهيئة المستشعرات والمحركات.
    • توجد الآن كتل "انتظار التغيير" ، والتي تسمح لك بالتفاعل مع حقيقة التغيير في القيمة ، وليس التغيير إلى قيمة معينة كما هو الحال في NXT-G.
    • تسمح التحسينات في نقل البيانات من كتلة إلى أخرى بتحويل نوع أسهل (لم تعد بحاجة إلى التحويل يدويًا ، على سبيل المثال ، رقم إلى سلسلة).
    • تمت إضافة القدرة على العمل مع المصفوفات.
    • أصبح الخروج المبكر من الدورة ممكنًا.

بالإضافة إلى لغة البرمجة الجديدة ، ظهر أن برامج Android و iPhone / iPad تتحكم في الروبوت. يعتمد أيضًا على منتجات أوتوديسكأنشأ Invertor Publisher برنامجًا لإنشاء وعرض إرشادات ثلاثية الأبعاد خطوة بخطوة. في هذا البرنامج ، يمكنك قياس النموذج وتدويره في كل مرحلة من مراحل التجميع ، مما يسمح لك ببناء روبوتات أكثر تعقيدًا وفقًا للإرشادات.

الروبوتات الأساسية

تتضمن المجموعة التعليمية تعليمات لتجميع 5 روبوتات:

فارز اللون
المهمة الكلاسيكية لفرز الكائنات (في هذه الحالة ، أجزاء Lego) حسب اللون.

فتى الجيروسكوب
روبوت سيجواي يستخدم جيروسكوب لتحقيق التوازن.

جرو
الكلب الآلي الذي يمكن مداعبته وإطعامه. إنها تعرف أيضًا كيف تنام وتريح نفسها :) تذكر من Tamagotchi.

اليد الآلية
يسمح لك بنقل العناصر.

بالنسبة لمجموعة EV3 ، تم إعداد مجموعة موارد LEGO MINDSTORMS Education EV3 ، مما يتيح لك تجميع طرز أخرى باستخدام أجزاء جديدة.

عند كتابة المقال ، تم استخدام مواد من مدونة nnxt.blogspot.com.

اتصال USB

يمكن توصيل LEGO Mindstorms EV3 بجهاز كمبيوتر شخصي أو EV3 آخر عبر اتصال USB. سرعة الاتصال والاستقرار أفضل في هذه الحالة من أي طريقة أخرى ، بما في ذلك البلوتوث.

تحتوي LEGO Mindstorms EV3 على منفذي USB.

سلسلة اتصال Daisy بين LEGO EV3 وأجزاء مكعبات LEGO EV3 الأخرى.

يربط وضع السلسلة التعاقبية اثنين أو أكثر من مكعبات LEGO EV3.

هذا الوضع:

  • مصممة لتوصيل أكثر من LEGO Mindstorms EV3 ؛
  • يعمل على الاتصال أكثرأجهزة الاستشعار والمحركات والأجهزة الأخرى ؛
  • يسمح بالاتصال بين العديد من LEGO Mindstorms EV3s (حتى 4) ، مما يمنحنا ما يصل إلى 16 منفذًا خارجيًا ونفس عدد المنافذ الداخلية ؛
  • يجعل من الممكن إدارة السلسلة بأكملها من LEGO Mindstorms EV3 الرئيسية ؛
  • لا يمكن أن تعمل عندما تكون نشطة اتصال واي فايأو البلوتوث.

لتمكين وضع اتصال الحلقة ، انتقل إلى نافذة إعدادات المشروع وحدد المربع.

عند تحديد هذا الوضع ، يمكننا اختيار وحدة البناء EV3 التي سيتم استخدامها وأجهزة الاستشعار المطلوبة لأي محرك.

يوضح الجدول خيارات استخدام وحدات البناء EV3:

عمل

محرك متوسط

محرك كبير

توجيه

الإدارة المستقلة

جيروسكوبي

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

فوق صوتي

دوران المحرك

درجات الحرارة

الطاقة متر

يبدو

اتصال بلوتوث

تسمح تقنية Bluetooth لـ LEGO Mindstorms EV3 بالاتصال بأجهزة الكمبيوتر وأجهزة LEGO Mindstorms EV3 الأخرى والهواتف الذكية وأجهزة Bluetooth الأخرى. يصل مدى الاتصال عبر البلوتوث إلى 25 مترًا.

يمكن توصيل ما يصل إلى 7 كتل بـ LEGO Mindstorms EV3. تسمح لك وحدة البناء الرئيسية EV3 بإرسال واستقبال الرسائل لكل تابع لـ EV3. يمكن لعبيد EV3 إرسال رسائل إلى Master EV3 Brick فقط ، وليس إلى بعضهم البعض.

تسلسل اتصال بلوتوث EV3

لتوصيل وحدتي EV3 أو أكثر ببعضهما البعض عبر البلوتوث ، عليك القيام بما يلي:

1. افتح علامة تبويب التخصيص.

2. حدد بلوتوثواضغط على زر الوسط.

3. نضع خانة اختيار الرؤيةبلوتوث.

4. تحقق من أن علامة البلوتوث ("<") виден на верхней левой стороне.

5. اتبع الإجراء أعلاه لمعرفة العدد المطلوب من وحدات البناء EV3.

6. أدخل علامة التبويب اتصال:

7. انقر فوق الزر "بحث":

8. حدد EV3 الذي تريد الاتصال به (أو الذي تريد الاتصال به) واضغط على زر الوسط.

9. نقوم بتوصيل الكتلة الأولى والثانية بمفتاح وصول.

إذا تم كل شيء بشكل صحيح ، فإن "<>"، يربط وحدات البناء EV3 الأخرى بنفس الطريقة إذا كان هناك أكثر من اثنين.

إذا قمت بإيقاف تشغيل LEGO EV3 ، فسيتم فقد الاتصال وستحتاج إلى تكرار جميع النقاط.

هام: لكل كتلة ، يجب كتابة برنامجها الخاص.

برنامج عينة:

الكتلة الأولى: عند الضغط على مستشعر اللمس ، تقوم وحدة البناء EV3 الأولى بإرسال النص إلى المجموعة الثانية مع تأخير لمدة 3 ثوانٍ (الكتلة الرئيسية).

برنامج مثال للكتلة 2:

تنتظر الكتلة الثانية قبول النص من الكتلة الأولى ، وبمجرد استلامها ، ستعرض الكلمة (في مثالنا ، هذه هي الكلمة "Hello") لمدة 10 ثوانٍ (الكتلة الفرعية).

اتصال واي فاي

يمكن الاتصال لمسافات أطول من خلال توصيل Wi-Fi Dongle بمنفذ USB في EV3.

لاستخدام Wi-Fi ، تحتاج إلى تثبيت وحدة بناء مخصصة على وحدة البناء EV3 باستخدام موصل USB (محول Wi-Fi (محول لاسلكي Netgear N150 (WNA1100) ، أو يمكنك أيضًا توصيل Wi-Fi Dongle.

تقليديا الروبوتات المبنية على منصة ليجو مايندستورمز EV3مبرمجة باستخدام بيئة LabVIEW الرسومية. في هذه الحالة ، يتم تشغيل البرامج على وحدة التحكم EV3 ويعمل الروبوت بشكل مستقل. سأتحدث هنا عن طريقة بديلة للتحكم في الروبوت - باستخدام منصة .NET التي تعمل على الكمبيوتر.

ولكن قبل أن ننتقل مباشرة إلى البرمجة ، دعنا نلقي نظرة على بعض الحالات التي يمكن أن يكون فيها هذا مفيدًا:

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

واجهة برمجة تطبيقات LEGO MINDSTORMS EV3 لـ .NET

يتم التحكم في وحدة التحكم EV3 من نظام خارجي عن طريق إرسال أوامر إلى المنفذ التسلسلي. يتم وصف تنسيق الأمر نفسه في مجموعة مطوري الاتصالات.

لكن تنفيذ هذا البروتوكول يدويًا أمر ممل. لذلك ، يمكنك استخدام برنامج تضمين .NET جاهز تمت كتابته بعناية بواسطة Brian Peek. تتم استضافة الكود المصدري لهذه المكتبة على Github ، ويمكن العثور على الحزمة الجاهزة للاستخدام على Nuget.

التوصيل بوحدة تحكم EV3

تُستخدم فئة وحدة البناء للتواصل مع وحدة تحكم EV3. عند إنشاء هذا الكائن ، تحتاج إلى تمرير تنفيذ واجهة IC Communication إلى المُنشئ - وهو كائن يصف كيفية الاتصال بوحدة التحكم EV3. تتوفر تطبيقات UsbCommunications و BluetoothC Communication وشبكات الاتصال.

الطريقة الأكثر شيوعًا للاتصال هي عبر البلوتوث. دعنا نلقي نظرة فاحصة على طريقة الاتصال هذه.

قبل أن نتمكن من الاتصال بوحدة التحكم برمجيًا عبر Bluetooth ، يجب توصيل وحدة التحكم بالكمبيوتر باستخدام إعدادات نظام التشغيل.

بعد توصيل جهاز التحكم ، انتقل إلى إعدادات Bluetooth وحدد علامة التبويب منافذ COM. نجد وحدة التحكم الخاصة بنا ، نحتاج منفتحميناء. سنحدده عند إنشاء كائن BluetoothC Communication.

سيبدو رمز الاتصال بوحدة التحكم كما يلي:

اتصال المهام العامة غير المتزامنة (اتصال IC) (اتصال var = اتصال Bluetooth جديد ("COM9") ؛ var brick = _brick = new Brick (اتصال) ؛ انتظار _brick.ConnectAsync () ؛)

اختياريًا ، يمكنك تحديد مهلة الاتصال بوحدة التحكم:

Await _brick.ConnectAsync (TimeSpan.FromSeconds (5)) ؛

الاتصال بالوحدة عبر USB أو WiFi مشابه ، باستثناء استخدام كائنات UsbC Communication و NetworkC Communication.

يتم تنفيذ جميع الإجراءات الإضافية التي يتم إجراؤها باستخدام وحدة التحكم من خلال كائن Brick.

دعنا ندير المحركات

لتنفيذ الأوامر على وحدة تحكم EV3 ، ارجع إلى خاصية DirectCommand لكائن Brick. أولاً ، لنحاول بدء تشغيل المحركات.

لنفترض أن محركنا متصل بالمنفذ A من وحدة التحكم ، فإن بدء تشغيل هذا المحرك بقوة 50٪ سيبدو كما يلي:

Await _brick.DirectCommand.TurnMotorAtPowerAsync (OutputPort.A، 50) ،

هناك طرق أخرى للتحكم في المحرك. على سبيل المثال ، يمكنك تدوير محرك بزاوية محددة باستخدام أساليب StepMotorAtPowerAsync () و StepMotorAtSpeedAsync (). في المجموع ، تتوفر عدة طرق ، وهي اختلافات في أوضاع تشغيل المحركات - في الوقت والسرعة والطاقة وما إلى ذلك.

يتم تنفيذ الإيقاف القسري بواسطة طريقة StopMotorAsync ():

Await _brick.DirectCommand.StopMotorAsync (OutputPort.A، true) ،

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

قراءة القيم من أجهزة الاستشعار

تحتوي وحدة التحكم EV3 على أربعة منافذ استشعار. بالإضافة إلى ذلك ، تحتوي المحركات أيضًا على أجهزة تشفير مدمجة ، مما يسمح باستخدامها كأجهزة استشعار. نتيجة لذلك ، لدينا 8 منافذ يمكنك من خلالها قراءة القيم.

يمكن الوصول إلى منافذ قراءة القيم من خلال خاصية Ports لكائن Brick. المنافذ عبارة عن مجموعة من المنافذ المتوفرة على وحدة التحكم. لذلك ، للعمل مع منفذ معين ، تحتاج إلى تحديده. InputPort.One ... InputPort. أربعة منافذ استشعار و InputPort.A ... InputPort.D هي ترميز المحرك.

Var port1 = _brick.Ports ؛

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

Brick.Ports.SetMode (ColorMode.Reflective) ؛

الآن بعد أن تم توصيل المستشعر وتعيين وضع التشغيل الخاص به ، يمكنك قراءة البيانات منه. يمكنك الحصول على البيانات الأولية والقيمة المعالجة وقيمة النسبة المئوية.

Float si = _brick.Ports.SIValue؛ int raw = _brick.Ports.RawValue ؛ نسبة البايت = _brick.Ports.PercentValue ؛

تقوم خاصية SIValue بإرجاع البيانات التي تمت معالجتها. كل هذا يتوقف على نوع المستشعر المستخدم وفي أي وضع. على سبيل المثال ، عند قياس الضوء المنعكس ، نحصل على قيم من 0 إلى 100 اعتمادًا على شدة الضوء المنعكس (أسود / أبيض).

إرجاع خاصية RawValue القيمة الأولية المتلقاة من ADC. في بعض الأحيان يكون استخدامه أكثر ملاءمة لمزيد من المعالجة والاستخدام. بالمناسبة ، في بيئة تطوير EV3 ، هناك أيضًا إمكانية الحصول على قيم "خام" - لهذا تحتاج إلى استخدام الكتلة من اللوحة الزرقاء.

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

تنفيذ الأوامر في "دفعة"

لنفترض أن لدينا عربة روبوت بعجلتين ونريد نشرها في مكانها. في هذه الحالة ، يجب أن تدور العجلتان في الاتجاه المعاكس. إذا استخدمنا DirectCommand وأرسلنا أمرين بشكل تسلسلي إلى وحدة التحكم ، فقد يستغرق الأمر بعض الوقت بين تنفيذهما:

Await _brick.DirectCommand.TurnMotorAtPowerAsync (OutputPort.A، 50) ، await _brick.DirectCommand.TurnMotorAtPowerAsync (OutputPort.B، -50) ،

في هذا المثال ، نرسل أمرًا لتدوير المحرك A بسرعة 50 ، بعد الانتهاء بنجاح من إرسال هذا الأمر ، نكرر الأمر نفسه مع المحرك المتصل بالمنفذ B. المشكلة هي أن الأوامر لا يتم إرسالها على الفور ، لذلك يمكن أن تبدأ المحركات في الدوران في أوقات مختلفة - أثناء إرسال الأمر إلى المنفذ B ، المحرك A بالفعلسيبدأ في الدوران.

إذا كان من المهم بالنسبة لنا أن نجعل المحركات تدور في نفس الوقت ، فيمكننا إرسال الأوامر إلى وحدة التحكم في "دفعة". في هذه الحالة ، يجب عليك استخدام خاصية BatchCommand بدلاً من DirectCommand:

Brick.BatchCommand.TurnMotorAtPower (OutputPort.A، 50) ؛ _brick.BatchCommand.TurnMotorAtPower (OutputPort.B، -50) ، انتظار _brick.BatchCommand.SendCommandAsync () ،

الآن يتم إعداد أمرين في وقت واحد ، وبعد ذلك يتم إرسالهما إلى وحدة التحكم في حزمة واحدة. وحدة التحكم ، بعد تلقي هذه الأوامر ، ستبدأ في تدوير المحركات في نفس الوقت.

ما الذي يمكن عمله

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

  • CleanUIAsync () و DrawTextAsync () و DrawLineAsync () وما إلى ذلك - معالجة الشاشة المدمجة لوحدة التحكم EV3
  • PlayToneAsync () و PlaySoundAsync () - استخدام مكبر الصوت المدمج لتشغيل الأصوات
  • WriteFileAsync ()، CopyFileAsync ()، DeleteFileAsync () (من SystemCommand) - العمل مع الملفات

استنتاج

يعد استخدام .NET للتحكم في روبوتات Mindstorms EV3 مثالًا جيدًا على كيفية عمل التقنيات "من عوالم مختلفة" معًا. نتيجة للبحث في EV3 API لـ .NET ، تم إنشاء تطبيق صغير يسمح لك بالتحكم في EV3 Robot من جهاز كمبيوتر. لسوء الحظ ، توجد تطبيقات مماثلة لـ NXT ، وقد تجاوزت EV3. في الوقت نفسه ، فهي مفيدة في تحطيم الروبوتات التي يتم التحكم فيها ، على سبيل المثال في كرة القدم الآلية.

يمكن تنزيل التطبيق وتثبيته من هذا الرابط: