Работа с датчиками.
Начать рекомендую с датчика касания, как с самого простого и понятного.
Работать продолжаем с роботом-пятиминуткой.
Ему в конструкцию добавляем датчик касания, смотрящий вверх.
Задача №1. Начать движение после нажатия кнопки датчика.
Для начала создадим следующую программу: робот будет стоять на месте, пока не нажмут кнопку. Как только кнопка будет нажата, робот поедет.
Тут учащиеся знакомятся с понятием ожидания события. Данное понятие будет часто встречаться в дальнейшем.
Заодно можно показать различие в действиях датчика касания Released и Pressed.
Такой способ запуска робота иногда используется на соревнованиях, особенно, если конструкцией робота закрыты управляющие кнопки.
Затем я предлагаю намного усложнить задание.
Задание №2. Объехать прямоугольное препятствие по кругу.
Задача усложняется действительно намного, поскольку необходимо внедрить сразу кучу конструкций: ветвление и цикл.
Задание выполняется следующим образом: робот движется вдоль стенки, при этом датчик касания смотрит вбок, в сторону стены.
В качестве препятствия мы взяли обыкновенную картонную коробку из-под набора лего.
Программа выглядит следующим образом:
Когда датчик нажат, робот отъезжает от препятствия. Как только робот отъезжает от препятствия, он тут же начинает подъезжать к нему. Получается своеобразное виляние туда-сюда.
Если использование цикла тут очевидно и понятно, то движение с указанием в качестве длительности “Unlimited” (бесконечно) вызывает непонимание. Тут надо объяснить, что понятие “бесконечного движения”, как такового, в NXT-G не существует. И на самом деле, это не бесконечное движение, а движение неопределенной длительности, до совершения какого-либо события, в данном случае, до изменения состояния датчика касания.
Ну и развивая тему датчиков, мы тут переходим к датчику расстояния.
Задание №3. Организовать движение вокруг коробки с помощью датчика расстояния.
Задача от предыдущей отличается ненамного. Датчик касания заменяется на датчик расстояния. В программе небольшие изменения.
Тут важны два момента: необходимо правильно указать расстояние (его на данном этапе лучше определить экспериментально) и расположение датчика (его необходимо направить под углом к роботу (см. фото), иначе он не будет перпендикулярен коробке).