رف كتب الروبوتات. دورة برمجة الروبوت EV3 في Lego Mindstorms EV3 البرنامج التعليمي للبرمجة EV3

بيت / محركات الأقراص الصلبة

إذا كنت تحب بيئة البرمجة الرسومية Scratch 2.0، فلا داعي للتخلي عنها لبرمجة الروبوتات ليغو مايندستورمز EV3. تحتاج فقط إلى تثبيت وتكوين ما يلزم برمجةوالتي سيتم الكتابة عنها في هذا المقال.

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

تحضير بطاقة SD

قبل أن تبدأ في فعل أي شيء آخر، عليك أن تجد الخيار المناسب بطاقة SD، قم بإزالة كافة الأقسام غير الضرورية التي قد تكون موجودة هناك وقم بتهيئتها. يجب أن تكون هذه بطاقة بحجم لا يقل عن 2 جيجابايتولكن ليس أكثر 32 جيجابايت (بطاقات SDXCغير مدعومة من قبل الوحدة النمطية EV3).يجب أن يكون نظام الملفات الموجود على البطاقة FAT32.المطورين leJOSيوصى بتهيئة البطاقة باستخدام برنامج SD Card Formatter. بعد كل شيء، حتى لو قررت استخدام بطاقة الذاكرة التي اشتريتها للتو، فقد تحتوي على أقسام مخفية، والتي يمكن أن تسبب مشاكل عند العمل معها EV3.ومع ذلك، إذا كان لديك بطاقة SDأقل من 4 جيجابايت، ثم يقوم البرنامج بالاختيار تلقائيًا نظام الملفات سمينوهذا لا يمكن تغييره في الإعدادات وذلك بعد فورمات البرنامج منسق بطاقة SDتنسيق هذه البطاقات في الشكل FAT32بطريقة أخرى. بالإضافة إلى ذلك، عند استخدام البطاقات القديمة، لدي 2 جيجابايت, ليجوس EV3رفض التمهيد على الإطلاق، على الرغم من نجاح التثبيت. من تجربتي أنصحك باستخدام البطاقات المشتراة حديثًا SDHCمقدار 4 – 32 جيجا(كل شيء يعمل بنجاح مع البطاقة بالنسبة لي SDHCمقدار 4 جيجا فئة 4إنتاج com.smartbuy).

تثبيت مكونات leJOS EV3 على جهاز الكمبيوتر الخاص بك

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

لذلك دعونا تثبيت ليجوس EV3إلى الكمبيوتر:

      • تحميل أحدث نسخة ليجوس EV3 0.9.0 بيتا). للتثبيت على ويندوز– سيكون هذا الملف leJOS_EV3_0.9.0-beta_win32_setup.exe.
      • قم بتشغيل التوزيع الذي تم تنزيله على جهاز الكمبيوتر الخاص بك. سترى تحية. انقر " التالي >».

      • في هذه الخطوة حدد JDK (مجموعة تطوير جافا) الذي ستستخدمه. يوصى باستخدامه جافا 7أو 8 . ومع ذلك، للاستخدام جافا 8سوف تحتاج إلى إنشاء ملف تعريف مضغوط مناسب جافا,لهذا السبب جافا 7سيكون أسهل في الاستخدام، وهذا ما سنفعله. لو JDKلم تقم بتثبيته، انقر على الزر " تحميل جي دي كيه"وبعد الذهاب إلى الموقع أوراكل,تحميل المناسب JDKوتثبيته على جهاز الكمبيوتر الخاص بك. انقر فوق الزر التالي >».

      • في الخطوة التالية، يمكنك اختيار مسار التثبيت أو تركه دون تغيير. انقر " التالي >».
      • في الخطوة التالية، سترى قائمة بالمكونات المراد تثبيتها. يوصى بتثبيت جميع المكونات. انقر " التالي >».

      • في الخطوة التالية، ستتمكن من تحديد مسارات التثبيت البديلة للمكونات المحددة. هنا يمكنك ترك كل شيء كإعداد افتراضي والنقر على " التالي >».
      • في الخطوة التالية، حدد اسم المجلد من القائمة “ يبدأ" انقر " التالي >».
      • على الخطوة الأخيرةانقر "ثَبَّتَ".
      • إذا كان لديك إصدار سابق مثبت على جهاز الكمبيوتر الخاص بك ليجوس EV3، ثم سيظهر لك تحذير، انظر الصورة. انقر فوق "موافق" للحذف الإصدار السابقمن جهاز كمبيوتر.

      • بعد التثبيت ستظهر لك النافذة النهائية هنا يمكنك تحديد المربع " قم بتشغيل الأداة المساعدة EV3SDCard"لتشغيل الأداة المساعدة لإعداد بطاقة SD على الفور عند الخروج من المعالج.

انقر فوق الزر "ينهي"مع مربع الاختيار " قم بتشغيل الأداة المساعدة EV3SDCard» بعد تثبيت المكونات ليجوس EV3إلى جهاز الكمبيوتر الخاص بك أو قم بتشغيل الأداة المساعدة يدويًا عن طريق تشغيل الملف ev3sdcard.batالذي هو في المجلد بن,داخل المجلد الذي قمت بتثبيته ليجوس EV3(بالنسبة لي هذا هو المجلد " C:\ملفات البرنامج\leJOS EV3\bin"). بعد الإطلاق، من المفترض أن تشاهد النافذة الموضحة في الصورة أدناه.

في الحقل العلوي، يتعين عليك تحديد حرف محرك الأقراص الخاص ببطاقتك، وهو محرك الأقراص بالنسبة لي أنا:. يشير الحقل أدناه إلى ملف الصورة leJOSوبشكل افتراضي يجب أن تكون قد قمت بالتسجيل بالفعل الطريق الصحيح، انظر الصورة أعلاه. يمكن العثور على هذا الملف في المجلد حيث تم تثبيت المكونات ليجوس EV3( عندي هذا " C:\ملفات البرنامج\leJOS EV3"). في الحقل السفلي، تحتاج إلى تحديد الملف مع بيئة التشغيل جافا,الذي تحتاج أولاً إلى تنزيله من الموقع أوراكلمن هنا (تأكد من تحديد جافا 7 جي آر إي، لا جافا 8 SDK، ما لم تكن تخطط بالطبع لإنشاء ملف تعريف مضغوط جافا 8). للتنزيل، ستحتاج إلى التسجيل إذا لم تكن قد قمت بذلك بالفعل.

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

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

في وقت لاحق، عند تشغيل الوحدة النمطية EV3مع إدخال بطاقة SD ليجوس EV3سيبدأ التنزيل على الفور ليجوس EV3، وبدون بطاقة SD سيتم تحميل البرنامج القياسي ليغو.

تثبيت Adobe AIR على جهاز الكمبيوتر الخاص بك

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

الآن قم بتنزيل أحدث إصدار من المحرر غير المتصل بالإنترنت وتثبيته على جهاز الكمبيوتر الخاص بك سكراتش 2(في وقت كتابة هذا هو الإصدار 437, ملف سكراتش-437.exe). يحتوي برنامج التثبيت على عدد قليل جدًا من المعلمات، انظر الصورة. قم بإلغاء تحديد " قم بتشغيل التطبيق بعد التثبيت" وانقر على " يكمل».

بعد التثبيت ستظهر لك الرسالة التالية، انظر الصورة. انقر على " مستعد».

تثبيت تطبيق ev3-scratch-helper-app على جهاز الكمبيوتر الخاص بك

الشيء التالي الذي يجب فعله هو تثبيت تطبيق المساعد تطبيق ev3-scratch-helperلجهاز الكمبيوتر الخاص بك، مما يجعل التفاعل ممكنا يخدشمع الوحدة النمطية EV3(اقرأ عن التطبيقات المساعدة لـ يخدشيستطيع ). يمكن أن يتم التثبيت بطريقتين:

    1. إذا قمت بتثبيته على جهاز الكمبيوتر الخاص بك بوابةثم يمكنك استنساخ المشروع عن طريق تشغيل الأمر " استنساخ بوابة https://github.com/koen-dejonghe/ev3-scratch-helper-app.git" هذه الطريقة هي المفضلة، ولكن إذا كنت لا تعرف ما هو بوابةوهذا هو، الطريقة الثانية.
    2. قم بتنزيل واستخراج الأرشيف المضغوط مع المشروع (اخترت هذا الخيار). مجلد ev3-scratch-helper-app-masterداخل الأرشيف المضغوط قمت باستخراجه إلى القرص ج:.

في مجلد "يخدش"داخل مجلد التثبيت يمكنك العثور على الملف " ev3-helper-app.s2e"لللغة الإنجليزية والملف" ev3-helper-app-NL.s2e» اللغات الهولندية، على التوالي، في المجلدات "أون"و "نل".إذا كنت تريد استخدام اللغة الروسية، فيمكنك ترجمة الملف بنفسك " ev3-helper-app.s2e"(ترميز الملف d.b. ترميز UTF-8) أو خذ الملف " ev3-helper-app-RU.s2e"مع ترجمتي (ملف ") ev3-helper-app-RU.s2e"احفظ بنفس طريقة النسختين الإنجليزية والهولندية: قم بإنشاء مجلد " رو \ ملحقات"واحفظه هناك). لسوء الحظ، يمكنك فقط ترجمة أسماء الكتل، وليس القيم، وإلا التطبيق تطبيق ev3-scratch-helperلن تنجح. أولئك. ستبقى أسماء المحركات وأجهزة الاستشعار باللغة الإنجليزية (بالنسبة للمحركات، هذا هو "كبير"و "واسطة"لأجهزة الاستشعار – "اللون"، "المسافة"و "يلمس"إلخ.).

ترويس تطبيق ev3-scratch-helper-appالإصدار: من 08/07/2015

قم بملف ev3-helper-app-RU.s2e لترويس كتل EV3 في المحرر غير المتصل بالإنترنت Scratch 2.

08/07/2015 3.76 كيلو بايت 1428

في مجلد التطبيق يمكنك العثور على الملف " application.properties» مع الإعدادات. قم بتغيير الإعدادات إذا لزم الأمر. أسماء العقارات تتحدث عن نفسها، لذلك لن أصفها هنا. بعد التغيير تأكد من أن قيمة الخاصية هي " server.port"في الملف" application.properties"يساوي قيمة المتغير" ExtensionPort"في الملف" ev3-helper-app.s2e" أو " ev3-helper-app-RU.s2e"، اعتمادًا على ملف اللغة الذي ستستخدمه.

إطلاق تطبيق ev3-scratch-helper-app

قبل البدء بالمحرر سكراتش 2يجب أن يكون التطبيق قيد التشغيل دائمًا تطبيق ev3-scratch-helper. لتشغيله قم بما يلي:

    1. قم بتشغيل نافذة وحدة التحكم وقم بتغيير المجلد الحالي إلى المجلد الذي تم تثبيت التطبيق عليه تطبيق ev3-scratch-helper. لدي هذا المجلد " C:\ev3-scratch-helper-app"، لذلك اتصلت بالأمر" القرص المضغوط C:\ev3-scratch-helper-app».
    2. قم بتشغيل الأمر " gradlew.bat bootRun" في المرة الأولى التي تقوم فيها بتشغيله، سيتم تنزيل المكتبات اللازمة وتثبيتها على جهاز الكمبيوتر الخاص بك، لذا تأكد من اتصال جهاز الكمبيوتر الخاص بك بالإنترنت. الإطلاق الأول سيستغرق وقتاً طويلاً، كن صبوراً.

بعد بدء تشغيل التطبيق، ستظهر لك رسائل مشابهة لما يلي في وحدة التحكم:

2015-08-06 09:15:28.699 INFO 10236 --- s.b.c.e.t.TomcatEmbeddedServletContainer: بدأ Tomcat على المنفذ (المنافذ): 4321/http 2015-08-06 09:15:28.704 INFO 10236 ---خدش.ev3.Application: بدء التطبيق خلال 13.411 ثانية (JVM يعمل لمدة 15.025)

لعمليات الإطلاق اللاحقة، للراحة، يمكنك إنشاء اختصار، على سبيل المثال، على سطح المكتب. هذا ما تبدو عليه خصائص الاختصار التطبيق المثبتفي المجلد " C:\ev3-scratch-helper-app»:

عند بدء التطبيق تطبيق ev3-scratch-helperيتصل بالوحدة الأولى المتاحة EV3متصل. إذا لم يتم اكتشاف أي وحدة، فسينتظر التطبيق حتى تظهر وحدة.

الإطلاق الأول لمحرر Scratch 2 غير المتصل بالإنترنت

بعد بدء المحرر سكراتش 2المرة الأولى (يجب أن يكون لديك العلامة " سكراتش 2» على سطح المكتب) قد ترغب في تغيير اللغة إلى اللغة الروسية. يتم اختيار اللغة من القائمة مع الكرة الأرضية، انظر الصورة.

إضافة كتل برنامج EV3 إلى محرر Scratch 2

بعد الإطلاق، يتم إنشاء مشروع فارغ جديد تلقائيًا. الآن لهذا المشروع تحتاج إلى استيراد الكتل اي في 3,للقيام بذلك، اضغط باستمرار على المفتاح "يحول"انقر على القائمة " ملف -> استيراد ملحق HTTP التجريبي"وحدد الملف ev3-helper-app.s2eأو ev3-helper-app-RU.s2e، حسب لغتك المفضلة. لقد قمت باختيار الملف " C:\ev3-scratch-helper-app-master\scratch\ru\extensions\ev3-helper-app-RU.s2e" يجب تنفيذ هذا الإجراء مرة واحدة لكل مشروع جديد.

بعد ذلك قم بفتح " البرامج النصية» اضغط على « كتل أخرى" وتأكد من ظهور الكتل الخاصة بنا هنا. يُنصح بالتحقق من وجود الكتل في كل مرة بعد فتح مشروع محفوظ مسبقًا. دائرة خضراء على يمين الاسم " EV3HelperApp"يعني أن التطبيق تطبيق v3-scratch-helperقيد التشغيل. إذا كانت الدائرة حمراء، فهذا يعني أن التطبيق تطبيق v3-scratch-helperلا يعمل ويجب تشغيله.

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

ربط الوحدة النمطية EV3يمكنك الوصول إلى جهاز الكمبيوتر الخاص بك بطريقتين: من خلال بلوتوثأو واي فاي.

للتواصل عبر واي فاييجب أن يكون لديك يو اس بي واي فاي محول. ليجوس EV3يدعم المحولات مع شرائح اثيروس ATH9Kو ريالتكس 8192cu. تم اختبار EV3 Brick بواسطة المطورين باستخدام المحولات نتجير WNA1100و اديماكس EW-7811Un، ولكن قد يتم دعم المحولات الأخرى إذا كانت تستخدم إحدى مجموعات الشرائح المدرجة. هنا لن أفكر في الاتصال عبر واي فايلأن ليس كل شخص لديه المحول الصحيح. ولكن إذا كنت مهتما بمثل هذا الاتصال، فيمكنك معرفة كيفية القيام بذلك من المصدر الرسمي.

للتواصل عبر بلوتوثتحتاج إلى توصيل الوحدة ببعضها البعض أولاً EV3والكمبيوتر ثم القيام به شخصي شبكة بلوتوث(مِقلاة).

يلزم توصيل وحدة البناء EV3 بجهاز الكمبيوتر الخاص بك مرة واحدة فقط لكل زوج. وحدة EV3 - الكمبيوتر»:

1. في وحدة البناء EV3 في القائمة الرئيسية ليجوس EV3ابحث عن عنصر القائمة "بلوتوث"وادخل إلى الداخل بالضغط على الزر الأوسط لوحدة البناء EV3. إذا رأيت النقش " تفعيل الرؤية"، فكل شيء على ما يرام: يتم تشغيل رؤية الوحدة. إذا رأيت النقش " الرؤية معطلة"، ثم ابحث عن عنصر القائمة "الرؤية"(مع صورة العين) واضغط على الزر المركزي للوحدة EV3مرتين لتمكين الرؤية (يجب أن تتغير التسمية إلى " تفعيل الرؤية»).
2. على جهاز الكمبيوتر الخاص بك، افتح " لوحة التحكم -> الأجهزة والصوت -> الأجهزة والطابعات" سترى قائمة بالأجهزة المتصلة بجهاز الكمبيوتر الخاص بك.

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

4. في الخطوة التالية، سترى اختيارًا لخيار الاتصال. انقر على الخيار الثاني وأدخل رمز التعريف الشخصي 1234 .

بمجرد توصيل وحدة البناء EV3 والكمبيوتر ببعضهما البعض، يمكنك ذلك شبكة بلوتوث شخصية (مِقلاة) (اتصال بالشبكة مِقلاةسيتعين عليك القيام بذلك في كل مرة تقوم فيها بتشغيل وحدة البناء EV3):

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

برمجة الروبوت EV3 في محرر سكراتش 2

عند برمجة الروبوتات EV3باستخدام المحرر يخدشوالتمديدات تطبيق ev3-scratch-helperعليك أن تتذكر أنه قبل استخدام المحركات وأجهزة الاستشعار، يجب توصيلها باستخدام الكتل " قم بتوصيل المحرك بالمنفذ" و " قم بتوصيل المستشعر بالمنفذ» (« قم بتوصيل المحرك بالمنفذ" و " قم بتوصيل جهاز الاستشعار بالمنفذ" عند استخدام النسخة الإنجليزية من الكتل). يتم تعطيل أجهزة الاستشعار باستخدام " أغلق كافة المنافذ» (« أغلق كافة المنافذ"في النسخة الإنجليزية).

السيطرة على ما يحدث في التطبيق تطبيق ev3-scratch-helperيمكنك إلقاء نظرة على الرسائل الموجودة في وحدة التحكم.

للتحقق مما إذا كنا قد قمنا بتكوين كل شيء بشكل صحيح، قم بتجميع عربة بسيطة، على سبيل المثال، منصة محرك قياسية، والكتابة عليها أبسط برنامج V سكراتش 2. يمكنك رؤية الأمثلة في المجلدات " وثيقة" و " الصفر\en\العروض التوضيحية» في مجلد تثبيت البرنامج تطبيق ev3-scratch-helper. عند فتح البرامج التجريبية في سكراتش 2تحقق مما إذا كانت هناك كتل EV3، كما هو موضح أعلاه في القسم "".

يمكن العثور على تعليمات تجميع منصة القيادة القياسية هنا:

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

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

    وأرفق ملف البرنامج الموضح في الصورة بالمقال:

    تعليمات التجميع الخاصة بمنصة القيادة القياسية Educator EV3
    برنامج Scratch 2 لاختبار التفاعل مع الروبوت EV3الإصدار: من 08/07/2015

    برنامج سكراتش 2 لاختبار التفاعل مع الروبوت EV3.

    08/07/2015 45.65 كيلو بايت 1157

    خلاصة القول

    تعلمت من هذه المقالة كيفية إعداد محرر غير متصل بالإنترنت سكراتش 2لبرمجة الروبوتات ليغو مايندستورمز EV3وتعلمت أيضًا كيفية البدء في البرمجة باستخدامه. لسوء الحظ، في حالة البرمجة في سكراتش 2وحدة EV3يجب أن تكون متصلاً بالكمبيوتر في جميع الأوقات عبر بلوتوثأو واي فاي، أي. انها ليست مستقلة. على الرغم من وجود مكافآت رائعة هنا - يمكن التحكم في الروبوت من خلال جهاز كمبيوتر، على سبيل المثال، يمكن التحكم في روبوت على عجلات باستخدام مفاتيح الأسهم أو مفاتيح W وA وS وD، لذا حاول وجرب واكتب ما إذا كان هناك شيء ما ليس واضحا.

    مرحبًا. في مقالاتي، أريد أن أقدم لك أساسيات برمجة الكمبيوتر الصغير LEGO NXT Mindstorms 2.0. لتطوير التطبيقات، سأستخدم منصات Microsoft Robotics Developer Studio 4 (MRDS 4) وNational Instruments LabVIEW (NI LabVIEW). سيتم النظر في مهام التحكم الآلي والآلي في الروبوتات المتنقلة وتنفيذها. سوف ننتقل من البسيط إلى المعقد.

    في انتظار بعض الأسئلة والتعليقات من القراء.

    لماذا NXT Mindstorms 2.0؟لأن هذه المجموعة بدت لي هي الأنسب لمشاريعي، لأن... الكمبيوتر الصغير NXT متوافق تمامًا مع منصات MRDS 4 وNI LabVIEW، كما أن هذه المجموعة مرنة للغاية من حيث تجميع تكوينات الروبوت المختلفة - يتم قضاء الحد الأدنى من الوقت في تجميع الروبوت.

    لماذا منصات MRDS 4 و NI LabVIEW؟هكذا حدث تاريخيا. أثناء الدراسة في السنوات الأخيرة في الجامعة، كانت المهمة هي تطوير دورات تعليمية باستخدام هذه المنصات. بالإضافة إلى ذلك، فإن المنصات سهلة التعلم والتشغيل، وباستخدامها، يمكنك كتابة برنامج مباشرة للتحكم في الروبوت، وتطوير واجهة المستخدم وإجراء الاختبار في بيئة افتراضية (في حالة MRDS 4).

    من يحتاج إلى دروسك هذه على أي حال، فهناك بالفعل الكثير من مشاريع الروبوتات على الإنترنت!لا توجد عمليًا أي مقالات تعليمية تستخدم هذه المجموعة (NXT+MRDS 4/NI LabVIEW)، وغالبًا ما يتم استخدام بيئة البرمجة الأصلية، وكل شيء فيها تافه تمامًا. أي شخص مهتم بالروبوتات والبرمجة ولديه مجموعة NXT (وهناك عدد قليل منها)، وأي جمهور عمري.

    لغات البرمجة الرسومية شريرة، ومن يبرمج فيها فهو زنادقة!لا شك أن لغات البرمجة الرسومية، وهي MRDS 4 وNI LabVIEW، لها عيوبها، على سبيل المثال، التركيز على المهام الضيقة، لكنها لا تزال في الوظائف ليست أقل شأنا بكثير من اللغات النصية، خاصة وأن NI LabVIEW تم تطويرها في البداية باعتبارها لغة سهلة الاستخدام. -تعلم اللغة لحل المسائل العلمية مشاكل هندسيةولهذا فهو يحتوي على العديد من المكتبات والأدوات الضرورية. ولذلك فإن هذه اللغات الرسومية هي الأنسب لحل مشاكلنا. ولست بحاجة إلى حرقنا على المحك من أجل هذا.

    كل هذا يبدو طفولياً وغير جدي على الإطلاق!عندما تكون المهمة هي تنفيذ الخوارزميات، وتعليم أساسيات ومبادئ البرمجة، والروبوتات، وأنظمة الوقت الفعلي دون الخوض في الدوائر والبروتوكولات، فهذه أداة مناسبة جدًا، على الرغم من أنها ليست رخيصة (فيما يتعلق بمجموعة NXT). على الرغم من أن المجموعات المستندة إلى Arduino مناسبة تمامًا لنفس الأغراض، إلا أن وحدة التحكم هذه لا تتوافق تقريبًا مع MRDS 4 وNI LabVIEW، وهذه المنصات لها سحرها الخاص.

    إن التقنيات المستخدمة هي نتاج الدول الرأسمالية المتدهورة، والمؤلف عدو للشعب وشريك للمتآمرين الغربيين! لسوء الحظ، فإن معظم التقنيات في مجال الإلكترونيات وتكنولوجيا الكمبيوتر

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

    نظرة عامة مختصرة على منصتي MRDS 4 وNI LabVIEW. اسمحوا لي أن أوضح بعض المصطلحات. تحت المنصة، فيفي هذه الحالة

    ، نعني مجموعة من الأدوات المختلفة، على سبيل المثال لغة VPL في MRDS، وكذلك بيئة تشغيل التطبيق، أي. لا يوجد تجميع مباشر للتطبيقات في ملفات قابلة للتنفيذ (*.exe). في عام 2006، أعلنت مايكروسوفت عن إنشاء منصة(مزيد من التفاصيل في مقالة ويكيبيديا). MRDS هي بيئة تطوير تطبيقات قائمة على نظام التشغيل Windows للروبوتات والمحاكاة. حاليًا، الإصدار الحالي هو Microsoft Robotics Developer Studio 4. ومن بين الميزات: لغة البرمجة الرسومية VPL، واجهات موجهة للويب والويندوز، بيئة محاكاة VSE، وصول مبسط إلى أجهزة الاستشعار، وحدة التحكم الدقيقة ومحركات الروبوت، دعم برمجة C# اللغة ومكتبات البرمجة متعددة الخيوط والتنفيذ الموزع لتطبيقات CCR وDSS ودعم العديد من المنصات الآلية (Eddie وBoe - Bot وCoroBot وiRobot وLEGO NXT وما إلى ذلك).

    LabVIEW (منضدة عمل هندسة الأجهزة الافتراضية للمختبر)هي بيئة تطوير ومنصة لتنفيذ البرامج التي تم إنشاؤها بلغة البرمجة الرسومية "G" من شركة National Instruments (لمزيد من التفاصيل، راجع مقالة ويكيبيديا). يتم استخدام LabVIEW في أنظمة الحصول على البيانات ومعالجتها، وكذلك لإدارة الأشياء التقنية والعمليات التكنولوجية. من الناحية الأيديولوجية، فإن LabVIEW قريب جدًا من أنظمة SCADA، ولكن على عكسها، فهو أكثر تركيزًا على حل المشكلات ليس كثيرًا في مجال أنظمة التحكم في العمليات الآلية (أنظمة التحكم في العمليات الآلية)، ولكن في مجال ASNI ( الأنظمة الآليةالبحث العلمي). تعتمد لغة البرمجة الرسومية "G" المستخدمة في LabVIEW على بنية تدفق البيانات. لا يتم تحديد تسلسل تنفيذ العوامل في مثل هذه اللغات من خلال الترتيب الذي تظهر به (كما هو الحال في لغات البرمجة الحتمية)، ولكن من خلال وجود البيانات عند مدخلات هذه العوامل. يتم تنفيذ العوامل غير المرتبطة بالبيانات بالتوازي وبترتيب عشوائي. يسمى برنامج LabVIEW وهو أداة افتراضية (بالإنجليزية: Virtual Instrument) ويتكون من جزأين:

    • رسم تخطيطي يصف منطق الأداة الافتراضية؛
    • اللوحة الأمامية تصف واجهة المستخدم الخاصة بالأداة الافتراضية.

    نظرة سريعة على مجموعة LEGO NXT Mindstorms 2.0.

    تتكون مجموعة NXT من وحدة تحكم وأربعة أجهزة استشعار وثلاثة أجهزة. تحتوي كتلة التحكم على:
    • متحكم AVR7 32 بت مع ذاكرة فلاش سعة 256 كيلو بايت وذاكرة وصول عشوائي سعة 64 كيلو بايت؛
    • متحكم AVR 8 بت مع ذاكرة فلاش 4 كيلو بايت وذاكرة الوصول العشوائي 512 بايت؛
    • وحدة راديو بلوتوث V 2.0؛
    • منفذ يو اس بي؛
    • 3 موصلات لتوصيل الماكينات؛
    • 4 موصلات لتوصيل أجهزة الاستشعار.
    • شاشة LCD بدقة 99x63 بكسل؛
    • المتحدث؛
    • موصل لمدة 6 بطاريات AA.
    أجهزة الاستشعار (مجموعات مختلفة من أجهزة الاستشعار متوفرة في تكوينات مختلفة):
    • جهاز استشعار بالموجات فوق الصوتية
    • اثنين من أجهزة الاستشعار اللمسية (أجهزة استشعار اللمس)؛
    • مستشعر كشف اللون.


    الشكل 1 - حاسوب NXT الصغير مزود بأجهزة استشعار ومشغلات متصلة

    وبالطبع، تحتوي المجموعة على مجموعة متنوعة من أجزاء LEGO في شكل LEGO Technic والتي سيتم من خلالها تجميع المحركات والهيكل الداعم.


    الشكل 2 - التفاصيل في عامل الشكل LEGO Technic

    نحن نكتب التطبيق الأول.

    دعونا نكتب التطبيق الأول. دعونا، بشكل كلاسيكي، هذا التطبيقيعرض النص "Hello, World!". سيتم التنفيذ بالتناوب في MRDS 4 وNI LabVIEW، وفي هذه العملية سننظر في تفاصيل كل منصة.

    نقوم أولاً بتثبيت منصتي MRDS 4 وNI LabVIEW، وفي حالة MRDS 4، يجب إجراء التثبيت في مجلد لا يتكون مساره من الحروف السيريلية (أحرف روسية)، حسابيجب أن يتكون اسم المستخدم أيضًا من أحرف لاتينية فقط.

    1. منصة MRDS 4.
    قم بتشغيل بيئة VPL (قائمة ابدأ - كافة البرامج - Microsoft Robotics Developer Studio 4 - لغة البرمجة المرئية). تتيح لك هذه البيئة تطوير التطبيقات بلغة VPL وإجراء الاختبار في بيئة VSE الافتراضية. برنامج VPL عبارة عن رسم تخطيطي يتكون من كتل مترابطة. في النافذة التي تفتح، بالإضافة إلى شريط الأوامر والقائمة القياسية، هناك 5 نوافذ رئيسية:
    1. الأنشطة الأساسية - تحتوي على الكتل الأساسية التي تنفذ العوامل مثل الثابت والمتغير والحالة وما إلى ذلك؛
    2. الخدمات – تحتوي على كتل توفر الوصول إلى وظائف منصة MRDS، على سبيل المثال، كتل للتفاعل مع أي مكون أجهزة للروبوت، أو كتل لاستدعاء مربع حوار؛
    3. المشروع - يجمع بين المخططات المضمنة في المشروع، بالإضافة إلى ملفات التكوين المختلفة؛
    4. الخصائص - تحتوي على خصائص الكتلة المحددة؛
    5. نافذة المخططات - تحتوي مباشرة على المخطط ( كود المصدر) التطبيقات.

    الشكل 3 - بيئة برمجة VPL

    لنقم بتنفيذ التسلسل التالي من الإجراءات:

    2. منصة NI LabVIEW.
    على هذه المنصة، يتم تنفيذ كل شيء بشكل متماثل تقريبًا. لنبدأ بتشغيل بيئة LabVIEW. ستظهر أمامنا نافذتان، الأولى Front Panel، وهي مصممة لتنفيذ واجهة المستخدم ( مظهرجهاز افتراضي)، والثاني هو Block Diagram، لتنفيذ منطق البرنامج.


    الشكل 8 - بيئة LabVIEW لنظام التشغيل Windows

    سوف نستخدم نافذة مخطط الكتلة. لنقم بالخطوات التالية:

    سيرة ذاتية

    • لقد قمنا بمراجعة منصات البرامج لتطوير التطبيقات للكمبيوتر الصغير NXT.
    • لقد نظرنا إلى المبادئ الأساسية لتطوير التطبيقات في منصات MRDS 4 وNI LabVIEW.
    • تعرفنا على واجهة البيئة.
    وفي المقالات التالية سنتناول بشكل مباشر برمجة NXT. هناك الكثير من المواد التدريبية على الإنترنت لبيئة LabVIEW، ولكن أقل بكثير بالنسبة لـ VPL. أوصي بشدة بالدراسة دليل مرجعيكلا المنصتين (يشترط معرفة اللغة الإنجليزية)، يوجد في هذه الأدلة الكثير من الأمثلة التي يمكن تنفيذها بدون NXT، بالإضافة إلى الكتب التالية:
    • برمجة الكمبيوتر الصغير NXT في LabVIEW - ليديا بيليوفسكايا، ألكسندر بيليوفسكي،
    • ستوديو مطوري مايكروسوفت للروبوتات. برمجة خوارزميات التحكم في الروبوت - فاسيلي جاي.
    سأصف في مقالاتي مشاريعي فقط، لأن... لا أرى فائدة من إعادة كتابة المعلومات من مصدر إلى آخر. سأقبل أي انتقاد بناء وأجيب على أي أسئلة تتعلق بالمنصات التي تمت مراجعتها. شكرا مقدما!

    في الدرس الثاني سنتعرف أكثر على بيئة البرمجة وندرس بالتفصيل الأوامر التي تحدد حركة عربة الروبوت الخاصة بنا والتي تم تجميعها في الدرس الأول. لذلك، دعونا نطلق بيئة برمجة Lego Mindstorms EV3، ونقوم بتحميل مشروع Lessons.ev3 الذي تم إنشاؤه مسبقًا ونضيفه إلى المشروع برنامج جديد- الدرس-2-1. يمكنك إضافة برنامج بطريقتين:

    • اختر الفريق "ملف" - "إضافة برنامج" (Ctrl+N).
    • انقر "+" في علامة تبويب البرامج.

    أرز. 1

    2.1. لوحات البرمجة وكتل البرنامج

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

    اللوحة الخضراء تسمى : "فعل":

    أرز. 2

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

    2.2. لوحة خضراء - كتل العمل

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

    أرز. 3

    ل الإعدادات الصحيحةوحدة التحكم لمحرك كبير يجب علينا:

    1. حدد المنفذ الذي يتصل به المحرك (أ أو ب أو ج أو د) (الشكل 3 البند 1)
    2. حدد وضع تشغيل المحرك (الشكل 3 البند 2)
    3. تكوين معلمات الوضع المحدد (الشكل 3 البند 3)

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

    يمكن لمعلمة الطاقة (في الشكل 3 ضبط الطاقة على 75) أن تأخذ قيمًا من -100 إلى 100. قيم الطاقة الموجبة تضبط المحرك على الدوران في اتجاه عقارب الساعة، والقيم السالبة تضبط المحرك على الدوران عكس اتجاه عقارب الساعة. عند قيمة الطاقة 0، لن يدور المحرك؛ كلما زادت قيمة الطاقة، كلما دوران المحرك بشكل أسرع.

    يتم تحديد معلمة الطاقة فقط في القيم الصحيحة؛ يمكن أن تأخذ المعلمات الثواني والدرجات والثورات قيمًا ذات كسر عشري. لكن تذكر أن الحد الأدنى لخطوة دوران المحرك هو درجة واحدة.

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

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

    أرز. 4

    المعلمة "توجيه" (أرز. 4 نقاط البيع. 2) يمكن أن يأخذ قيمًا من -100 إلى 100. القيم السالبة للمعلمة تجعل الروبوت يتجه نحو اليسار، والقيمة 0 تجعل الروبوت يتحرك بشكل مستقيم، والقيم الموجبة تجعل الروبوت يتجه يمينًا. يغير السهم الموجود أعلى المعلمة الرقمية اتجاهه اعتمادًا على القيمة، مما يشير إلى اتجاه حركة الروبوت ( أرز. 5).

    أرز. 5

    كتلة البرنامج "التحكم المستقل في المحركات"يبدو وكأنه كتلة البرمجيات "توجيه". كما أنها تتحكم في محركين كبيرين، ولكن بدلاً من ذلك "توجيه"يصبح من الممكن التحكم بشكل مستقل في قوة كل محرك. مع قيمة المعلمة متساوية "قوة"بالنسبة للمحرك الأيسر والأيمن، سيتحرك الروبوت في خط مستقيم. إذا قمت بتطبيق قيمة طاقة سالبة على محرك واحد (على سبيل المثال -50)، وقيمة موجبة على المحرك الثاني (على سبيل المثال 50)، فسوف يدور الروبوت في مكانه ( أرز. 6).

    أرز. 6

    أوضاع تشغيل هذه الكتل تشبه أوضاع وحدة التحكم لمحرك واحد، لذا فهي لا تحتاج إلى وصف إضافي...

    2.3. الحركة في خط مستقيم، الدوران، الدوران والتوقف

    إذن، يمكننا الآن كتابة برنامج للروبوت للتحرك في أي طريق.

    المهمة 1:قم بالقيادة للأمام بشكل مستقيم لمدة 4 دورات للمحرك. التف حوله. قيادة 720 درجة.

    حل ( أرز. 7):

    1. باستخدام كتلة برنامج "التوجيه"، قم بالقيادة للأمام بمقدار 4 دورات.
    2. باستخدام كتلة برنامج "التحكم المستقل في المحركات"، قم بالاستدارة في مكانها (يجب تحديد قيمة الدرجة بشكل تجريبي).
    3. باستخدام كتلة برنامج "التوجيه"، قم بالقيادة للأمام بمقدار 720 درجة.

    ملاحظة: لماذا كان عليّ تحديد قيمة الدرجة عند الدوران؟ كتلة 2؟. أليس كذلك 360 درجات - القيمة المطلوبة؟ ليس إذا قمنا بتعيين قيمة المعلمة "الدرجات"متساوي 360 ، فإننا بذلك نجبر أعمدة المحركات اليسرى واليمنى للروبوت الخاص بنا على التدوير بالقدر المطلوب. تعتمد الزاوية التي يدور بها الروبوت حول محوره على حجم (قطر) العجلات والمسافة بينها. على أرز. 7قيمة المعلمة "الدرجات"يساوي 385 . تسمح هذه القيمة بتجميع الروبوت وفقًا للتعليمات روبوت صغير 45544يستدير حول محوره. إذا كان لديك روبوت مختلف، فسيتعين عليك اختيار قيمة مختلفة. هل يمكن إيجاد هذه القيمة رياضيا؟ من الممكن، لكننا سنتحدث عن هذا لاحقا.


    أرز. 7

    المهمة 2:ضع بعض العوائق (علبة، مكعب، صندوق صغير) على سطح مستو وحدد نقطة البداية للروبوت الخاص بك. قم بإنشاء برنامج جديد في المشروع: الدرس 2-2، والذي يسمح للروبوت بالتجول حول العوائق والعودة إلى نقطة البداية.

    كم عدد الكتل البرمجية التي استخدمتها؟ شاركنا نجاحك في التعليقات على الدرس...

    2.4. الشاشة والصوت ومؤشر حالة الوحدة

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

    أرز. 8

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

    أرز. 9

    دعونا نلقي نظرة على معلمات كتلة البرنامج "شاشة"في الوضع "نص" (الشكل 9 البند 1). يتم إدخال السلسلة المراد عرضها على الشاشة في حقل خاص (الشكل 9 البند 2). لسوء الحظ، يمكنك فقط إدخال الحروف اللاتينية والأرقام وعلامات الترقيم في حقل إدخال النص. إذا كان الوضع "مسح الشاشة"تعيين على القيمة "حقيقي"، سيتم مسح الشاشة قبل عرض المعلومات. لذلك، إذا كنت بحاجة إلى دمج الإخراج الحالي مع المعلومات الموجودة بالفعل على الشاشة، فاضبط هذا الوضع على "كذب". وسائط "X"و "ص"تحديد النقطة على الشاشة التي يبدأ منها إخراج المعلومات. يبلغ عرض شاشة EV3 Brick 178 بكسل (نقطة) وارتفاعها 128 بكسل. وضع "X"يمكن أن تأخذ القيم من 0 إلى 177، الوضع "ص"يمكن أن تأخذ القيم من 0 إلى 127. النقطة اليسرى العليا لها إحداثيات (0، 0)، والنقطة السفلية اليمنى (177، 127)

    أرز. 10

    أثناء إعداد كتلة البرنامج "شاشة"يمكنك تمكين وضع المعاينة (الشكل 9 البند 3)وتقييم نتائج إعدادات إخراج المعلومات بصريًا.

    في الوضع "الأشكال" (الشكل 11 البند 1) تختلف إعدادات كتلة البرنامج حسب نوع الشكل. لذلك، عند عرض دائرة، سوف تحتاج إلى تحديد الإحداثيات "X"و "ص"مركز الدائرة، وكذلك القيمة "نصف القطر". المعلمة "ملء" (الشكل 11 البند 2)هو المسؤول عن حقيقة أنه سيتم عرض الخطوط العريضة للشكل، أو سيتم ملء المنطقة الداخلية من الشكل باللون المحدد في المعلمة "اللون" (الشكل 11 البند 3).

    أرز. 11

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

    أرز. 12

    لعرض مستطيل، تحتاج إلى تحديد الإحداثيات "X"و "ص"الزاوية اليسرى العليا من المستطيل، وكذلك "عرض"و "ارتفاع".

    أرز. 13

    عرض نقطة هو أسهل طريقة! فقط قم بالإشارة إلى إحداثياتها "X"و "ص".

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

    أرز. 14

    كما ترون، تولي بيئة البرمجة أهمية كبيرة لعرض المعلومات على شاشة وحدة البناء الرئيسية EV3. دعونا نلقي نظرة على كتلة البرنامج الهامة التالية "صوت". باستخدام هذه الكتلة، يمكننا إخراج ملفات الصوت، ونغمات المدة والتردد التعسفي، بالإضافة إلى النوتات الموسيقية إلى مكبر الصوت المدمج في كتلة EV3. دعونا نلقي نظرة على إعدادات كتلة البرنامج في الوضع "تشغيل النغمة" (الشكل 15). في هذا الوضع تحتاج إلى ضبط "تكرار"نغمات (الشكل 15 البند 1), "مدة"الصوت في ثوان (الشكل 15 البند 2)، وكذلك مستوى الصوت (الشكل 15 البند 3).

    أرز. 15

    في الوضع "تشغيل الملاحظة"بدلا من تردد النغمة، تحتاج إلى تحديد ملاحظة على لوحة المفاتيح الافتراضية، وقم أيضًا بتعيين مدة الصوت ومستوى الصوت (الشكل 16).

    أرز. 16

    في الوضع "تشغيل الملف"يمكنك اختيار أحد الملفات الصوتية من المكتبة (الشكل 17 البند 1)أو عن طريق توصيل ميكروفون بجهاز الكمبيوتر الخاص بك باستخدام محرر الصوت ("القائمة الرئيسية لبيئة البرمجة" - "الأدوات" - "محرر الصوت")سجل بنفسك ملف صوتيوإدراجه في المشروع.

    أرز. 17

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

    علينا فقط أن نتعرف على آخر كتلة برنامج في اللوحة الخضراء - الكتلة. يوجد مؤشر ملون مثبت حول أزرار التحكم بوحدة EV3، والذي يمكن أن يتوهج بأحد الألوان الثلاثة: أخضر, البرتقاليأو أحمر. الوضع المقابل مسؤول عن تشغيل وإيقاف مؤشر اللون (الشكل 18 البند 1). المعلمة "لون"يحدد تصميم اللون للإشارة (الشكل 18 البند 2). المعلمة "دفعة"مسؤول عن تشغيل/إيقاف وضع وميض مؤشر اللون (الشكل 18 البند 3). كيف يمكنك استخدام مؤشر اللون؟ على سبيل المثال، يمكنك استخدام إشارات ألوان مختلفة أثناء أوضاع تشغيل الروبوت المختلفة. سيساعدنا هذا على فهم ما إذا كان البرنامج يتم تنفيذه كما خططنا أم لا.

    أرز. 18

    دعونا نضع هذه المعرفة موضع التنفيذ ونقوم بتلوين برنامجنا من المهمة 1 قليلاً.

    المهمة 3:

    1. تشغيل الإشارة "يبدأ"
    2. تمكين مؤشر اللون الأخضر غير الوامض
    3. "إلى الأمام"
    4. قم بالقيادة للأمام بشكل مستقيم لمدة 4 دورات للمحرك.
    5. تمكين مؤشر اللون البرتقالي الوامض
    6. التف حوله
    7. تمكين إشارة اللون الأخضر الوامض
    8. عرض الصورة على الشاشة "للخلف"
    9. قيادة 720 درجة
    10. تشغيل الإشارة "قف"

    حاول حل المشكلة 3 بنفسك دون النظر إلى الحل! حظ سعيد!

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

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

    بالمقارنة مع NXT، تمت إضافة كتلتين جديدتين:

    • البداية - في NXT، كانت بداية البرنامج موحدة وتم ضبطها فورًا عند فتح البرنامج.
    • مقاطعة الدورة - ببساطة لم يكن هناك مثل هذه الكتلة في NXT. إذا كان من الضروري تنفيذ وظيفة مماثلة، كان علينا استخدام المتغيرات.
    تبدو القائمة العامة لوحدات التحكم الخاصة بالمشغل كما يلي:
    • يبدأ
    • توقع
    • يُحوّل
    • مقاطعة الدورة


    منع "ابدأ"

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

    يدعم EV3 تعدد المهام، أي. يمكن أن يحتوي البرنامج على أكثر من تسلسل للأوامر. علاوة على ذلك، يمكن أن يكون لهذه التسلسلات كتلة "ابدأ" خاصة بها أو تخرج من "بداية" واحدة:


    سيتم تنفيذ كل هذه التسلسلات في وقت واحد.

    يرجى ملاحظة أن السهم الأخضر الموجود على الكتلة ليس عنصرًا زخرفيًا. إذا كانت الوحدة متصلة بجهاز كمبيوتر (بغض النظر عن الطريقة: عبر USB أو Wi-Fi أو Bluetooth)، فسيؤدي النقر فوق السهم إلى تشغيل هذا التسلسل للتنفيذ.

    منع "الانتظار"

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


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

    البرنامج الثاني هو بداية الحل الكلاسيكي في مسابقة Kegelring: يدور الروبوت حول محوره حتى يرى علبة أمامه:

    يقوم البرنامج التالي بتشغيل المحرك A وبعد قيامه بـ 5 دورات يقوم بإيقاف تشغيله:

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

    منع "الدورة"

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

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

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

    تتيح لك حلقة العداد تشغيل نغمة موسيقية 10 مرات:

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


    كتلة "التبديل".

    هناك كتلة مماثلة في NXT، فهي تسمح لك بتنفيذ تسلسلات مختلفة من الإجراءات اعتمادًا على قيمة المتغير أو قراءة المستشعر.
    بعد الانتهاء من تسلسل الإجراءات هذا، يقوم البرنامج بتنفيذ الكتل التالية لـ "Switch".
    يحدد وضع هذه الكتلة المستشعر أو القيمة المتغيرة التي سيتم استخدامها. يتم استخدام جميع الأوضاع نفسها ككتلة "الدورة": يمكنك استخدام أي مستشعر (لون، جيروسكوبي، الأشعة تحت الحمراء، الموجات فوق الصوتية، دوران المحرك وغيرها)، رقمي أو قيمة النص، رسالة بلوتوث.
    على سبيل المثال، وفقًا لهذا البرنامج، سيدور الروبوت أولاً حول محوره لمدة 5 دورات حركية، وبعد ذلك، اعتمادًا على قراءات مستشعر الجيروسكوب، يتحرك للأمام أو للخلف. إذا كانت الزاوية التي اكتشفها الجيروسكوب أقل من 90 درجة، فسيتحرك الروبوت للأمام. إذا كانت الزاوية أقل من 90 درجة، فسيعود الروبوت إلى الخلف.

    البرنامج التالي هو تطبيق لوحدة تحكم ترحيل بسيطة للقيادة على طول خط أسود:

    في كلا المثالين السابقين، احتوت كتلة "التبديل" على خيارين فقط لتطوير الأحداث. ولكن في الواقع، قد تحتوي هذه الكتلة على المزيد من الخيارات. على سبيل المثال، إذا قام الروبوت بتحديد لون كائن ما، فيمكنه الاختيار من بين عدد أكبر بكثير من الخيارات:


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

    الزر الذي يقوم بالتبديل بين الأوضاع المسطحة/التفصيلية محاط بدائرة باللون الأحمر.

    منع "مقاطعة الدورة"

    هذه الكتلة جديدة، ولم يكن هناك كتلة مماثلة في NXT. يسمح لك بالخروج من الحلقة - لن يتم تنفيذ الكتل المتبقية من الحلقة، وسينتقل البرنامج إلى الكتل بعد الحلقة. يحدد "رأس" الكتلة اسم الدورة التي يجب إكمالها.
    على سبيل المثال، يجب تكرار الدورة في البرنامج 5 مرات، لكن إذا أصبحت المسافة إلى الجسم أكثر من 50 سم، ستخرج الدورة مبكرًا وسيصدر الروبوت نغمة صوتية:

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

    L. Yu. أوفسيانيتسكايا ، د.ن. أوفسيانيتسكي، أ.د. أوفسيانيتسكي

    دورة برمجة الروبوت EV3

    في بيئة Lego Mindstorms EV3

    الطبعة الثانية، منقحة وموسعة

    يو دي سي 004.42+004.896

    أوفسيانيتسكايا ، إل يو. دورة البرمجة روبوت ليغو

    Mindstorms EV3 في بيئة EV3: إد. الثانية، المنقحة وإضافية /

    L. Yu. أوفسيانيتسكايا ، د.ن. أوفسيانيتسكي، أ.د. أوفسيانيتسكي. – م.:

    "بيرو"، 2016. – 296 ص.

    ردمك 978-5-906862-76-1

    الكتاب مخصص لبرمجة الروبوت EV3 في بيئة Lego Mindstorms EV3. العمل هو نتيجة سنوات عديدة من الخبرة في المشاركة المباشرة للمؤلفين في المسابقات الإقليمية وعموم روسيا والدولية في مجال الروبوتات والأنشطة التربوية التي تهدف إلى تدريب المعلمين والمحاضرين والمدربين حول هذا الموضوع.

    سيكون الكتاب مفيدًا لمدرسي التعليم الابتدائي والثانوي والتعليم العالي والتعليم الإضافي والطلاب والطلاب وأي شخص مهتم بقضايا الروبوتات.

    المراجع:

    دكتوراه في العلوم الفيزيائية والرياضية، البروفيسور أ.ف. شوريكوف.

    ISBN 978-5-906862-76-1 © L.Yu. أوفسيانيتسكايا ، د.ن. أوفسيانيتسكي، أ.د. أوفسانيتسكي، 2016 مقدمة المحتويات

    الفصل 1. خصائص الروبوت.

    إنشاء وإطلاق المشروع الأول 7

    1.1. وصف موجزمنصات الروبوتية. نظرة عامة على بيئة برمجة Lego Mindstorms EV3

    1.2. طرق ربط الروبوت بالكمبيوتر. تحديث البرنامج الثابت لـ EV3 Brick. تحميل البرامج إلى وحدة البناء EV3



    الفصل 2. برمجة الروبوت

    2.1. المحركات. برمجة الحركات على مسارات مختلفة

    2.2. العمل مع الإضاءة الخلفية والشاشة والصوت

    2.2.1. العمل مع الشاشة

    2.2.2. العمل باستخدام الأزرار ذات الإضاءة الخلفية في وحدة البناء EV3

    2.2.3. العمل مع الصوت

    2.3. هياكل البرنامج

    2.3.1. توقع الهيكل

    2.3.2. دورة الهيكل

    2.3.3. هيكل التبديل

    2.4. العمل مع البيانات

    2.4.1. أنواع البيانات. الموصلات

    2.4.2. المتغيرات والثوابت

    2.4.3. العمليات الرياضية مع البيانات

    2.4.5. العمل مع المصفوفات

    2.4.6. العمليات المنطقيةمع البيانات

    2.5. العمل مع أجهزة الاستشعار

    2.5.1. مستشعر اللمس

    2.5.2. مستشعر اللون

    2.5.3 مستشعر الدوران

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

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

    2.5.6. مستشعر دوران المحرك (تحديد الزاوية/عدد الثورات وقوة المحرك)

    2.5.7. أزرار التحكم في الوحدة

    2.6. العمل مع الملفات

    دورة برمجة الروبوت Lego Mindstorms EV3 في بيئة EV3

    2.7. التعاون بين العديد من الروبوتات

    2.7.1. ربط الروبوتات بكابل USB

    2.7.2. اتصال الروبوت باستخدام اتصال Bluetooth................................................ 207

    2.8. كتل مفيدةوالأدوات

    2.8.1. حظر "البقاء نشطًا"

    2.8.2. حظر "إيقاف البرنامج"

    2.8.3. خلق الروتين

    2.8.4. تسجيل التعليقات

    2.8.5. باستخدام منفذ إدخال سلكي

    الفصل الثالث. أنواع المسابقات الرئيسية وعناصر المهام.

    3.1. مسابقة السومو

    3.2. كيجلرينج

    3.3. سباق التعرج (تجنب العوائق)

    3.4. برمجة حركة الخط

    3.4.1. خوارزمية للتحرك على طول خط متعرج باستخدام مستشعر واحد واثنين من أجهزة استشعار الألوان

    3.4.2. خوارزمية "الموجة"

    3.4.3. خوارزمية المعايرة التلقائية لمستشعر الألوان ..... 258

    3.5. التحكم الخطي النسبي

    3.5.1. حركة الخط على أساس التحكم النسبي

    3.5.2. إيجاد وحساب التقاطعات مع التحكم في الخط التناسبي

    3.5.3. انعكاس السفر

    3.5.4. حركة الروبوت على طول الجدار

    3.6. العثور على الهدف في المتاهة

    الفصل الرابع: تحديث البرنامج الثابت وإعادة تشغيل وحدة البناء EV3.

    286 الفصل 5. استخدام أجهزة استشعار الطرف الثالث

    5.1. العمل مع مستشعر الألوان HiTech

    5.2. استخدام أجهزة الاستشعار الأخرى

    خاتمة

    قائمة المشاريع مشروع "الكلب المخلص" 90 مشروع "لوحة النتائج الرياضية" 98 مشروع "الإنهاء التلقائي" 102 مشروع "60 ثانية" 109 مشروع "تسجيل وقراءة باركود ملون" 120 مشروع "فرز مصفوفة باستخدام طريقة الفقاعة" 123 مشروع " المنزل الذكي» 153 مشروع "الروبوت العنيد" 160 مشروع "الروبوت ذو التحكم عن بعد» 182 مشروع لعبة رسوم متحركة على شاشة كتلة EV3 "Catch a snowball" 191 مشروع "إنشاء خريطة سطحية ثلاثية الأبعاد" 197 مشروع "EV3 - مركب موسيقى" 203 دورة في برمجة روبوت Lego Mindstorms EV3 في صورة بيئة EV3 لـ الملف (الشكل 1.1.11 ب). سوف تصبح الكتلة نشطة (ساطعة) (الشكل 1.1.11ج).

    – &نبسب- &نبسب-

    الشكل 1.1.

    12. البرامج المتوازية لقياس الصور (الشكل 1.1.13 أ، ب)، يتم استخدام مجموعات MSWindows القياسية من مفتاح Ctrl وعجلة تمرير الماوس أو الرموز الموجودة في الزاوية اليمنى العليا من النافذة:. يتم استخدام القياس عند التنقل بين البرامج الكبيرة ونسخ كتل معينة وغير ذلك الكثير.

    دورة برمجة الروبوت Lego Mindstorms EV3 في بيئة EV3 كتل المحرك الكبير والمحرك المتوسط ​​الكتلة الأولى من اللوحة تسمى محرك متوسط، والثانية تسمى محرك كبير. يتم استخدام الكتل للتحكم في محرك واحد ولها نفس الوظيفة.

    دعونا نفكر في بنية الكتل باستخدام مثال كتلة محرك كبيرة (الشكل 2.1.4).

    – &نبسب- &نبسب-

    الشكل 2.1.

    4. وحدة التحكم الكبيرة في المحرك أولاً، انقر فوق الحرف الذي يمثل اسم المنفذ وحدد اسم المنفذ الذي يتصل به المحرك.

    دعونا نلقي نظرة فاحصة على كل عنصر تحكم.

    1. حدد وضع التشغيل:

    أ) تشغيل (الشكل 2.1.5)؛

    – &نبسب- &نبسب-

    الشكل 2.4.

    3.4. برنامج تنفيذ مشروع “60 ثانية”.

    المهام ل عمل مستقلأضف صورة وجه الساعة إلى شاشتك.

    أضف عقارب الدقائق والساعات عن طريق القياس.

    2.4.4. كتل معالجة البيانات الأخرى

    – &نبسب- &نبسب-

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

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

    إنشاء مصفوفة. كتابة مصفوفة إلى متغير

    لإنشاء مصفوفة وتعبئتها، يجب عليك:

    (أ) نقل الكتلة المتغيرة إلى مساحة العمل وتحديد وضعها (الكتابة) ونوعها (مصفوفة رقمية أو منطقية)؛

    تشكيل تشكيل مجموعة رقمية من مجموعة منطقية

    – &نبسب- &نبسب-

    الشكل 2.5.

    3.3. أوضاع تشغيل المستشعر الجيروسكوبي مهم!

    في بعض الأحيان (في كثير من الأحيان!) عند العمل باستخدام مستشعر جيروسكوبي، يمكنك ملاحظة ما يلي: متى برنامج التشغيلالروبوت ثابت، وقيمة الزاوية تتزايد باستمرار (الانجراف)، ويمكن أن يكون معدل الزيادة أكثر من درجة واحدة في الثانية!

    زيادة قيم المستشعر الفصل الثاني. برمجة الروبوت 177 إذا كانت المنارة بعيدة جدًا (أكثر من 1 م) ستكون قيمة القياس 100 إذا كانت قريبة جدًا (الحد الأدنى 1 سم) - 0. النتائج المتوسطة أيضًا لا تتوافق إلى سنتيمترات.

    في حالة وجود المنارة مباشرة أمام المستشعر، ستكون النتيجة النسبية لقياس الزاوية 0، أقصى موقع للمنارة على اليسار، عكس اتجاه عقارب الساعة -25 (أقصى زاوية انحراف يمكن اكتشافها تقريبًا 100 درجة)، على اليمين، في اتجاه عقارب الساعة 25 (الشكل 2.5.5.5).

    الشكل 2.5.

    5.5. موضع منارة الأشعة تحت الحمراء بالنسبة لمستشعر الأشعة تحت الحمراء دعونا نلقي نظرة على أمثلة البرامج. ضع المنارة أمام الروبوت، وقم بتشغيلها وتوجيهها نحو الروبوت.

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

    يتم إيقاف المنارة إذا لم يتم استخدامها لمدة ساعة.

    في الشكل. 2.5.5.6 يوضح اختيار وضع التشغيل مع المنارة.

    دورة برمجة الروبوت Lego Mindstorms EV3 في بيئة EV3 باستخدام MS Excel.

    يدور الروبوت ويسجل في كل لحظة قيمة زاوية الدوران والمسافة إلى السطح.

    حل:

    1. إعادة ضبط قيم مستشعر الجيروسكوب.

    نقوم بإدخال الدورة 01، شرط الإنهاء هو الوقت (3 ثواني).

    2. خلال الدورة، يدور الروبوت ويقرأ المعلومات من أجهزة الاستشعار بالموجات فوق الصوتية والجيروسكوبية. يتم دمج القراءات في كتلة برنامج النص، مفصولة بفاصلة.

    3. تتم كتابة نتيجة القياس في كل خطوة من الدورة إلى ملف الخريطة.

    4. اضبط فترة توقف قدرها 0.25 ثانية. بعد انتهاء الدورة، أغلق الملف.

    انتباه! عند استخدام المستشعر الجيروسكوبي، انتبه إلى وجود انحراف في القراءة عند تشغيله (انظر.

    القسم 2.5.3 لإزالة الانجراف).

    الفصل الثاني: برمجة الروبوت 213 للتحرك والتوقف، وتغذية كل مقطورة بالتسلسل.

    2. "الفرقة الصوتية والآلات"

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

    3. "فرقة الرقص"

    المهمة هي إنشاء فرقة روبوتية. أول روبوت يصدر الأوامر عبر البلوتوث هو العازف المنفرد. بقية الروبوتات تتبع الأوامر. برمجة أنواع مختلفة من الرقصات - رقصات الروبوتات المستديرة ("القاطرة") والرقصات البطيئة والسريعة.

    4. "تمارين الصباح"

    وتتمثل المهمة في أداء تمارين الجمباز في نفس الوقت بأمر من الروبوت الأول.

    2.8. كتل وأدوات مفيدة 2.8.1. حظر "البقاء نشطًا"

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

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

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

    دعونا نعطي مثالاً على خوارزمية برنامج لمصارع السومو الآلي.

    إيقاف الروبوت.

    2. يدور الروبوت حتى يرى روبوت الخصم بمستشعر الموجات فوق الصوتية (حتى تصبح قيمة المستشعر أقل من 100 سم)، وهو ما يتوافق مع زاوية دوران 120-180 درجة. إيقاف الروبوت.

    3. قم بإنشاء دورة بشرط الإنهاء 01، – غير محدود.

    4. في الدورة 01 نقوم بإدخال الدورة 02، شرط إنهائها هو قيمة منطقية: سيتم تنفيذ الحلقة حتى يصبح إدخال شرط الإنهاء صحيحًا.

    الفصل الثالث. أنواع المسابقات الرئيسية وعناصر المهام 245 100 25 + 18 =.

    لنجد سرعة العجلة اليسرى: V1=58.

    لتنفيذ الخوارزمية، قم بتثبيت جهاز استشعار بالموجات فوق الصوتية أمام الروبوت في المركز وتوصيله بالمنفذ 4.

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

    مهام العمل المستقل

    برمجة المسارات:

    أ) تجنب العديد من العوائق بنفس نصف القطر؛

    ب) تجنب العقبات ذات أنصاف أقطار مختلفة؛

    ج) الركوب على شكل ثمانية.

    الفصل 3. الأنواع الرئيسية للمسابقات وعناصر المهام 275 الشكل 3.

    5.3.2. برنامج لقيادة مسار عكسي للحركة الفصل 3. الأنواع الرئيسية للمسابقات وعناصر المهام 285 الشكل 3.6.5. برنامج لإيجاد الهدف في المتاهة دورة في برمجة روبوت Lego Mindstorms EV3 في بيئة EV3.

    الفصل 5. استخدام الطرف الثالث

    أجهزة الاستشعار

    بالإضافة إلى المستشعرات المضمنة في مجموعة Lego Mindstorms EV3 المنزلية أو التعليمية، هناك خيار شراء مستشعرات Lego إضافية وأجهزة استشعار معتمدة من Lego من HiTechnic.

    تنتج شركة هاي تكنيك عدد كبيرأجهزة استشعار LEGO Mindstorms، معظمها معتمدة من LEGO، مما يؤكد التوافق الكامل ومعايير الجودة والسلامة العالية.

    ومن العوامل المهمة أيضًا التي تسمح باستخدام هذه المستشعرات عند العمل مع الأطفال وجود شهادة RoHS (تقييد المواد الخطرة)، مما يؤكد عدم استخدام المواد في المعدات الكهربائية والإلكترونية: الرصاص، الزئبق، الكادميوم، القصدير، الكروم سداسي التكافؤ، وبعض مركبات البروميد. للحصول على القائمة الحالية لأجهزة الاستشعار المعتمدة من Lego، قم بزيارة www.hitechnic.com/sensors.

    متوفر حاليًا: مستشعر زاوية الدوران؛

    القوة المطبقة بشكل عرضي على المحور؛ بوصلة؛ مقياس التسارع؛

    جيروسكوب؛ كاشف المجال المغناطيسي. مستشعر الأشعة تحت الحمراء

    مستشعر الحركة بالأشعة تحت الحمراء، والذي يسمح لك بتحديد وجود أشخاص أو حيوانات في الغرفة، على غرار أجهزة الاستشعار المستخدمة في أنظمة الأمان؛ البارومتر، الذي يحدد الضغط الجوي ودرجة الحرارة؛

    مستشعر المسافة الكهروضوئي الذي يكتشف بدقة الأجسام الصغيرة والتغيرات الصغيرة في المسافة إليها، ولكن على مسافة لا تزيد عن 20 سم تقريبًا؛ مستشعر اللون

    © 2024 ermake.ru - حول إصلاح أجهزة الكمبيوتر - بوابة المعلومات