Летний лагерь. День пятый.

Работа с датчиками.

Начать рекомендую с датчика касания, как с самого простого и понятного.

датчик касания

 

 

 

 

 

 

 

 

Работать продолжаем с роботом-пятиминуткой.

Ему в конструкцию добавляем датчик касания, смотрящий вверх.

Задача №1. Начать движение после нажатия кнопки датчика.

Для начала создадим следующую программу: робот будет стоять на месте, пока не нажмут кнопку. Как только кнопка будет нажата, робот поедет.

Тут учащиеся знакомятся с понятием ожидания события. Данное понятие будет часто встречаться в дальнейшем.

touch

 

Заодно можно показать различие в действиях датчика касания Released и Pressed.

Такой способ запуска робота иногда используется на соревнованиях, особенно, если конструкцией робота закрыты управляющие кнопки.

Затем я предлагаю намного усложнить задание.

Задание №2. Объехать прямоугольное препятствие по кругу.

Задача усложняется действительно намного, поскольку необходимо внедрить сразу кучу конструкций: ветвление и цикл.

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

В качестве препятствия мы взяли обыкновенную картонную коробку из-под набора лего.

Программа выглядит следующим образом:

Коробка касание

 

Когда датчик нажат, робот отъезжает от препятствия. Как только робот отъезжает от препятствия, он тут же начинает подъезжать к нему. Получается своеобразное виляние туда-сюда.

Если использование цикла тут очевидно и понятно, то движение с указанием в качестве длительности “Unlimited” (бесконечно) вызывает непонимание. Тут надо объяснить, что понятие “бесконечного движения”, как такового, в NXT-G не существует. И на самом деле, это не бесконечное движение, а движение неопределенной длительности, до совершения какого-либо события, в данном случае, до изменения состояния датчика касания.

Ну и развивая тему датчиков, мы тут переходим к датчику расстояния.

Задание №3. Организовать движение вокруг коробки с помощью датчика расстояния.

Задача от предыдущей отличается ненамного. Датчик касания заменяется на датчик расстояния. В программе небольшие изменения.

Коробка расстояние

 

Тут важны два момента: необходимо правильно указать расстояние (его на данном этапе лучше определить экспериментально) и расположение датчика (его необходимо направить под углом к роботу (см. фото), иначе он не будет перпендикулярен коробке).

2013-06-13 14.29.28 2013-06-13 14.37.19 2013-06-13 14.40.39 2013-06-13 14.40.48

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.