На цьому уроці ми продовжимо вивчати використання датчика кольору. Матеріал, викладений нижче, дуже важливий для подальшого вивчення курсу робототехніки. Після того, як ми навчимося використовувати всі датчики конструктора Lego mindstorms EV3, при вирішенні безлічі практичних завдань, будемо спиратися на знання, отримані на цьому занятті.
6.1. Датчик кольору - режим "Яскравість відбитого світла"
Отже, ми приступаємо до вивчення наступного режиму роботи датчика кольору, який називається "Яскравість відбитого світла" . В цьому режимі датчик кольору направляє потік червоного світла на сусідній предмет або поверхню і вимірює кількість відбитого світла. Більш темні предмети будуть поглинати світловий потік, тому датчик буде показувати менше значення, в порівнянні з більш світлими поверхнями. Діапазон значень датчика вимірюється від 0 (дуже темний) до 100(дуже яскравий). Даний режим роботи датчика кольору використовується в безлічі завдань з робототехніки, наприклад, для організації руху робота по заданому маршруту уздовж чорної лінії, нанесеної на біле покриття. При використанні цього режиму рекомендується розташовувати датчик таким чином, щоб відстань від нього до досліджуваної поверхні становило приблизно 1 см (Рис. 1) .
Мал. 1
- до практичних занять: датчик кольору вже встановлений на нашому роботі і спрямований вниз до поверхні покриття, по якому буде пересуватися наш робот. Відстань між датчиком і підлогою відповідає рекомендованому. Датчик кольору вже підключений до порту "2" модуля EV3. Давайте завантажимо середу програмування, підключимо робота до середовища і для проведення замірів скористаємося полем з кольоровими смугами, виготовленим нами для виконання завдань Розділу 5.4 Уроку №5 . Встановимо робота, таким чином, щоб датчик кольору розташувався над білою поверхнею. "Сторінку апаратних засобів" середовища програмування перемкнемо в режим "Перегляд портів" (Рис. 2 поз. 1) . У цьому режимі ми можемо спостерігати всі виконані нами підключення.Мал. 2 відображено підключення до портів "B" і "C" двох великих моторів, а до порту "2" - датчика кольору.
Мал. 2
Для вибору варіанта відображення показників датчиків необхідно натиснути на зображення датчика і вибрати потрібний режим (Рис. 3)
Мал. 3
На Рис. 2 поз. 2 ми бачимо, що значення показання датчика кольору над білою поверхнею одно 84 . У вашому випадку може вийти інше значення, адже воно залежить від матеріалу поверхні і освітлення всередині приміщення: частина освітлення, відбиваючись від поверхні, потрапляє на датчик і впливає на його показання. Встановивши робота таким чином, щоб датчик кольору розташувався над чорною смугою, зафіксуємо його свідчення (Рис. 4) . Спробуйте виміряти самостійно значення відбитого світла над рештою кольоровими смугами. Які значення у вас вийшли? Напишіть відповідь в коментарі до цього уроку.
Мал. 4
Давайте тепер повирішуємо практичні завдання.
Завдання №11: необхідно написати програму руху робота, зупиняється при досягненні чорної лінії.
Рішення:
Проведений експеримент показав нам, що при перетині чорної лінії, значення датчика кольору в режимі "Яскравість відбитого світла" дорівнює 6 . Значить, для виконання Завдання №11 наш робот повинен рухатися прямолінійно, поки шукане значення датчика кольору не стане менше 7 . Скористаємося вже знайомим нам програмним блоком "Очікування" Помаранчевої палітри. Виберемо необхідний умові завдання режим роботи програмного блоку "Очікування" (Рис. 5).
Мал. 5
Необхідно також налаштувати параметри програмного блоку "Очікування" . Параметр "Тип порівняння" (Рис. 6 поз. 1) може набувати таких значень: "Так само" = 0, "Чи не так само" = 1, "Більше" = 2, "Більше або дорівнює" = 3, "Менше" = 4 , "Менше або дорівнює" = 5. У нашому випадку встановимо "Тип порівняння" в значення "Менше" . Параметр "Поріг" встановимо рівним 7 (Рис.6 поз. 2) .
Мал. 6
Як тільки встановиться значення датчика кольору менше 7 , що трапиться, коли датчик кольору виявиться розташованим над чорною лінією, нам необхідно буде вимкнути мотори, зупинивши робота. Завдання вирішена (Рис. 7) .
Мал. 7
Для продовження занять нам знадобиться виготовити нове поле, що представляє собою чорну окружність діаметром приблизно 1 метр, нанесену на біле поле. Товщина лінії окружності дорівнює 2 - 2,5 см. Для основи поля можна взяти один аркуш паперу розміром A0 (841x1189 мм), склеїти разом два аркуші паперу розміром A1 (594x841 мм). На цьому полі розмітити лінію окружності і зафарбувати її чорною тушшю. Можете також завантажити макет поля, виконаний у форматі Adobe Illustrator, а потім замовити його друк на банерній тканині в друкарні. Розмір макета дорівнює 1250x1250 мм. (Переглянути скачаний нижче макет можна, відкривши його в програмі Adobe Acrobat Reader)
Дане поле стане в нагоді нам для вирішення декількох класичних задач курсу робототехніки.
Завдання №12: необхідно написати програму для робота, що пересувається всередині кола, окантованого чорної окружністю за таким правилом:
- робот рухається вперед прямолінійно;
- досягнувши чорної лінії, робот зупиняється;
- робот від'їжджає назад на два оберти моторів;
- робот повертає вправо на 90 градусів;
- рух робота повторюється.
Знання, отримані на попередніх уроках, допоможуть вам самостійно створити програму, вирішальну Завдання №12.
- Начать прямолинейное движение вперед (Рис. 8 поз. 1);
- Ожидать пересечения черной линии датчиком цвета (Рис. 8 поз. 2);
- Двигаться назад на 2 оборота (Рис. 8 поз. 3);
- Повернуть направо на 90 градусов (Рис. 8 поз. 4); значение угла поворота расчитано для робота, собранного по инструкции small-robot-45544 (Рис. 8 поз. 5);
- Повторять команды 1 - 4 в бесконечном цикле (Рис. 8 поз. 6).
Рис. 8
До роботи датчика кольору в режимі "Яскравість відбитого світла" ми ще неодноразово повернемося, коли будемо розглядати алгоритми руху вздовж чорної лінії. А поки розберемо третій режим роботи датчика кольору.
6.2. Датчик кольору - режим "Яскравість зовнішнього освітлення"
Режим роботи датчика кольору "Яскравість зовнішнього освітлення" дуже схожий на режим "Яскравість відбитого світла" , тільки в цьому випадку датчик не випромінює освітлення, а вимірює природне світлове освітлення навколишнього середовища. Візуально даний режим роботи датчика можна визначити по слабо світиться синього світлодіода. Показання датчика змінюються від 0 (відсутність світла) до 100 (найяскравіший світло). При вирішенні практичних завдань, що вимагають вимірювання зовнішнього освітлення, рекомендується розташовувати датчик, так, щоб датчик залишався максимально відкритим і не загороджують один деталями і конструкціями.
Давайте закріпимо датчик кольору на нашому роботі так само, як ми кріпили датчик дотику в Уроці №4 (Рис. 9) . Підключимо датчик кольору кабелем до порту "2" модуля EV3. Перейдемо до вирішення практичних завдань.
Мал. 9
Завдання №13: необхідно написати програму, яка змінює швидкість руху нашого робота в залежності від інтенсивності зовнішнього освітлення.
Щоб вирішити це завдання, нам треба дізнатися, як отримувати поточне значення датчика. А допоможе нам в цьому Жовта палітра програмних блоків, яка називається "Датчики" .
6.3. Жовта палітра - "Датчики"
Жовта палітра середовища програмування Lego mindstorms EV3 містить програмні блоки, що дозволяють отримувати поточні показники датчиків для подальшої обробки в програмі. На відміну, наприклад, від програмного блоку "Очікування" Помаранчевої палітри, програмні блоки Жовтої палітри відразу ж передають управління до наступних за ними програмним блокам.
Кількість програмних блоків Жовтої палітри відрізняється в домашній і освітньої версії середовища програмування. У домашній версії середовища програмування відсутні програмні блоки для датчиків, що не входять в домашню версію конструктора. Але, при необхідності, їх можна самостійно підключити .
Жовта палітра. Домашня версія середовища програмування.
Освітня версія середовища програмування містить програмні блоки для всіх датчиків, які можна використовувати з конструктором Lego mindstorms EV3.
Жовта палітра. Освітня версія середовища програмування.
Повернемося ж до вирішення Завдання №13 і подивимося, як можна отримувати і обробляти показання датчика кольору. Як ми вже знаємо: діапазон значень датчика кольору в режимі "Яскравість зовнішнього освітлення" знаходиться в межах від 0 до 100 . Такий же діапазон у параметра, що регулює потужність моторів. Спробуємо показанням датчика кольору регулювати потужність моторів в програмному блоці "Рульове управління" .
Рішення:
- Вважати поточне значення датчика кольору в режимі "Яскравість зовнішнього освітлення";
- Подати отримане з датчика кольору значення на вхід параметра "Потужність" програмного блоку "Рульове управління";
- Повторювати команди 1 - 2 в нескінченному циклі.
Мал. 10
Давайте завантажимо вийшла програму в робота і запустимо її на виконання. Робот поїхав повільно? Включимо світлодіодний ліхтарик і спробуємо підносити його до датчика кольору на різній відстані. Що відбувається з роботом? Закриємо датчик кольору долонею - що трапилося в цьому випадку? Напишіть відповіді на ці питання в коментарі до уроку.