Часть 3

Теперь переходим к самому интересному - программированию робота. Как и в NXT, EV3 программа представляет собой последовательность блоков, определяющих действия робота.

Например, для того, чтобы робот проехал вперед, а затем развернулся, можно составить программу из 2 блоков управления моторами - езда прямо и поворот:

Палитра программирования, на которой расположены все блоки, переместилась: в NXT она располагалась с левого края, теперь же она внизу. Изменилось не только расположение - была переработана сама структура вкладок. В EV3 решили отказаться от вкладок "Общая палитра", "Расширенная палитра", "Пользовательская палитра" и дублирования блоков внутри них. Палитра EV3 состоит из 6 вкладок:

1. Действие

2. Управление операторами

3. Датчик

4. Операции с данными

5. Дополнения

6. Мои Блоки

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

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

Все блоки в EV3 имеют режимы: у блоков управления моторами режимом считается критерий остановки, у блоков датчиков - формат измерения или сравнения показаний. Режим блока задается большой кнопкой в левом нижнем углу.

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

По программе робот будет ехать прямо до тех пор, пока он не обнаружит черную линию.

Выпадающего хаба с входными и выходными параметрами теперь нет, шина данных выходит и подключается непосредственно к той секции блока, которая настраивает нужный параметр. Например, данная программа выводит на экран блока показания датчика звука:

В этой программе шина данных подсоединяет выход "Уровень звука" блока датчика звука ко входу "Текст" блока экрана.

 

Балки, на которой располагались блоки в NXT-G, теперь также нет: блоки могут стыковаться друг с другом в любом месте области программирования.

 

Теперь давайте рассмотрим блоки управления моторами из вкладки "Действие".

Отмечу, что все блоки моторов имеют одинаковые режимы - включить, выключить и движение на заданное число секунд \ градусов \ оборотов. Порт мотора настраивается в правом верхнем углу блока. Кстати, теперь к блоку можно подключить 4 мотора, а не 3, как раньше. Порты моторов все также обозначаются латинскими буквами: A, B, C, D. Например, данный блок управляет сразу 2 моторами B и C:

Средний мотор

 

Напомню, что в наборе EV3 появился средний мотор. Его характеристики приведены в нашем обзоре. Данный блок позволяет управлять средним мотором - включать на заданное количество секунд или оборотов, изменять его мощность, выключать. Все возможные режимы блока перечислены в таблице:

Большой двигатель.

Данный блок аналогичен предыдущему, но управляет большим мотором - их в наборе два. Его режимы:

Рулевое управление моторами

 

Данный блок удобно использовать для программирования движения стандартного робота-тележки с 2 моторами. В этом случае моторами можно управлять синхронно: одновременно запустить или остановить оба мотора, поменять направление движения робота. Направление движения задается ползунком "Рулевое управление". По умолчанию ползунок стоит в центральном положении - это соответствует прямой езде. При смещении ползунка влево\вправо робот будет поворачивать в указанном направлении.

Независимое управление моторами 

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