Следование за инфракрасным маяком 


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



ЗНАЕТЕ ЛИ ВЫ?

Следование за инфракрасным маяком



Задача №20: написать программу следования робота за инфракрасным маяком.

Решение:

Наш робот научился уверенно определять направление инфракрасного маяка и поворачивать в его сторону. Осталось только доехать до него и остановиться напротив. Решить эту задачу можно различными способами. Предлагаю вам воспользоваться возможностями, предоставляемыми программным блоком "Инфракрасный датчик" Желтой палитры, который мы рассмотрели в первой части сегодняшнего урока. Как поведет себя наш робот, если в бесконечном цикле мы подадим значение параметра "Приближение" (Рис. 5 поз. 1) программного блока "Инфракрасного датчика" на вход параметра "Мощность" (Рис. 5 поз. 2) программного блока "Рулевое управление" Зеленой палитры?

Поместим включенный маяк непосредственно перед роботом. Загрузим получившуюся программу (Рис. 5) в робота и запустим её на выполнение. Приближаясь к маяку, наш робот будет постепенно замедляться. Подъехав вплотную к маяку, робот остановится. Если отодвинуть маяк, то робот снова устремится в его сторону.

Рис. 5

К сожалению, пока наш робот не умеет изменять направление движения. Если инфракрасный маяк переместить влево - вправо от направления движения робота, то, наш робот проедет мимо. Давайте научим движущегося робота поворачивать в сторону маяка. Для этого возьмем параметр "Направление" (Рис. 6 поз. 1) программного блока "Инфракрасный датчик", умножим его на 2 (Рис. 6 поз. 2) и подадим на вход параметра "Рулевое управление" (Рис. 6 поз. 3) программного блока "Рулевое управление". Для чего нам потребовалось умножение? Диапазон значений параметра "Направление" от -25 до 25. Получая значения из этого диапазона, робот будет поворачивать на недостаточный угол - умножение же расширяет диапазон значений от -50 до 50, что позволит роботу уверенно следовать за перемещениями маяка.

Снова поместим включенный инфракрасный маяк напротив робота. Загрузим исправленную программу (Рис. 6) в робота и запустим её на выполнение. Как только робот устремится в сторону инфракрасного маяка, начнем перемещать маяк влево или вправо от направления движения робота. Наш робот будет уверено поворачивать в сторону маяка!

Рис. 6

Теперь наша программа отлично справляется с задачей следования за инфракрасным маяком. Но, если выключить маяк, то робот начинает вести себя непредсказуемо. Ведь мы никак не учитываем показание параметра "Обнаружено" (Рис. 7 поз. 1) программного блока "Инфракрасный датчик". Если робот теряет маяк, то значение параметра "Обнаружено" становится равным "Нет". Подадим значение параметра "Обнаружено" на вход программного блока "Переключатель", установленного в режим "Логическое значение". В контейнер логического значения "Нет" установим программный блок "Прерывание цикла" Оранжевой палитры (Рис. 7 поз. 2). Параметр "Имя прерывания" программного блока "Прерывание цикла" должно соответствовать имени цикла!

Рис. 7

Протестируем получившуюся программу (Рис. 7) - стоит выключить инфракрасный маяк, как программный блок "Прерывание цикла" фактически остановит выполнение нашей программы!



Поделиться:


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

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