LEGO Mindstorms Education EV3 - بررسی طراح. آخرین اخبار دنیای لگو - EduCube را بخوانید. LEGO Mindstorms EV3. اسکای نت اسباب بازی. صفحه اصلی نحوه اضافه کردن ماژول های اضافی lego ev3

اگر سؤالی دارید که می خواهید در مورد طراح جدید بدانید (چگونه چیزی خاص کار می کند، آزمایشی با سنسورها یا موتورها انجام دهید) - برای ما بنویسید - ما پیشنهادات شما را امتحان خواهیم کرد. به این ترتیب می توانید اطلاعات بیشتری در مورد EV3 حتی قبل از فروش آن بیاموزید.

حالا همه چیز با یک بررسی شروع می شود نرم افزاربلوک EV3 (سیستم افزار EV3).

یکی از ویژگی های یونیت جدید این است که زمان زیادی برای روشن و خاموش شدن آن نیاز است. از نظر زمانی، فرآیند با گنجاندن قابل مقایسه است تلفن همراهیا روتر خانگی، یعنی. 20-30 ثانیه پس از روشن شدن، منوی زیر ظاهر می شود:


همانطور که می بینید، در مقایسه با بلوک NXT، چیزهای زیادی تغییر کرده است: کیفیت فونت ها بهبود یافته است، بیشتر کشیده شده است. عناصر گرافیکی، رابط پنجره. اول از همه، این به این دلیل است که اکنون اندازه صفحه نمایش افزایش یافته است - به جای 100 در 64، مانند بلوک NXT، 178 در 128 پیکسل شده است. بر اساس وجود یک رابط پنجره با دکمه های یکپارچه و نوارهای پیمایش، می توان فرض کرد که دستگاه هایی مانند یک خارجی پد لمسیدر حال حاضر حتی منطقی تر خواهد بود.


از پنجره اول می توان برنامه های بارگذاری شده روی بلوک و همچنین برنامه هایی را که مستقیماً روی بلوک ایجاد شده اند فراخوانی کرد. آن ها برای شروع برنامه اکنون باید کلیک های کمتری نسبت به بلوک NXT انجام دهید.

پیمایش از طریق برنامه های بارگذاری شده و همچنین به صفحه دوم و بعدی (موارد منو) با استفاده از دکمه های کنترلی انجام می شود که اکنون 4 مورد از آنها وجود دارد.


صفحه دوم - به شما امکان می دهد در میان اشیاء سیستم فایل در بلوک حرکت کنید. سیستم فایلاکنون از سلسله مراتب سنتی پشتیبانی می کند: فایل ها و دایرکتوری ها.


صفحه سوم شامل یک زیر منو است - برنامه هایی که به شما امکان می دهد اقدامات مختلفی را با بلوک انجام دهید:


که در نسخه فعلیچهار بلوک نرم افزاری از این برنامه ها وجود دارد:

  • مشاهده سنسورها
  • کنترل موتور
  • کنترل از راه دور
  • برنامه نویسی روی بلوک
صفحه چهارم تنظیمات است. بعلاوه تنظیمات پایه: سطح صدا، تایمر عدم فعالیت، روشن کردن بلوتوث و وای فای به شما امکان می دهد اطلاعاتی در مورد نرم افزار دستگاه پیدا کنید:



انتخاب یک آیتم/برنامه منوی خاص با دکمه وسط صفحه کلید انجام می شود. و برای خروج از هر آیتم منو یا برنامه، باید دکمه "Exit" را فشار دهید، که اکنون جدا از دکمه های اصلی - در سمت چپ زیر صفحه نمایش قرار دارد.

حالا باید به صفحه سوم برگردید و شروع به آشنایی با اپلیکیشن ها کنید. بنابراین، برنامه "مشاهده حسگرها" (نمایش پورت).

برخلاف حالت مشابه در بلوک NXT، اکنون می توانید اطلاعات مربوط به هر 8 دستگاه متصل به بلوک را به طور همزمان مشاهده کنید. علاوه بر این، عملکرد اعلام شده است تشخیص خودکارسنسورها به شما این امکان را می دهند که به صورت دستی نشان ندهید که کدام سنسور کجا وصل شده است.

اطلاعات انکودرهای موتور در بالا و اطلاعات حسگرها در پایین نمایش داده می شود. در مرکز صفحه - اطلاعات در مورد دستگاه خاص(V پورت خاص) که با فشار دادن دکمه های کنترلی روی صفحه کلید قابل انتخاب است. اطلاعات شامل یک نمایش گرافیکی از سنسور، نام آن و قرائت های فعلی است:

سنسور لمسی:


سنسور ژیروسکوپ:


حسگر رنگ در حالت نور بازتابی:


سنسور فاصله اولتراسونیک:

در اینجا اتفاقاً می بینید که اکنون سنسور ادعا می کند که می تواند فاصله ها را با دقت میلی متر اندازه گیری کند و حداقل فاصله اندازه گیری شده اکنون 3 سانتی متر است.

اطلاعات از رمزگذار موتور سمت چپ.


کاربرد بعدی کنترل موتور است. اساساً به شما امکان می دهد از دکمه هایی برای چرخاندن موتورها استفاده کنید. با دکمه مرکزی باید انتخاب کنید که کدام موتورها بچرخند. و سپس از جفت دکمه بالا و پایین یا چپ و راست برای چرخاندن موتورهای خاص استفاده کنید.


آزمایش سومین برنامه ممکن نبود، زیرا تحویل استاندارد نسخه آموزشی کیت EV3 شامل سنسور فاصله مادون قرمز و چراغ مادون قرمز نیست. اما ظاهراً در این صفحه می توانید پیکربندی کنید که کدام موتورها از چراغ مادون قرمز کنترل شوند.


البته بیشترین برنامه جالبروی یک بلوک برنامه نویسی می کند. به طور قابل توجهی دوباره طراحی شده است: یک برنامه اکنون می تواند تا 16 عنصر برنامه (بلوک) داشته باشد و برنامه های ایجاد شده را می توان ذخیره کرد و البته برای اصلاح دوباره باز کرد.


هنگامی که برنامه نوشتن برنامه باز می شود، یک حلقه اجرای خالی نمایش داده می شود (فقط یک تکرار اجرا خواهد شد) و یک پیشنهاد برای درج بلوک اول. می توانید با استفاده از دکمه "بالا" یک بلوک را وارد کنید.


در پنجره انتخاب بلوک که ظاهر می شود، 17 بلوک (6 بلوک عمل و 11 بلوک انتظار) به اضافه عمل حذف بلوک فعلی موجود است.



ترتیب انتخاب و ترتیب بلوک ها توسط برنامه نویس تعیین می شود. این بدان معنا نیست که پس از هر بلوک عمل باید یک بلوک انتظار وجود داشته باشد، همانطور که قبلاً در مورد بلوک NXT وجود داشت.

بلوک انتخاب شده در برنامه به شکل زیر است:


رفتار بلوک را می توان با فشار دادن دکمه مرکزی مشخص کرد. برای این بلوک، برای مثال، می توانید زاویه و جهت چرخش ربات را تغییر دهید یا موتورها را به طور کلی متوقف کنید (مثلاً بعد از بلوک انتظار قبلی).


با حرکت دادن "مکان نما" به چپ یا راست، می توانید بلوک دیگری را وارد کنید:


به عنوان مثال، یک بلوک انتظار رویداد در یک سنسور فاصله:


و رفتار آن را تغییر دهید (اگر فاصله بیش از 60 سانتی متر شود این رویداد رخ می دهد):


بلوک ها را می توان بین بلوک های موجود یا حتی در ابتدای یک برنامه درج کرد.


در اینجا نمونه های بیشتری از بلوک های انتظار آورده شده است:

بلوک زمان انتظار (شما می توانید تعیین کنید دقیقا چه مدت منتظر بمانید):


یا بلوکی برای انتظار یک رویداد از یک سنسور ژیروسکوپی (شما می توانید زاویه چرخش سنسور را تنظیم کنید).


لازم به ذکر است که عملکرد تشخیص خودکار حسگر، فرآیند برنامه نویسی را در واحد ساده می کند. دیگر نیازی به رعایت این قانون نیست که سنسورهای خاصی باید به پورت های خاصی متصل شوند.

اگر برنامه باید چندین بار اجرا شود، تعداد تکرارهای حلقه کنترل را می توان تغییر داد:


برنامه با انتخاب اولین بلوک راه اندازی می شود:


هنگامی که برنامه را شروع می کنید، موارد زیر روی صفحه نمایش داده می شود:


برنامه را می توان ذخیره کرد و می توانید نام فایل را برای جستجوی بعدی مشخص کنید:



حروف با استفاده از صفحه کلید انتخاب می شوند (سلام، پد لمسی!)

اگر بخواهید یک برنامه ذخیره نشده را ببندید، پیام نه چندان واضح زیر نمایش داده می شود و صدای ناخوشایندی تولید می شود:


بعداً می توانید برنامه ایجاد شده را باز کرده و تغییراتی در آن ایجاد کنید.


طبیعتا فقط برنامه های ایجاد شده روی بلوک باز می شوند.

در پایان، من می خواهم نشان دهم که خاموش کردن یک بلوک چگونه به نظر می رسد:


اتصال USB

LEGO Mindstorms EV3 می تواند از طریق اتصال USB به رایانه شخصی یا EV3 دیگری متصل شود. سرعت اتصال و پایداری در در این موردبهتر از هر روش دیگری از جمله بلوتوث.

LEGO Mindstorms EV3 دارای دو پورت USB است.

ارتباط بین LEGO EV3 و سایر بلوک های LEGO EV3 در حالت زنجیره ای دیزی.

حالت زنجیره ای دیزی برای اتصال دو یا چند بلوک LEGO EV3 استفاده می شود.

این حالت:

  • طراحی شده برای اتصال بیش از یک LEGO Mindstorms EV3.
  • برای اتصال خدمت می کند بیشترسنسورها، موتورها و سایر دستگاه ها؛
  • امکان برقراری ارتباط بین چندین LEGO Mindstorms EV3 (حداکثر 4)، که به ما تا 16 پورت خارجی و همان تعداد پورت داخلی را می دهد.
  • کنترل کل زنجیره را از LEGO Mindstorms EV3 امکان پذیر می کند.
  • وقتی فعال است نمی تواند کار کند اتصال وای فاییا بلوتوث

برای فعال کردن حالت اتصال زنجیره ای دیزی، به پنجره تنظیمات پروژه بروید و کادر را علامت بزنید.

وقتی این حالت انتخاب شد، برای هر موتوری می‌توانیم بلوک EV3 مورد استفاده و سنسورهای لازم را انتخاب کنیم.

جدول گزینه های استفاده از بلوک های EV3 را نشان می دهد:

عمل

موتور متوسط

موتور بزرگ

فرمان

مدیریت مستقل

ژیروسکوپی

فرو سرخ

اولتراسونیک

چرخش موتور

دماها

کنتور انرژی

صدا

اتصال از طریق بلوتوث

بلوتوث به LEGO Mindstorms EV3 اجازه می دهد تا به رایانه شخصی، سایر LEGO Mindstorms EV3، تلفن های هوشمند و سایر دستگاه های بلوتوث متصل شود. برد ارتباطی از طریق بلوتوث تا 25 متر است.

می توانید تا 7 بلوک را به یک LEGO Mindstorms EV3 متصل کنید. EV3 Master Brick به شما امکان ارسال و دریافت پیام به هر EV3 Slave را می دهد. Slaves EV3 فقط می توانند به آجر Master EV3 پیام ارسال کنند نه به یکدیگر.

ترتیب اتصال EV3 از طریق بلوتوث

برای اتصال دو یا چند بلوک EV3 به یکدیگر از طریق بلوتوث، باید مراحل زیر را انجام دهید:

1. یک برگه را باز کنید تنظیمات.

2. انتخاب کنید بلوتوثو دکمه مرکزی را فشار دهید.

3. قرار دادیم چک باکس دیدبلوتوث.

4. بررسی کنید که علامت بلوتوث ("<") виден на верхней левой стороне.

5. روش فوق را برای تعداد مورد نیاز آجر EV3 انجام دهید.

6. به تب Connection بروید:

7. روی دکمه جستجو کلیک کنید:

8. EV3 را که می خواهید به آن وصل شوید (یا می خواهید به آن متصل شوید) انتخاب کنید و دکمه مرکزی را فشار دهید.

9. بلوک اول و دوم را با کلید دسترسی به هم وصل می کنیم.

اگر همه کارها را به درستی انجام دهید، نماد "در گوشه سمت چپ بالا ظاهر می شود<>"، سایر بلوک های EV3 را به همین ترتیب وصل کنید اگر بیش از دو عدد از آنها وجود دارد.

اگر LEGO EV3 را خاموش کنید، اتصال قطع خواهد شد و باید تمام مراحل را تکرار کنید.

مهم: هر بلوک باید برنامه خود را نوشته باشد.

نمونه برنامه:

First Block: وقتی سنسور لمسی فشار داده می شود، اولین بلوک EV3 متن را با تاخیر 3 ثانیه به بلوک دوم ارسال می کند (Main Block).

نمونه برنامه برای بلوک 2:

بلوک دوم منتظر می ماند تا متن بلوک اول را دریافت کند و پس از دریافت آن، یک کلمه (در مثال ما، کلمه "Hello") را به مدت 10 ثانیه نمایش می دهد (بلوک برده).

از طریق Wi-Fi متصل شوید

با اتصال دانگل Wi-Fi به پورت USB در EV3، ارتباط با برد بلندتر امکان پذیر است.

برای استفاده از Wi-Fi، باید یک ماژول ویژه را روی بلوک EV3 با استفاده از یک اتصال USB (آداپتور Wi-Fi (آداپتور بی‌سیم Netgear N150 (WNA1100) نصب کنید، یا می‌توانید یک دانگل Wi-Fi را وصل کنید.

اگر شما نیز مانند ما فاقد قابلیت‌های سنسورهای استاندارد EV3 هستید، 4 پورت برای حسگرها در روبات‌های شما کافی نیست، یا می‌خواهید برخی از لوازم جانبی عجیب و غریب را به ربات خود متصل کنید - این مقاله برای شما مناسب است. باور کنید سنسور خانگی برای EV3 ساده تر از چیزی است که به نظر می رسد. یک "قطعه صدا" از یک رادیو قدیمی یا چند میخ که به عنوان حسگر رطوبت خاک در گلدانی به زمین چسبیده اند، برای آزمایش عالی هستند.

با کمال تعجب، هر پورت حسگر EV3 تعدادی پروتکل مختلف را پنهان می کند، عمدتاً برای سازگاری با NXT و حسگرهای شخص ثالث. بیایید نحوه عملکرد کابل EV3 را بررسی کنیم


عجیب است، اما سیم قرمز زمین است (GND)، سیم سبز مزیت منبع تغذیه 4.3 ولت است. سیم آبی هم SDA برای گذرگاه I2C و هم TX برای پروتکل UART است. علاوه بر این، سیم آبی ورودی مبدل آنالوگ به دیجیتال برای EV3 است. سیم زرد هم SCL برای گذرگاه I2C و هم RX برای پروتکل UART است. سیم سفید ورودی مبدل آنالوگ به دیجیتال برای حسگرهای NXT است. سیاه - ورودی دیجیتال، برای سنسورهای سازگار با NXT - GND را کپی می کند. آسان نیست، اینطور نیست؟ به ترتیب بریم

ورودی آنالوگ EV3

هر پورت حسگر دارای یک کانال مبدل آنالوگ به دیجیتال است. برای سنسورهایی مانند سنسور لمسی (دکمه)، حسگر نور NXT و سنسور رنگ در حالت بازتاب نور و نور محیط، سنسور صدا NXT و دماسنج NXT استفاده می شود.

مقاومت 910 اهم که مطابق نمودار متصل شده است، به کنترلر می گوید که این پورت باید به حالت ورودی آنالوگ سوئیچ شود. در این حالت می توانید هر سنسور آنالوگ را به EV3 وصل کنید، مثلاً از آردوینو. نرخ ارز با چنین سنسوری می تواند به چندین هزار نظرسنجی در ثانیه برسد؛ این سریع ترین نوع سنسور است.

حسگر روشنایی

دماسنج

سنسور رطوبت خاک

همچنین می توانید به این موارد متصل شوید: یک میکروفون، یک دکمه، یک فاصله یاب IR و بسیاری از سنسورهای رایج دیگر. اگر برق 4.3 ولت برای سنسور کافی نیست، می توانید آن را با 5 ولت از درگاه USB واقع در کنار کنترلر EV3 تغذیه کنید.

دکمه ولوم فوق الذکر (همچنین به عنوان یک مقاومت متغیر یا پتانسیومتر نیز شناخته می شود) یک نمونه عالی از یک سنسور آنالوگ است - می توان آن را به این صورت متصل کرد:

برای خواندن مقادیر از چنین سنسوری در محیط برنامه نویسی استاندارد LEGO، باید از بلوک RAW آبی استفاده کنید.

پروتکل I2C

این یک پروتکل دیجیتال است؛ به عنوان مثال، حسگر اولتراسونیک NXT و بسیاری از سنسورهای Hitechnic مانند IR Seeker یا Color Sensor V2 روی آن کار می کنند. برای پلتفرم های دیگر، به عنوان مثال برای آردوینو، تعداد زیادی سنسور i2c وجود دارد، همچنین می توانید آنها را متصل کنید. این طرح به شرح زیر است:

مقاومت 82 اهم توسط گروه LEGO توصیه می شود، اما منابع مختلف به 43 اهم یا کمتر اشاره می کنند. در واقع، ما سعی کردیم این مقاومت ها را به کلی کنار بگذاریم و همه چیز کار می کند، حداقل «روی میز». در یک ربات واقعی که در شرایط انواع تداخل کار می کند، خطوط SCL و SDA همچنان باید از طریق مقاومت ها به منبع تغذیه متصل شوند، همانطور که در نمودار بالا نشان داده شده است. سرعت عملکرد i2c در EV3 بسیار کم است، تقریباً 10000 کیلوبیت بر ثانیه، به همین دلیل است که سنسور رنگی Hitechnic V2 مورد علاقه همه بسیار کند است :)

متأسفانه، برای EV3-G استاندارد LEGO هیچ بلوک کاملی برای ارتباط دو طرفه با حسگر i2c وجود ندارد، اما با استفاده از محیط های برنامه نویسی شخص ثالث مانند RobotC، LeJOS یا EV3 Basic می توانید تقریباً با هر سنسور i2c تعامل داشته باشید. .

توانایی EV3 برای کار با پروتکل i2c امکان جالبی را برای اتصال چندین سنسور به یک پورت باز می کند. پروتکل I2C به شما امکان می دهد تا 127 دستگاه برده را به یک گذرگاه متصل کنید. می توانید تصور کنید؟ 127 سنسور برای هر پورت EV3 :) علاوه بر این، اغلب یک دسته از سنسورهای i2c در یک دستگاه ترکیب می شوند، به عنوان مثال در عکس زیر یک سنسور 10 در 1 وجود دارد (شامل قطب نما، ژیروسکوپ، شتاب سنج، فشارسنج و غیره)

UART

تقریباً تمام سنسورهای استاندارد غیر EV3 به استثنای Touch Sensor با استفاده از پروتکل UART کار می کنند و به همین دلیل با کنترلر NXT سازگار نیستند که اگرچه دارای کانکتورهای یکسان است اما UART روی سنسور خود پیاده سازی نشده است. پورت ها به نمودار نگاه کنید، کمی ساده تر از موارد قبلی است:

سنسورهای UART به طور خودکار سرعت عملکرد خود را با EV3 مطابقت می دهند. در ابتدا با سرعت 2400 کیلوبیت بر ثانیه وصل می شوند، آنها در مورد حالت های عملیاتی و نرخ تبادل توافق می کنند، سپس به سرعت افزایش یافته می روند. نرخ ارز معمولی برای سنسورهای مختلف 38400 و 115200 کیلوبیت بر ثانیه است.
LEGO پروتکل نسبتاً پیچیده ای را در سنسورهای UART خود پیاده سازی کرده است، بنابراین هیچ سنسور شخص ثالثی وجود ندارد که در ابتدا برای این پلتفرم در نظر گرفته نشده باشد، اما با آن سازگار باشد. با این وجود، این پروتکل برای اتصال "خانگی" بسیار راحت است
سنسورهای مبتنی بر میکروکنترلر
یک کتابخانه فوق‌العاده برای آردوینو به نام EV3UARTEmulation وجود دارد که توسط توسعه‌دهنده معروف LeJOS، Lawrie Griffiths نوشته شده است، که به این برد اجازه می‌دهد وانمود کند که یک حسگر سازگار با UART-LEGO است. وبلاگ LeJOS News او دارای نمونه های زیادی از اتصال سنسورهای گاز، حسگر IMU و قطب نما دیجیتال با استفاده از این کتابخانه است.

در فیلم زیر نمونه ای از استفاده از سنسور خانگی را مشاهده می کنید. سنسورهای فاصله لگو اصلی به اندازه کافی نداریم، بنابراین از یک سنسور خانگی روی ربات استفاده می کنیم:


وظیفه ربات این است که از سلول سبز شروع کند، راهی برای خروج از پیچ و خم (گلبول قرمز) پیدا کند و بدون رفتن به بن بست، از کوتاه ترین مسیر به نقطه شروع بازگردد.

این مقاله تجربه استفاده از سازنده Lego Mindstorms EV3 را برای ایجاد یک نمونه اولیه از یک ربات با نرم افزار بعدی و کنترل دستی آن با استفاده از زبان Meta Control Robot (RCML) شرح می دهد.

  • مونتاژ یک نمونه اولیه ربات بر اساس Lego Mindstorms EV3
  • نصب و پیکربندی سریع RCML برای ویندوز
  • کنترل نرم افزاری ربات بر اساس کنترلر EV3
  • کنترل دستی لوازم جانبی ربات با استفاده از کیبورد و گیم پد
با کمی نگاه کردن به آینده، اضافه می کنم که برای اجرای کنترل یک ربات لگو با استفاده از صفحه کلید، باید برنامه ای ایجاد کنید که فقط شامل 3 خط کد برنامه باشد. جزئیات بیشتر در مورد نحوه انجام این کار در زیر برش نوشته شده است.

1. برای شروع، یک نمونه اولیه ربات از سازنده Lego Mindstorms EV3 ساخته شد که برای برنامه نویسی و خلبانی دستی استفاده خواهد شد.

شرح نمونه اولیه ربات

این ربات طراحی شبیه به شاسی خودرو دارد. دو موتور نصب شده روی قاب دارای یک محور چرخش مشترک هستند که از طریق یک جعبه دنده به چرخ های عقب متصل می شوند. گیربکس با افزایش سرعت زاویه ای محور عقب، گشتاور را تبدیل می کند. فرمان بر اساس یک چرخ دنده مورب مونتاژ می شود.



2. مرحله بعدی آماده سازی RCML برای کار با سازنده Lego Mindstorms EV3 است.

شما باید بایگانی ها را با فایل های اجرایی و فایل های کتابخانه و .

بایگانی های دانلود شده باید در دایرکتوری با نام دلخواه استخراج شوند، اما شما باید اجتناب کردنحروف روسی در عنوان.

محتویات دایرکتوری پس از باز کردن آرشیو در آن



در مرحله بعد باید یک فایل پیکربندی config.ini ایجاد کنید که باید در همان دایرکتوری قرار گیرد. برای پیاده سازی قابلیت کنترل کنترلر EV3 با استفاده از کیبورد و گیم پد، باید ماژول های lego_ev3، کیبورد و گیم پد را به هم متصل کنید.

لیست فایل پیکربندی config.ini برای RCML

ماژول = ماژول lego_ev3 = ماژول صفحه کلید = گیم پد


در مرحله بعد، باید کنترلر و آداپتور EV3 را جفت کنید.

دستورالعمل جفت کردن کنترلر EV3 و آداپتور بلوتوث

دستورالعمل ها شامل نمونه ای از جفت کردن کنترلر Lego Ev3 و رایانه شخصی با سیستم عامل ویندوز 7 است.

1. باید به بخش تنظیمات کنترلر Ev3 بروید، سپس به آیتم منوی «بلوتوث» بروید.

2. مطمئن شوید که پارامترهای پیکربندی به درستی تنظیم شده اند. چک باکس های "Visibility"، "Bluetooth" باید علامت زده شوند.

3. باید به «کنترل پنل»، سپس «دستگاه‌ها و چاپگرها» و سپس «دستگاه‌های بلوتوث» بروید.

4. باید روی دکمه «افزودن دستگاه» کلیک کنید. پنجره ای برای انتخاب دستگاه های بلوتوث موجود باز می شود.

5. دستگاه "EV3" را انتخاب کنید و روی دکمه "Next" کلیک کنید.

6. کنترلر EV3 کادر محاوره ای "اتصال؟" را نمایش می دهد. باید گزینه چک باکس را انتخاب کرده و با فشار دادن کلید مرکزی انتخاب خود را تایید کنید.

7. در مرحله بعد، کادر محاوره‌ای «PASSKEY» نمایش داده می‌شود، اعداد «1234» باید در خط ورودی نشان داده شوند، سپس باید عبارت کلیدی برای جفت‌سازی دستگاه‌ها را با فشار دادن کلید مرکزی روی موقعیت با علامت تأیید تأیید کنید.

8. در ویزارد جفت سازی دستگاه، فرمی برای وارد کردن کلید جفت کردن دستگاه ها ظاهر می شود. باید کد "1234" را وارد کرده و دکمه "بعدی" را فشار دهید.

10. در رایانه شخصی، باید به «کنترل پنل»، سپس «دستگاه‌ها و چاپگرها» و سپس «دستگاه‌های بلوتوث» برگردید. لیست دستگاه های موجود دستگاهی را که با آن جفت شده است نمایش می دهد.

11. برای رفتن به ویژگی های اتصال "EV3" دوبار کلیک کنید.

14. نمایه پورت COM مشخص شده در ویژگی ها باید در فایل پیکربندی config.ini ماژول lego_ev3 استفاده شود. این مثال ویژگی های اتصال بلوتوث کنترلر Lego EV3 را با استفاده از پورت سریال استاندارد COM14 نشان می دهد.


پیکربندی بیشتر ماژول به این واقعیت مربوط می شود که لازم است در فایل پیکربندی ماژول lego_ev3 آدرس پورت COM که از طریق آن ارتباط با ربات لگو انجام می شود، بنویسید.

لیست فایل پیکربندی config.ini برای ماژول lego_ev3

اتصال = COM14 dynamic_connection = 0


اکنون باید ماژول صفحه کلید را پیکربندی کنید. ماژول در دایرکتوری control_modules و سپس صفحه کلید قرار دارد. شما باید یک فایل پیکربندی config.ini در کنار فایل keyboard_module.dll ایجاد کنید. قبل از ایجاد یک فایل پیکربندی، باید تعیین کنید که هنگام فشار دادن کلیدها چه اقداماتی باید انجام شود.

ماژول صفحه کلید به شما امکان می دهد از کلیدهایی استفاده کنید که کد عددی خاصی دارند. می توانید جدول کدهای کلید مجازی را مشاهده کنید.

به عنوان مثال، از کلیدهای زیر استفاده خواهم کرد:

  • فلش های بالا/پایین برای چرخاندن موتور چرخ عقب به جلو/عقب استفاده می شود
  • فلش‌های چپ/راست چرخ‌ها را به چپ/راست می‌چرخانند
فایل پیکربندی ماژول صفحه کلید توضیح می دهد که کدام محورها برای تعامل با ربات در حالت کنترل دستی در دسترس برنامه نویس هستند. بنابراین، در مثال دو گروه کنترل وجود دارد - اینها محورهای صفحه کلید هستند. برای افزودن یک محور جدید، باید قوانین زیر را برای توصیف محورها رعایت کنید.

قوانینی برای توصیف محورها برای ماژول صفحه کلید

1. هنگام افزودن محور جدید در قسمت لازم است یک ویژگی که نام آن نام محور است اضافه کنید و مقدار دکمه صفحه کلید را به آن اختصاص دهید HEXفرمت، و یک رکورد مشابه برای هر دکمه ایجاد می شود، یعنی. نام یک محور را می توان چندین بار استفاده کرد. به طور کلی، نوشتن به یک بخش به این صورت خواهد بود:

Axis_name = keyboard_button_value_in_HEX_format
2. تعیین حداکثر و حداقل مقدار قابل ترسیم در این محور ضروری است. برای انجام این کار، باید بخشی را در فایل پیکربندی در یک خط جدید اضافه کنید config.ini، همان نام محور است و خصوصیات را تنظیم کنید upper_valueو کمتر_ارزش، که به ترتیب با حداکثر و حداقل محور مطابقت دارند. به طور کلی این بخش به شکل زیر است:

[نام_ محور] مقدار_بالایی = حداکثر_مقدار_محور_مقدار_کمتر = حداقل_مقدار_محور
3. در مرحله بعد، باید تعیین کنید که با فشار دادن دکمه ای روی صفحه کلید که قبلاً به آن وصل شده است، محور چه ارزشی خواهد داشت. مقادیر با ایجاد بخشی تعیین می شوند که نام آن شامل نام محور و مقدار دکمه صفحه کلید در HEXفرمت، با یک خط زیر جدا شده است. برای تنظیم حالت پیش فرض (فشرده نشده) و فشرده، از ویژگی ها استفاده کنید unpressed_valueو فشرده_مقداربه ترتیب، که مقادیر به آن منتقل می شوند. نمای کلی بخش در این مورد به این صورت است:

[axis-name_keyboard-key-value] pressed_value = axis_value when_key_pressed unpressed_value = axis_value_when_key_pressed
متن اسپویلر از اسناد RCML برای سهولت مشاهده کپی شده است.


برای اجرای کنترل نمونه اولیه ربات، یک فایل پیکربندی برای ماژول صفحه کلید ایجاد شد که شامل محورهای رفتن و چرخش است. از محور go برای تنظیم جهت حرکت ربات استفاده می شود. هنگامی که کلید "بالا" را فشار دهید، محور مقدار 100 را دریافت می کند، زمانی که کلید "فلش پایین" را فشار دهید، محور مقدار -50 را دریافت می کند. از محور چرخش برای تنظیم زاویه فرمان چرخ های جلو استفاده می شود. هنگامی که کلید فلش سمت چپ را فشار می دهید، مقدار محور 5- می شود، با فشار دادن کلید پیکان سمت راست، مقدار محور 5 می شود.

لیست فایل پیکربندی config.ini برای ماژول صفحه کلید

;بخش مورد نیاز ;نام_محور = کد_کلید (در قالب HEX) ;محور go مقادیر را از پیکان بالا دریافت می کند go = 0x26 ; محور go مقادیر را از go_down_arrow = 0x28 دریافت می کند ; محور چرخش مقادیر را از فلش چپ 25 x rotate = 0 دریافت می کند. مقادیر را از پیکان_راست rotate = 0x27 دریافت می کند؛ توصیف محور go، همیشه باید هر دو کلید را داشته باشد؛ حد بالایی مقادیر محور go upper_value = -100؛ حد پایینی مقادیر محور go. lower_value = 100؛ توضیحات محور چرخش، همیشه باید هر دو کلید را داشته باشد؛ حد بالایی مقادیر محور چرخش upper_value = - 100؛ حد پایینی مقادیر محور چرخش low_value = 100؛ توصیف رفتار محور go برای کلید *up_arrow* (0x26) ) ;هنگام فشار دادن کلید *up_arrow*، مقدار محور را روی 50 pressed_value = 100 قرار دهید؛ هنگام رها کردن کلید *up_arrow*، مقدار محور را روی 0 unpressed_value = 0 تنظیم کنید. شرح رفتار محور go برای *down_arrow * کلید (0x28) ؛ هنگام فشار دادن کلید *down_arrow*، مقدار محور را روی -50-pressed_value = -50 تنظیم کنید؛ هنگام رها کردن کلید *down_arrow*، مقدار محور را روی 0 unpressed_value = 0 تنظیم کنید. رفتار توصیف محور چرخش برای کلید *فلش_چپ* (0x25) ;هنگام فشار دادن کلید *فلش_چپ*، مقدار محور را روی -5-pressed_value = -5 قرار دهید؛ هنگام رها کردن کلید *فلش_چپ*، مقدار محور را روی 0 unpressed_value = 0 تنظیم کنید. رفتار محور چرخش برای کلید *right_arrow* (0x27) ؛ هنگام فشار دادن کلید *right_arrow*، مقدار محور را روی 5 pressed_value = 5 قرار دهید؛ هنگام رها کردن کلید *right_arrow*، مقدار محور را روی 0 تنظیم کنید unpressed_value = 0


در مرحله بعد، برای اجرای کنترل با استفاده از گیم پد، باید ماژول گیم پد را پیکربندی کنید. پیکربندی ماژول شامل ایجاد یک فایل پیکربندی config.ini در کنار gamepad_module.dll است که در دایرکتوری control_modules و سپس gamepad قرار دارد.

فایل پیکربندی ماژول جهانی برای تعامل با گیم پد

;بخش مورد نیاز که محورهای مورد استفاده را توصیف می کند ;محور پایان دادن به حالت کنترل دستی خروج = 9 ; 11 محور باینری مربوط به دکمه های گیم پد B1 = 1 B2 = 2 B3 = 3 B4 = 4 L1 = 7 L2 = 5 R1 = 8 R2 = 6 شروع = 10 T1 = 11 T2 = 12 ; 4 محور چوب؛ حرکت چوب راست به بالا/پایین RTUD = 13؛ چوب راست حرکت چپ/راست RTLR = 16؛ چوب چپ حرکت بالا/پایین LTUD = 15؛ چوب چپ حرکت چپ/راست LTLR = 14؛ 2 محور متقاطع؛ حرکت فلش متقاطع به بالا/پایین UD = 17؛ حرکت متقاطع فلش های چپ/راستLR = 18؛ توصیف رفتار محور B1؛ هنگام فشار دادن دکمه B1، مقدار محور را روی 1 upper_value تنظیم کنید. = 1; هنگام رها کردن دکمه B1، مقدار محور را روی 0 low_value = 0 upper_value = 1 low_value = 0 upper_value = 1 low_value = 0 upper_value = 1 low_value = 0 upper_value = 1 low_value = 0 upper_value = 0 upper_value = 0 upper_value = 0 upper_value = 0 upper_value = 0 upper_value = 0 upper_value = 0 upper_value = 0 upper_value = 0 upper_value = 0 upper_value = 0 upper_value = 1 low_value 1 low_value = 0 upper_value = 1 low_value = 0 upper_value = 1 low_value = 0 upper_value = 1 low_value = 0 upper_value = 1 low_value = 0 ;شرح رفتار محور چوب سمت راست در حال حرکت به سمت بالا/پایین ;محور حرکت به سمت حداکثر مقدار موقعیت بالای احتمالی upper_value = 0 ;مقدار محور هنگام حرکت به حداکثر موقعیت پایین ممکن low_value = 65535 upper_value = 0 low_value = 0 low_value = 65535 upper_value = 0 low_value = 0 low_value = 65535 upper_value = 0 low_value = 0 low_value = 65535 حرکت /down ;مقدار محور هنگام فشار دادن پیکان رو به بالا upper_value = 1 ;مقدار محور هنگام فشار دادن فلش رو به پایین low_value = -1 upper_value = 1 low_value = -1


اطلاعات اضافی در مورد مشخصات راه اندازی ماژول گیم پد در راهنمای مرجع RCML نمایش داده می شود.

3. مرحله بعدی نوشتن یک برنامه در RCML است.

در ریشه دایرکتوری ایجاد شده، باید یک فایل برنامه ایجاد کنید. نام فایل برنامه و پسوند آن می تواند هر چیزی باشد، اما باید از حروف روسی در نام خودداری کنید. نام فایل استفاده شده در مثال hello.rcml است.

برای ماژول lego_ev3، کد رزرو ربات به شکل زیر است:

@tr = robot_lego_ev3;

صفحه اتصال ماژول lego_ev3 بیشتر توابع پشتیبانی شده توسط کنترلر را شرح می دهد. به عنوان یک نمونه آزمایشی، برنامه ای ایجاد شد تا به طور خودکار ربات را وارد یک اسکید کند.

الگوریتم برنامه به شرح زیر است:

پس از رزرو اولین ربات رایگان، ارتباطی بین دو موتور برای کار بعدی با آنها برقرار می شود که انگار یکی هستند. سپس ربات شروع به انجام دریفت می کند. توضیحات نرم افزاری از اقدامات ربات به شما امکان می دهد زوایای چرخش چرخ های جلو و سرعت چرخش چرخ های عقب را به طور دقیق تنظیم کنید. استفاده از این تکنیک به شما امکان می دهد به نتایجی دست یابید که تکرار آنها در خلبانی دستی با صفحه کلید یا گیم پد دشوار است.

لیست برنامه برای ربات لگو به زبان RCML

تابع main() (@tr = robot_lego_ev3; //رزرو ربات @tr->setTrackVehicle("B","C",0,0); //تنظیم همگام سازی موتور @tr->motorMoveTo("D",100 , 0,0)؛ system.sleep(500)؛ @tr->trackVehicleForward(-100)؛ system.sleep(1000)؛ @tr->motorMoveTo("D",50,-50,0)؛ system. sleep (4000)؛ @tr->motorMoveTo("D",50,50,0); system.sleep(4000); @tr->trackVehicleOff(); system.sleep(1000)؛ )


برای کامپایل برنامه باید از خط فرمان window استفاده کنید. ابتدا باید با فایل های اجرایی rcml_compiler.exe و rcml_intepreter.exe به دایرکتوری ایجاد شده بروید. در مرحله بعد باید دستورات زیر را وارد کنید.

دستور کامپایل فایل hello.rcml:

Rcml_compiler.exe hello.rcml hello.rcml.pc
در نتیجه کامپایل، یک فایل جدید hello.rcml.pc در پوشه ایجاد شده ظاهر می شود.

اسکرین شات از خط فرمان پس از کامپایل موفقیت آمیز



اکنون باید مطمئن شوید که کنترلر EV3 روشن و با آداپتور بلوتوث جفت شده است. گیم پد باید به کامپیوتر متصل باشد. پس از این کار، برای اجرای فایل برنامه باید دستور زیر را اجرا کنید:

Rcml_intepreter.exe hello.rcml

نمایان شدن خط فرمان در حین اجرای برنامه



ویدئویی که برنامه حرکت ربات را نشان می دهد در پایین مقاله قرار دارد.

4. مرحله بعدی کنترل دستی ربات با استفاده از صفحه کلید است.

با استفاده از صفحه کلید می توانید هر موتور رباتی را کنترل کنید. این مثال کنترل مکانیسم های زیر را اجرا می کند:

  • زاویه فرمان چرخ جلو
  • جهت چرخش چرخ های عقب

لیست برنامه تعامل بین صفحه کلید و ربات لگو بر اساس کنترلر EV3

تابع main() (@tr = robot_lego_ev3; //رزرو ربات @tr->setTrackVehicle("B","C",0,0)؛ //تنظیم همگام سازی موتور system.hand_control(@tr,"keyboard", "مستقیم"، "برو"، "speedMotorD"، "rotate")؛ )


در مرحله بعد باید برنامه را کامپایل کرده و اجرا کنید. نتیجه کنترل دستی ربات لگو با استفاده از صفحه کلید در ویدیوی پایین صفحه نشان داده شده است.

5. علاوه بر صفحه کلید، یک ماژول گیم پد نیز در دسترس است که به شما امکان می دهد با استفاده از گیم پد ربات را دستکاری کنید. برای پیاده سازی کنترل ربات با استفاده از گیم پد، باید در سطح برنامه توضیح داد که کدام محورهای ربات مقادیر محورهای گیم پد را می گیرند.

لیست برنامه تعامل بین گیم پد و ربات لگو

تابع main() (@tr = robot_lego_ev3; //رزرو ربات @tr->setTrackVehicle("B","C",0,0)؛ //تنظیم همگام سازی موتور system.hand_control(@tr,"gamepad", "راست"، "RTUD"، "speedMotorD"، "RTLR")؛ )


در مرحله بعد باید روند کامپایل برنامه را تکرار کرده و سپس آن را اجرا کنید. در زیر نتیجه کنترل دستی ربات لگو با استفاده از گیم پد و تمام روش های قبلاً متصل شده را نشان می دهد:

این مقاله به طور خلاصه تنها برخی از قابلیت های RCML را نشان می دهد. مفصل ترین توضیحات را می توان در کتابچه راهنمای مرجع یافت.

شرح ارائه توسط اسلایدهای جداگانه:

1 اسلاید

توضیحات اسلاید:

2 اسلاید

توضیحات اسلاید:

رابط آجر EV3 آجر EV3 مرکز کنترلی است که ربات های شما را نیرو می دهد. با صفحه نمایش، دکمه های کنترل Brick و رابط EV3 Brick که شامل چهار پنجره اصلی است، به انواع خیره کننده ویژگی های منحصر به فرد EV3 Brick دسترسی دارید. اینها می توانند توابع ساده، مانند شروع و توقف یک برنامه، یا پیچیده، مانند نوشتن خود برنامه باشند.

3 اسلاید

توضیحات اسلاید:

رابط: منوی EV3 دارای منویی است که از 4 قسمت تشکیل شده است: برنامه های اخیر ناوبری فایل برنامه های کاربردی آجر تنظیمات آجر

4 اسلاید

توضیحات اسلاید:

برنامه های اخیر برنامه هایی را که اخیراً از رایانه رومیزی خود دانلود کرده اید راه اندازی کنید. این پنجره تا زمانی که برنامه ها را دانلود و اجرا نکنید خالی می ماند. این پنجره برنامه هایی را که اخیرا راه اندازی کرده اید نمایش می دهد. برنامه ای که در بالای لیست قرار دارد و به صورت پیش فرض انتخاب شده است، برنامه ای است که آخرین بار راه اندازی شده است.

5 اسلاید

توضیحات اسلاید:

مدیریت فایل به تمام فایل های ذخیره شده در حافظه میکرو کامپیوتر و همچنین کارت حافظه دسترسی پیدا کرده و مدیریت کنید. از این پنجره به همه فایل‌های موجود در EV3 Brick خود، از جمله فایل‌های ذخیره شده در کارت SD دسترسی پیدا کرده و مدیریت خواهید کرد. فایل ها در پوشه های پروژه سازماندهی می شوند که علاوه بر فایل های برنامه واقعی، صداها و تصاویر مورد استفاده در هر پروژه را نیز در بر می گیرند. فایل ها را می توان با استفاده از ناوبر فایل منتقل یا حذف کرد. برنامه های ایجاد شده با استفاده از محیط برنامه نویسی ماژول و برنامه های ثبت داده ماژول به طور جداگانه در پوشه های BrkProg_SAVE و BrkDL_SAVE ذخیره می شوند.

6 اسلاید

توضیحات اسلاید:

EV3 Control Box Applications دارای 4 برنامه از پیش نصب شده است: A. Port View. ب- کنترل موتور. ب. کنترل IR. د. محیط برنامه نویسی ماژول.

7 اسلاید

توضیحات اسلاید:

الف. نمای پورت در اولین پنجره اپلیکیشن پورت ویو، به سرعت می توانید ببینید که کدام پورت ها حسگرها یا موتورهایی به آنها متصل هستند. با استفاده از دکمه های کنترل EV3 Brick به یکی از پورت های اشغال شده بروید و خوانش های فعلی را از سنسور یا موتور خواهید دید. چندین سنسور و موتور نصب کنید و تنظیمات مختلف را آزمایش کنید. برای مشاهده یا تغییر تنظیمات فعلی موتورها و سنسورهای نصب شده، دکمه مرکزی را فشار دهید. برای بازگشت به پنجره برنامه اصلی ماژول، روی دکمه "بازگشت" کلیک کنید.

8 اسلاید

توضیحات اسلاید:

ب. کنترل موتور حرکت رو به جلو یا معکوس هر موتور متصل به یکی از چهار پورت خروجی را کنترل کنید. دو حالت مختلف وجود دارد. در یک حالت، می‌توانید موتورهای متصل به پورت A (با استفاده از دکمه‌های بالا و پایین) و پورت D (با استفاده از دکمه‌های چپ و راست) را کنترل کنید. در حالت دیگر، موتورهای متصل به پورت B (با استفاده از دکمه های بالا و پایین) و پورت C (با استفاده از دکمه های چپ و راست) را کنترل می کنید. جابجایی بین این دو حالت با استفاده از دکمه مرکزی انجام می شود. برای بازگشت به پنجره برنامه اصلی ماژول، روی دکمه "بازگشت" کلیک کنید.

اسلاید 9

توضیحات اسلاید:

کنترل IR حرکت رو به جلو یا معکوس هر موتور متصل به یکی از چهار پورت خروجی را با استفاده از چراغ مادون قرمز از راه دور به عنوان کنترل از راه دور و سنسور مادون قرمز به عنوان گیرنده کنترل کنید (سنسور مادون قرمز باید به پورت 4 در آجر EV3 متصل شود) . دو حالت مختلف وجود دارد. در یک حالت از کانال های 1 و 2 روی چراغ مادون قرمز از راه دور استفاده خواهید کرد. در کانال 1، می‌توانید موتورهای متصل به پورت B (با استفاده از دکمه‌های 1 و 2 روی بیکن IR از راه دور) و پورت C (با استفاده از دکمه‌های 3 و 4 روی بیکن IR از راه دور) را کنترل کنید. در کانال 2 می توانید موتورهای متصل به پورت A (با استفاده از دکمه های 1 و 2) و پورت D (با استفاده از دکمه های 3 و 4) را کنترل کنید. در حالتی دیگر، می‌توانید موتورها را به همان روش کنترل کنید و به جای آن از کانال‌های 3 و 4 روی چراغ مادون قرمز از راه دور استفاده کنید. جابجایی بین این دو حالت با استفاده از دکمه مرکزی انجام می شود. برای بازگشت به پنجره برنامه اصلی ماژول، روی دکمه "بازگشت" کلیک کنید.

10 اسلاید

توضیحات اسلاید:

محیط برنامه نویسی آجری آجر EV3 با نرم افزار نصب شده روی آن عرضه می شود. برنامه مشابه نرم افزار نصب شده بر روی کامپیوتر شما است. این دستورالعمل ها حاوی اطلاعات اولیه ای است که برای شروع به آن نیاز دارید.

11 اسلاید

توضیحات اسلاید:

تنظیمات آجر EV3 این پنجره به شما امکان می دهد تنظیمات کلی مختلف را در آجر EV3 مشاهده و تنظیم کنید.

12 اسلاید

توضیحات اسلاید:

تنظیم صدا می‌توانید صدا را در تب تنظیمات در EV3 افزایش یا کاهش دهید.

اسلاید 13