همه سنسورهای ev3 نام درستی دارند. اتصال دو یا چند آجر EV3

به طور سنتی، روبات ها بر روی یک پلت فرم ساخته می شدند Lego Mindstorms EV3، با استفاده از محیط گرافیکی LabVIEW برنامه ریزی می شوند. در این حالت، برنامه ها روی کنترلر EV3 اجرا می شوند و ربات به صورت مستقل عمل می کند. در اینجا من در مورد یک راه جایگزین برای کنترل ربات صحبت خواهم کرد - با استفاده از پلت فرم دات نت که بر روی رایانه اجرا می شود.

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

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

LEGO MINDSTORMS EV3 API برای دات نت

کنترلر EV3 از طریق یک سیستم خارجی با ارسال دستورات به پورت سریال کنترل می شود. فرمت فرمان خود در Communication Developer Kit توضیح داده شده است.

اما پیاده سازی این پروتکل به صورت دستی خسته کننده است. بنابراین می توانید از بسته بندی دات نت آماده که برایان پیک با دقت نوشته است استفاده کنید. کد منبع این کتابخانه در Github میزبانی می شود و بسته آماده برای استفاده را می توانید در Nuget پیدا کنید.

اتصال به کنترلر EV3

کلاس Brick برای برقراری ارتباط با کنترلر EV3 استفاده می شود. هنگام ایجاد این شی، باید یک پیاده سازی از رابط ICommunication را به سازنده منتقل کنید - یک شی که نحوه اتصال به کنترل کننده EV3 را توضیح می دهد. UsbCommunication، BluetoothCommunication و NetworkCommunication (اتصال WiFi) در دسترس هستند.

محبوب ترین روش اتصال از طریق بلوتوث است. بیایید نگاهی دقیق تر به این روش اتصال بیندازیم.

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

پس از اتصال کنترلر به تنظیمات بلوتوث رفته و تب COM ports را انتخاب کنید. ما کنترل کننده خود را پیدا می کنیم، نیاز داریم برونگرابندر. ما آن را هنگام ایجاد شئ BluetoothCommunication مشخص می کنیم.

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

همگام عمومی Task Connect (ارتباطات ICCommunication) ( ارتباط var = ارتباط بلوتوث جدید ("COM9")؛ var brick = _brick = new Brick(ارتباطات)؛ await _brick.ConnectAsync();)

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

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

اتصال به واحد از طریق USB یا WiFi به همین ترتیب انجام می شود، با این تفاوت که از اشیاء UsbCommunication و NetworkCommunication استفاده می شود.

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

بیایید موتورها را بچرخانیم

برای اجرای دستورات روی کنترلر EV3، به ویژگی DirectCommand شی Brick دسترسی داریم. ابتدا سعی می کنیم موتورها را روشن کنیم.

فرض کنید موتور ما به پورت A کنترلر متصل است، سپس کارکردن این موتور با قدرت 50% به شکل زیر خواهد بود:

Await _brick.DirectCommand.TurnMotorAtPowerAsync(OutputPort.A, 50);

روش های دیگری برای کنترل موتور وجود دارد. به عنوان مثال، می توانید با استفاده از متدهای StepMotorAtPowerAsync() و StepMotorAtSpeedAsync() یک موتور را به یک زاویه مشخص بچرخانید. روش های مختلفی وجود دارد که عبارتند از تغییرات در حالت های روشن کردن موتورها - بر اساس زمان، سرعت، قدرت و غیره.

توقف اجباری با استفاده از روش StopMotorAsync() انجام می شود:

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

پارامتر دوم نشان دهنده استفاده از ترمز است. اگر آن را روی false تنظیم کنید، موتور متوقف می شود.

خواندن مقادیر از حسگرها

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

از طریق ویژگی Ports شی Brick می توان به پورت های خواندن مقادیر دسترسی داشت. پورت ها مجموعه ای از پورت های موجود بر روی کنترلر است. بنابراین، برای کار با یک پورت خاص، باید آن را انتخاب کنید. InputPort.One ... InputPort.Four پورت های حسگر هستند و 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 منتقل می‌شود قبلا، پیش از اینشروع به چرخیدن خواهد کرد

اگر برای ما حیاتی است که موتورها را همزمان بچرخانیم، می‌توانیم دستورات را در یک "بسته" به کنترل کننده ارسال کنیم. در این حالت، به جای DirectCommand باید از ویژگی BatchCommand استفاده کنید:

Brick.BatchCommand.TurnMotorAtPower(OutputPort.A, 50); _brick.BatchCommand.TurnMotorAtPower(OutputPort.B, -50); await _brick.BatchCommand.SendCommandAsync();

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

شما چه کار دیگه ای میتوانید انجام دهید

علاوه بر چرخاندن موتورها و خواندن مقادیر سنسور، می توانید تعدادی عملکرد دیگر را روی کنترلر EV3 انجام دهید. من به جزئیات در مورد هر یک از آنها نمی پردازم، فقط لیستی از کارهایی که می توان انجام داد را لیست می کنم:

  • CleanUIAsync()، DrawTextAsync()، DrawLineAsync()، و غیره - دستکاری صفحه داخلی کنترلر EV3
  • PlayToneAsync() و PlaySoundAsync() - از بلندگوی داخلی برای پخش صداها استفاده کنید
  • WriteFileAsync() , CopyFileAsync() , DeleteFileAsync() (از SystemCommand) - کار با فایل ها

نتیجه

استفاده از دات نت برای کنترل ربات های Mindstorms EV3 به خوبی نشان می دهد که چگونه فناوری های «جهان های مختلف» می توانند با هم کار کنند. در نتیجه تحقیق در مورد API EV3 برای دات نت، یک برنامه کوچک ایجاد شد که به شما امکان می دهد ربات EV3 را از طریق رایانه کنترل کنید. متأسفانه، برنامه های مشابه برای NXT وجود دارد، اما EV3 آنها را دور زد. در عین حال در مسابقات ربات های کنترل شده مانند فوتبال ربات مفید هستند.

این اپلیکیشن را می توانید از این لینک دانلود و نصب کنید:

اگر شما نیز مانند ما فاقد قابلیت‌های سنسورهای استاندارد 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 و قطب نما دیجیتال با استفاده از این کتابخانه است.

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


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

حالت صفحه را انتخاب کنید

انتخاب حالت
مسدود کردن فیلد متنی
ورودی ها
دکمه پیش نمایش

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

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

مختصات صفحه نمایش

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

ابعاد صفحه نمایش: 178 پیکسل عرض و 128 پیکسل ارتفاع. محدوده مقادیر مختصات X از 0 در صفحه سمت چپ تا 177 در سمت راست است. محدوده مقادیر مختصات Y از 0 در بالا تا 127 در پایین است.

نکات و ترفندها

می‌توانید از دکمه پیش‌نمایش در گوشه سمت چپ بالای بلوک Screen استفاده کنید تا به شما در پیدا کردن مختصات صحیح صفحه کمک کند.

متن - پیکسل

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

بازنشانی پنجره

حالت Reset Window صفحه EV3 Brick را به صفحه اطلاعات استاندارد نشان داده شده در حین اجرای برنامه برمی گرداند. این صفحه نام برنامه و سایر اطلاعات بازخورد را نشان می دهد. هنگامی که برنامه ای را روی EV3 Brick اجرا می کنید، این صفحه قبل از اجرای اولین بلوک Screen برنامه ظاهر می شود.

اطمینان از دید عناصر نمایش داده شده

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

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

نمایش چندین آیتم

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

نمایش اعداد

برای نمایش یک مقدار عددی در برنامه خود، یک گذرگاه داده را به ورودی Text بلوک Text Display متصل کنید. گذرگاه داده های عددی به طور خودکار با استفاده از تبدیل نوع گذرگاه داده به متن تبدیل می شود (به بخش مراجعه کنید

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

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

اتصال 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 امکان پذیر می کند.
  • وقتی Wi-Fi یا بلوتوث فعال است نمی تواند کار کند.

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

وقتی این حالت انتخاب شد، برای هر موتوری می‌توانیم بلوک 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 را وصل کنید.