Желтая палитра. Домашняя версия среды программирования. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Желтая палитра. Домашняя версия среды программирования.



Образовательная версия среды программирования содержит программные блоки для всех датчиков, которые можно использовать с конструктором Lego mindstorms EV3.

Желтая палитра. Образовательная версия среды программирования.

Вернемся же к решению Задачи №13 и посмотрим, как можно получать и обрабатывать показания датчика цвета. Как мы уже знаем: диапазон значений датчика цвета в режиме "Яркость внешнего освещения" находится в пределах от 0 до 100. Такой же диапазон у параметра, регулирующего мощность моторов. Попробуем показанием датчика цвета регулировать мощность моторов в программном блоке "Рулевое управление".

Решение:

1. Считать текущее показание датчика цвета в режиме "Яркость внешнего освещения";

2. Подать полученное с датчика цвета значение на вход параметра "Мощность" программного блока "Рулевое управление";

3. Повторять команды 1 - 2 в бесконечном цикле.

Рис. 10

Давайте загрузим получившуюся программу в робота и запустим её на выполнение. Робот поехал медленно? Включим светодиодный фонарик и попробуем подносить его к датчику цвета на разном расстоянии. Что происходит с роботом? Закроем датчик цвета ладонью - что случилось в этом случае? Напишите ответы на эти вопросы в комментарии к уроку.

Задача - Bonus

Загрузите в робота и запустите на выполнение задачу, изображенную на рисунке ниже. Повторите эксперименты со светодиодным фонариком. Поделитесь впечатлениями в комментариях к уроку.

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

Конец формы

Содержание урока

Введение:

Текущий урок мы посвятим изучению ультразвукового датчика. Данный датчик присутствует только в образовательной версии набора Lego mindstorms EV3. Тем не менее, пользователям домашней версии конструктора советуем тоже обратить внимание на данный урок. Возможно, что прочитав о назначении и использовании этого датчика, вы пожелаете его приобрести в дополнение к своему набору.

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

Главное назначение ультразвукового датчика, это определение расстояния до предметов, находящихся перед ним. Для этого датчик посылает звуковую волну высокой частоты (ультразвук), ловит обратную волну, отраженную от объекта и, замерив время на возвращение ультразвукового импульса, с высокой точностью рассчитывает расстояние до предмета.

Рис. 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)

Рис. 3

Задача решена!

Задача №15: написать программу для робота, держащего дистанцию в 15 см от препятствия.

Решение:

Поведение робота будет следующим:

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

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

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

Рис. 4

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

Рис. 5

Загрузите получившуюся программу в робота и запустите ее на выполнение. Если перед роботом отсутствует препятствие, то он поедет вперед. Поднесите руку близко к ультразвуковому датчику, попробуйте отводить - приближать руку. Как ведет себя робот? Ждем ваши комментарии к этому уроку.

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

Принцип работы ультразвукового датчика очень похож на радар, который применяется для измерения скорости движущихся автомобилей. Как радар узнаёт скорость автомобиля? Он измеряет расстояние до движущегося объекта, ждёт заданное небольшое время и повторяет измерение. Разность расстояний - это пройденный путь автомобиля. Разделив пройденный путь на время между двумя измерениями, можно найти скорость, с которой двигался объект измерения.

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

Рис. 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. Предложите свой вариант решения...

 



Поделиться:


Последнее изменение этой страницы: 2019-12-15; просмотров: 168; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.42.94 (0.019 с.)