Урок №7 - Вивчаємо ультразвуковий датчик

Вступ:

Поточний урок ми присвятимо вивченню ультразвукового датчика. Даний датчик присутній тільки в освітній версії набору Lego mindstorms EV3. Проте, користувачам домашньої версії конструктора радимо теж звернути увагу на даний урок. Можливо, що прочитавши про призначення і використання цього датчика, ви побажаєте його придбати на додаток до свого набору.

7.1. Вивчаємо ультразвуковий датчик

Головне призначення ультразвукового датчика, це визначення відстані до предметів, що знаходяться перед ним. Для цього датчик посилає звукову хвилю високої частоти (ультразвук), ловить зворотну хвилю, відображену від об'єкта і, заміривши час на повернення ультразвукового імпульсу, з високою точністю розраховує відстань до предмета.

ультразвуковий датчик

Мал. 1

Ультразвуковий датчик може видавати вимірювання відстаней в сантиметрах або в дюймах. Діапазон вимірювань датчика в сантиметрах дорівнює від 0 до 255 см, в дюймах - від 0 до 100 дюймів. Датчик не може виявляти предмети на відстані менше 3 см (1,5 дюймів). Так само він не досить стійко вимірює відстань до м'яких, тканинних і малооб'ємних об'єктів. Крім режимів вимірювання відстані в сантиметрах і дюймах датчик має спеціальний режим "Присутність / слухати" . В цьому режимі датчик не випромінює ультразвукові імпульси, але здатний виявляти імпульси іншого ультразвукового датчика.

У нашого робота, зібраного за інструкцією small-robot-45544 , ультразвуковий датчик вже закріплений попереду по ходу руху. Підключимо його кабелем до порту "3" модуля EV3 і приступимо до розбору практичних прикладів використання ультразвукового датчика.

Завдання №14: написати програму, що зупиняє прямолінійно рухається робота, на відстані 15 см до стіни або перешкоди.

Для вирішення завдання скористаємося вже знайомим нам програмним блоком "Очікування"Помаранчевої палітри, переключивши його в Режим: "Ультразвуковий датчик" - "Порівняння" - "Відстань в сантиметрах" (Рис. 2) . Саме рішення буде схоже на рішення Завдання №7 .

Блок Очікування. Ультразвуковий датчик.

Мал. 2

Рішення:

  1. Почати прямолінійний рух вперед (Рис. 3 поз. 1)
  2. Чекати, поки значення ультразвукового датчика не стане менше 15 см. (Рис. 3 поз. 2)
  3. Припинити рух вперед (Рис. 3 поз. 3)

Рішення Завдання №14

Мал. 3

Завдання вирішена!

Завдання №15: написати програму для робота, який тримає дистанцію в 15 см від перешкоди.

Рішення:

Поведінка робота буде наступним:

  • при значенні показання ультразвукового датчика більше 15 см робот буде рухатися вперед, намагаючись наблизитися до перешкоди;
  • при значенні показання ультразвукового датчика менше 15 см робот буде рухатися назад, намагаючись піти від перешкоди.

Ми вже знаємо, що за організацію вибору виконуваних блоків в залежності від умови відповідає програмний блок "Перемикач" Помаранчевої палітри. Встановимо для блоку "Перемикач" режим "Ультразвуковий датчик" - "Порівняння" - "Відстань в сантиметрах" (Рис. 4 поз.1) . Параметр "Тип порівняння" блоку "Перемикач" встановимо в значення "Більше" = 2, а "Поріг" визначимо рівним 15 (Рис. 4 поз. 2) . Такі настройки програмного блоку "Перемикач" приведуть до наступного поведінки програми:будуть виконуватися програмні блоки, поміщені в верхній контейнер (Рис. 4 поз. 3) , в іншому випадку будуть виконуватися програмні блоки, поміщені в нижній контейнер (Рис. 4 поз. 4) .

Блок Перемикач. Ультразвуковий датчик.

Мал. 4

Помістимо в ці контейнери програмні блоки, які включають рух вперед і назад. Для того щоб програмний блок "Перемикач" виконувався багаторазово, помістимо його всередину програмного блоку "Цикл"Помаранчевої палітри (Рис. 5) .

Рішення Завдання №14

Мал. 5

Завантажте вийшла програму в робота і запустіть її на виконання. Якщо перед роботом відсутня перешкода, то він поїде вперед. Піднесіть руку близько до ультразвукового датчика, спробуйте відводити - наближати руку. Як поводиться робот? Чекаємо ваші коментарі до цього уроку.

7.2. Робот-поліцейський

Принцип роботи ультразвукового датчика дуже схожий на радар, який застосовується для вимірювання швидкості рухомих автомобілів. Як радар дізнається швидкість автомобіля? Він вимірює відстань до об'єкта, що рухається, чекає заданий невеликий час і повторює вимір. Різниця відстаней - це пройдений шлях автомобіля. Розділивши пройдений шлях на час між двома вимірами, можна знайти швидкість, з якою рухався об'єкт вимірювання.

Давайте ж навчимо і нашого робота роботі радара!

Робот-поліцейський

Мал. 6

Послідовність дій, виконуваних роботом, буде такою:

  • Робот чекає появи в зоні контролю за рухомим об'єктом;
  • вимірює відстань до об'єкта;
  • чекає 1 секунду;
  • повторно вимірює відстань до об'єкта;
  • знаходить пройдену відстань і порівнює його з граничним значенням;
  • виводить на екран результат і подає тривогу в разі перевищення швидкості.

Почнемо створювати програму для нашого робота-поліцейського.

  1. За допомогою програмного блоку "Очікування" чекаємо появи об'єкта в зоні контролю робота (Рис. 7 поз. 1) . Відстань до об'єкта передаємо в програмний блок "Математика" (Рис. 7 поз. 4) .
  2. За допомогою програмного блоку "Очікування" чекаємо 1 секунду.
  3. Другий раз знімаємо показання ультразвукового датчика (Рис. 7 поз. 3) і передаємо отримане значення в програмний блок "Математика" (Рис. 7 поз. 4) .
  4. У програмному блоці "Математика" знаходимо відстань, пройдену об'єктом вимірювання за 1 секунду. Отримане значення передаємо в програмний блок "Порівняння" (Рис. 7 поз. 5) і виводимо на екран (Рис. 7 поз. 6) .
  5. За допомогою програмного блоку "Порівняння" (Рис. 7 поз. 5) порівнюємо пройдену відстань з граничним значенням, рівним 10 . Результат порівняння двох чисел являє собою логічний висновок. Логічний висновок може приймати одне з двох значень: "Так" або "Ні" . Цей висновок ми передаємо в прогамне блок "Перемикач" (Рис. 7 поз. 7) , налаштувавши його на прийом логічних значень. Зверніть увагу: шини даних, що передають логічні значення, пофарбовані в зелений колір, на відміну від жовтих шин даних, що передають числові значення. (Надалі ми докладніше ознайомимося з принципами обробки логічних значень).
  6. За допомогою програмного блоку "Перемикач" ми організуємо дві гілки поведінки програми в залежності від швидкості об'єкта. Якщо об'єкт за 1 секунду наблизився до робота, більше ніж на 10 см, значить, будемо вважати його наближення критичним і подамо сигнали тривоги (Рис. 7 поз. 8) . В іншому випадку будемо вважати, що об'єкт рухається повільно, в цьому випадку робот включить зелене підсвічування клавіш модуля EV3 і скаже "Okay" .
  7. В кінці програми ще раз скористаємося програмним блоком "Очікування" (Рис. 7 поз. 10) і "притримаємо" завершення програми на 5 секунд, щоб встигнути прочитати інформацію на екрані модуля EV3.

Програма для робота-поліцейського

Мал. 7

Завантажте програму на робота, розташуйте робота так, щоб перед ним на відстані 60 сантиметрів були відсутні інші предмети, запустіть програму на виконання. Переміщайте в напрямку до робота іграшковий автомобіль або об'ємний предмет, спостерігайте за реакцією робота. Спробуйте змінювати порогові значення в програмі. Як змінюється поведінка робота? Опишіть свої спостереження в коментарі до цього уроку.

7.3. Ультразвуковий датчик - режим "Присутність / слухати"

Як вже зазначалося вище, в цьому режимі ультразвуковий датчик здатний виявляти випромінювання іншого ультразвукового датчика. Результатом виявлення є логічне значення: "Так" , якщо знайдено ультразвукове випромінювання, або "Ні" , якщо нічого не знайдено. Даний режим можна використовувати, наприклад, в змаганнях роботів-шпигунів (опис режиму вже говорить про те, що для його використання необхідно мінімум два робота).

Завдання № 16: необхідно написати програму, яка виявляє іншого робота, з працюючим ультразвуковим датчиком.

Спробуйте написати програму самостійно, не підглядаючи в рішення!

 

Рішення Завдання №16

Використовуючи знання, отримані раніше, спробуйте самостійно розібрати варіант вирішення Завдання №16 . Запропонуйте свій варіант вирішення ...

Рішення Завдання №16

Категорія: Уроки з LEGO | Додав: admin (05.07.2018)
Переглядів: 991 | Теги: Вивчаємо ультразвуковий датчик | Рейтинг: 0.0/0
Всього коментарів: 0
Додавати коментарі можуть лише зареєстровані користувачі.
[ Реєстрація | Вхід ]