Вернуться в Курс

Уровень 2. Продвинутые автономные роботы.

0% завершено
0/0 Шагов
  1. ОСНОВЫ РОБОТОТЕХНИКИ
    Урок 1: Введение в робототехнику
    3 Темы
  2. Урок 2: Знакомимся с датчиками
    4 Темы
    |
    1 Тест
  3. Урок 3: Знакомимся с приводами
    6 Темы
    |
    1 Тест
  4. Урок 4: Распознавание лиц с помощью робота
    2 Темы
  5. АВТОНОМНЫЕ РОБОТЫ
    Урок 5: Робот, избегающий препятствий
    4 Темы
    |
    1 Тест
  6. Урок 6: Робот, распознающий край и границы
    5 Темы
    |
    1 Тест
  7. Урок 7: Управляемый робот
    5 Темы
    |
    1 Тест
  8. РЕАЛЬНОЕ ПРИМЕНЕНИЕ ИИ & РОБОТОТЕХНИКА
    Урок 8: Полноприводный робот
    3 Темы
  9. Урок 9: Робот, отслеживающий положение объекта
    5 Темы
    |
    1 Тест
  10. Урок 10: Подъёмно-транспортный робот - сборка
    2 Темы
  11. Урок 11: Подъёмно-транспортный робот
    3 Темы
  12. ИТОГОВЫЙ ПРОЕКТ
    Урок 12: Курсовой проект
Урок прогресс
0% завершено

Теперь мы умеем измерять расстояние до объекта. Давайте перейдём к следующей задаче — научим робота Кварки обнаруживать препятствия и менять цвет при приближении к ним.

Светодиоды Кварки должны менять цвет с зелёного на красный, если впереди обнаружено препятствие на расстоянии меньше 10 см. Давайте же напишем такую программу!

Понимание логики

Идея проста. Робот будет постоянно проверять расстояние до объекта. Если расстояние станет меньше 10 см, светодиод сменит цвет на КРАСНЫЙ; во всех прочих случаях он будет оставаться ЗЕЛЁНЫМ. Логику можно проследить с помощью блок-схемы ниже:

Напишем код!

Выполним следующие шаги:

  1. Перейдём на панель Events (События) и добавим блок when green flag clicked.
  2. Для подключения контактов перейдём на панель  Sensors (Датчики) и добавим блок connect Ultrasonic () to trig (), echo под блок when green flag clicked.
  3. После этого перейдём на панель Control (Управление) и добавим блок forever под блок connect Ultrasonic () to trig (), echo. Программа внутри этого блока будет исполняться до остановки кода вручную.
  4. Добавим блок if () then else из панели Control (Управление)  внутрь блока forever.
  5. Затем перейдём на панель Operator (Оператор) и добавим блок ()>() внутрь условия в блоке if () then else.
  6. Поместим блок get Ultrasonic () distance из панели Sensors (Датчики) внутрь блока ()>() с левой стороны и укажем значение 10 с правой стороны. Это позволит нам сравнивать показания датчика с заранее установленным значением (10 см).
  7. После этого вставим блок display matrix as () из панели Display (Отображение) под веткой «if» и заполним матрицу ЗЕЛЁНЫМ цветом.
  8. Скопируем этот блок и поместим его под веткой «else» блока if-else. После этого заполним матрицу КРАСНЫМ цветом.
  9. И, наконец, вставим после блока if () then else блок wait () из панели Control (Управление) и добавим 0,5-секундную задержку для стабильности.

Мы завершили нашу программу!

Давайте попробуем исполнить ее.

Проверка

Как мы видим, когда какой-нибудь объект оказывается на расстоянии 10 см. от Кварки, датчик его обнаруживает и включает КРАСНУЮ подсветку.