Урок №8 - Починаємо вивчати інфрачервоний датчик

Вступ:

Інфрачервоний датчик входить домашню версію набору Lego mindstorms EV3. Це єдиний датчик, який може застосовуватися як самостійно, так і в парі з інфрачервоним маяком, теж є частиною домашнього набору. Наступні два уроки ми присвятимо вивченню цих двох пристроїв, а також їх взаємодії між собою.

8.1. Вивчаємо інфрачервоний датчик і інфрачервоний маяк

Інфрачервоний датчик (Рис. 1) в своїй роботі використовує світлові хвилі, невидимі людині - інфрачервоні хвилі * . Такі ж хвилі використовують, наприклад, дистанційні пульти управління різної сучасною побутовою технікою (телевізорами, відео і музичними пристроями). Інфрачервоний датчик в режимі "Наближення"самостійно посилає інфрачервоні хвилі і, піймавши відбитий сигнал, визначає наявність перешкоди перед собою. Ще два режими роботи інфрачервоний датчик реалізує в парі з інфрачервоним маяком (Рис. 2) . У режимі "Віддалений" інфрачервоний датчик вміє визначати натискання кнопок інфрачервоного маяка, що дозволяє організувати дистанційне керування роботом. У режимі "Маяк"інфрачервоний маяк посилає постійні сигнали, за якими інфрачервоний датчик може визначати зразковий напрям і віддаленість маяка, що дозволяє запрограмувати робота таким чином, щоб він завжди дотримувався в сторону інфрачервоного маяка. Перед використанням інфрачервоного маяка в нього необхідно встановити дві батарейки AAA.

інфрачервоний датчик інфрачервоний маяк
Мал. 1 Мал. 2
 
 

    8.2. Інфрачервоний датчик. Режим "Наближення"

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

Вирішимо практичну задачу, схожу на Задачу №14 Уроку №7 , але, щоб не повторюватися, усложним умова додатковими вимогами.

Завдання №17: написати програму прямолінійно рухається робота, зупиняється перед стіною або перешкодою, що від'їжджав трохи назад, повертає на 90 градусів і продовжує рух до наступного перешкоди.

У робота, зібраного за інструкцією small-robot-31313 , попереду по ходу руху встановлено інфрачервоний датчик. З'єднаємо його кабелем з портом "3" модуля EV3 і приступимо до створення програми.

Розглянемо програмний блок "Очікування" Помаранчевої палітри, переключивши його в Режим: "Інфрачервоний датчик" - "Порівняння" - "Наближення" (Рис. 3) . В цьому режимі програмний блок "Очікування" має два вхідних параметра: "Тип порівняння" і "Поріг" . Налаштовувати ці параметри ми вже вміємо.

Блок "Очікування". Інфрачервоний датчик.

Мал. 3

Рішення:

  1. Почати прямолінійний рух вперед
  2. Чекати, поки граничне значення інфрачервоного датчика стане менше 20
  3. Припинити рух вперед
  4. Від'їхати назад на 1 оборот двигунів
  5. Повернути вправо на 90 градусів (скориставшись знаннями Уроку №3, розрахуйте необхідний кут повороту моторів)
  6. Продовжити виконання пунктів 1 - 5 в нескінченному циклі.

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

 

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

Решение Задачи №17

Рис. 4

А тепер для закріплення матеріалу спробуйте адаптувати рішення Завдання №15 Уроку №7 до використання інфрачервоного датчика! Вийшло? Поділіться враженнями в коментарі до уроку ...

8.3. Дистанційне керування роботом за допомогою інфрачервоного маяка

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

  1. Користуючись інфрачервоним маяком, направляйте передавач сигналу (Рис. 5 поз. 1) в сторону робота. Між маяком і роботом повинні бути відсутніми будь-які перешкоди! Завдяки широкому куту огляду інфрачервоний датчик впевнене приймає сигнали, навіть якщо маяк розташовується позаду робота!
  2. На корпусі маяка розташовані 5 сірих кнопок (Рис. 5 поз. 2) , натискання яких розпізнає інфрачервоний датчик, і передає коди натискань в програму, що управляє роботом.
  3. За допомогою спеціального червоного перемикача (Рис. 5 поз. 3) можна вибрати один з чотирьох каналів для зв'язку маяка і датчика. Зроблено це для того, щоб в безпосередній близькості можна було керувати кількома роботами.

інфрачервоний маяк

Мал. 5

Завдання №18: написати програму дистанційного керування роботом за допомогою інфрачервоного маяка.

Ми вже знаємо, що для реалізації можливості вибору виконуються блоків необхідно скористатися програмним блоком "Перемикач" Помаранчевої палітри. Встановимо режим роботи блоку "Перемикач" в "Інфрачервоний датчик" - "Вимірювання" - "Віддалений" (Рис. 6) .

Блок "Перемикач". інфрачервоний датчик

Мал. 6

Для активації зв'язку між інфрачервоним датчиком і маяком необхідно встановити правильне значення параметра "Канал" (Рис. 7 поз. 1) відповідно до обраного каналом на маяку! Кожному програмного контейнеру блоку "Перемикач" необхідно зіставити один з можливих варіантів натискання сірих клавіш (Рис. 7 поз. 2) . Зауважте: деякі варіанти включають одночасне натискання двох клавіш (натиснуті клавіші позначені червоним кольором). Всього в програмному блоці "Перемикач" в цьому режимі можна обробляти до 12 розрізняються умов (одна з умов має бути вибрано умовою за замовчуванням). Додаються програмні контейнери в блок "Перемикач" натисканням на"+" (Рис. 7 поз.3) .

Налаштування блоку "Перемикач"

Мал. 7

Пропонуємо реалізувати наступний алгоритм управління роботом:

  • Натискання верхньої лівої кнопки включає обертання лівого двигуна, робот повертає вправо (Рис. 7 поз. 2 значення: 1)
  • Натискання верхньої правої кнопки включає обертання правого мотора, робот повертає вліво (Рис. 7 поз. 2 значення: 3)
  • Одночасне натискання верхніх лівої і правої кнопок включає одночасне обертання вперед лівого і правого мотора, робот рухається вперед прямолінійно (Рис. 7 поз. 2 значення: 5)
  • Одночасне натискання нижніх лівої і правої кнопок включає одночасне обертання назад лівого і правого мотора, робот рухається назад прямолінійно (Рис. 7 поз. 2 значення: 8)
  • Якщо не натиснути жодної клавіші маяка - робот зупиняється (Рис. 7 поз. 2 значення: 0) .

При розробці алгоритму дистанційного керування ви повинні знати наступне: коли натиснута одна з комбінацій сірих кнопок - інфрачервоний маяк безперервно посилає відповідний сигнал, якщо кнопки відпущені, то відправка сигналу припиняється. Виняток становить окрема горизонтальна сіра кнопка (Рис. 7 поз 2 значення: 9) . Ця кнопка має два стани: "ВКЛ" - "OFF" . У включеному стані маяк продовжує посилати сигнал, навіть якщо ви відпустіть кнопку (про що сигналізує загоряється зелений світлодіод), щоб вимкнути відправку сигналу в цьому режимі - натисніть горизонтальну сіру кнопку ще раз.

Приступимо до реалізації програми:

Наш алгоритм дистанційного керування передбачає 5 варіантів поведінки, відповідно наш програмний блок "Перемикач" буде складатися з п'яти програмних контейнерів. Займемося їх налаштуванням.

  1. Варіантом за замовчуванням призначимо варіант, коли не було натиснуто жодної кнопки (Рис. 7 поз. 2 значення: 0) . Встановимо в контейнер програмний блок "Незалежне керування моторами" , що виключає мотори "B" і "C" .
  2. У контейнер варіанти натискання верхньої лівої кнопки (Рис. 7 поз. 2 значення: 1) встановимо програмний блок "Великий мотор" , що включає мотор "B" .
  3. У контейнер варіанти натискання верхній правій кнопки (Рис. 7 поз. 2 значення: 3) встановимо програмний блок "Великий мотор" , що включає мотор "C" .
  4. У контейнер варіанту одночасного натискання верхніх лівої і правої кнопок (Рис. 7 поз. 2 значення: 5) встановимо програмний блок "Незалежне керування моторами" , що включає обертання моторів "B"і "C" вперед.
  5. У контейнер варіанту одночасного натискання нижніх лівої і правої кнопок (Рис. 7 поз. 2 значення: 8) встановимо програмний блок "Незалежне керування моторами" , що включає обертання моторів "B"і "C" назад.
  6. Помістимо наш налаштований програмний блок "Перемикач" всередину програмного блоку "Цикл" .

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

 

 

Завантажте вийшла програму в робота і запустіть її на виконання. Спробуйте управляти роботом за допомогою інфрачервоного маяка. Чи все у вас вийшло? Чи зрозумілий вам принцип реалізації дистанційного керування? Спробуйте реалізувати додаткові варіанти управління. Напишіть свої враження в коментарі до цього уроку.


* Хочете побачити невидимі хвилі? Увімкніть режим фотозйомки в мобільному телефоні і піднесіть випромінюючий елемент дистанційного пульта від телевізора до об'єктиву мобільного телефону. За допомогою кнопок пульта дистанційного керування і на екрані телефону спостерігайте світіння інфрачервоних хвиль.

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