Вступ:До складу конструктора Lego mindstorms EV3 входять різні датчики. Головне завдання датчиків - представляти інформацію із зовнішнього середовища модулю EV3, а завдання програміста - навчитися отримувати і обробляти цю інформацію, подаючи необхідні команди моторам робота. Протягом ряду уроків ми будемо послідовно знайомитися з усіма датчиками, що входять і в домашній, і в освітній набори, навчимося взаємодіяти з ними і вирішувати найбільш поширені завдання управління роботом. 4.1. Вивчаємо перший датчик - датчик дотикуДля підключення датчиків до модуля EV3 призначені порти, позначені цифрами "1" , "2" , "3" і "4" . Таким чином, до одного модулю EV3 одночасно можна підключити до чотирьох різних датчиків. Всі порти абсолютно рівнозначні і ви можете підключати датчики до будь-яких портів, головне - будьте уважні при вказівці номера порту для відповідних датчиків в ваших програмах. Мал. 1 Першим датчиком, який ми вивчимо, буде датчик дотику (Рис. 2) . Мал. 2 Цей датчик, по суті, являє собою спеціальну кнопку, яка може перебувати в двох станах: "Н ажатіе" (Рис. 3 поз. 1) або "Звільнення" (Рис. 3 поз. 2) . Також, послідовний перехід в стан "Натискання" , а потім "Звільнення" називається: "Клацання" (Рис. 3 поз. 3) і може оброблятися програмою. як самостійну подію. Мал. 3 4.2. Помаранчева палітра - Управління операторамиЯкі ж інструменти представляє нам середовище програмування для отримання інформації з датчиків і реагування на цю інформацію в програмі? Давайте почнемо знайомитися з програмними блоками, розташованими в Помаранчевої палітрі, яка називається "Управління операторами". (Рис. 4) Мал. 4 Програмні блоки Помаранчевої палітри, не дивлячись на свою нечисленність, дуже важливі! За допомогою цих блоків ми можемо обробляти масу подій і умов і складно уявити практичну програму, яка може обійтися без цих блоків.
Програмні блоки "Очікування" , "Цикл" і "Перемикач" мають безліч режимів і відповідних налаштувань, знайомитися з якими ми будемо на практичних прикладах, послідовно і з наочними поясненнями. 4.3. Помаранчева палітра, програмний блок "Очікування"Перед тим, як приступити до вирішення практичних завдань, давайте закріпимо датчик торкання на нашому роботі, як показано на Рис. 5 , і підключимо його кабелем до порту "1" модуля EV3. Мал. 5 Завдання №6: необхідно написати програму, яка запускає рух робота по клацанню кнопки. Рішення: Саме умову задачі підказує нам можливе рішення: перед початком руху - необхідно дочекатися натискання-відпускання кнопки датчика торкання. Візьмемо програмний блок "Очікування" , змінимо режим програмного блоку на "Датчик дотику" - "Порівняння" (Рис. 6) . Мал. 6 Як можна побачити - програмний блок "Очікування" змінив своє відображення! Поруч з пісочного годинника з'явилося зображення датчика торкання (Рис. 7 поз. 1) , що допомагає в програмі візуально оцінювати встановлений режим роботи. Налаштування програмного блоку "Стан" задає необхідний стан датчика, досягнення якого припинить виконання блоку "Очікування" (Рис. 7 поз. 2) . Налаштування "Стан" може набувати таких значення: "0" - "Відпущено" , "1" - "Натискання" , "2" - "Клацання" .. Висновок "Виміряне значення" (Рис. 7 поз. 3) при необхідності дозволяє передати остаточний стан датчика для обробки в інший програмний блок. Мал. 7 Отже: при такій настройці блоку очікування виконання нашої програми буде зупинено до натискання-відпускання кнопки датчика торкання. Тільки після "Клацання" виконання буде передано наступному програмному блоку. Встановимо після блоку очікування один програмний блок "Рульове управління" , завантажимо програму в робота і переконаємося в правильності її виконання! (Рис. 8) Мал. 8 Завдання №7: необхідно написати програму, що зупиняє робота, що зіткнувся з перешкодою. З датчика торкання давайте зберемо невеликий бампер, який буде нам сигналізувати про те, що наш робот зіткнувся з перешкодою. Нижче наведені докладні інструкції для складання, як з домашньої, так і з освітньої версії конструктора Lego mindstorms EV3. Можете поекспериментувати і придумати власний варіант конструкції. Lego mindstorms EV3 homeLego mindstorms EV3 educationОдержаний елемент закріпимо на передній балці нашого робота і з'єднаємо датчик дотику з портом "1"модуля EV3.
Конструкція готова! Приступимо до створення програми. За умовою завдання: робот повинен рухатися вперед, поки не наткнеться на перешкоду. В цьому випадку датчик дотику буде натиснуто! Для вирішення знову скористаємося програмним блоком "Очікування" .Рішення:
Мал. 9 Для вирішення наступного завдання нам знадобиться програмний блок "Цикл" Помаранчевої палітри. Завдання №8: необхідно написати програму, яка змушує робота рухатися вперед, при наїзді на перешкоду - від'їжджати назад, повертати вправо на 90 градусів і продовжувати рух вперед до наступного перешкоди. Підказка: напишіть і протестуйте програму руху - від'їзду - повороту , а потім помістіть ці блоки всередину програмного блоку "Цикл" .
Мал. 10 впередназад | |||||
| |||||
Переглядів: 922 | | |
Всього коментарів: 0 | |