Теперь переходим к самому интересному - программированию робота. Как и в NXT, EV3 программа представляет собой последовательность блоков, определяющих действия робота. Например, для того, чтобы робот проехал вперед, а затем развернулся, можно составить программу из 2 блоков управления моторами - езда прямо и поворот: Палитра программирования, на которой расположены все блоки, переместилась: в NXT она располагалась с левого края, теперь же она внизу. Изменилось не только расположение - была переработана сама структура вкладок. В EV3 решили отказаться от вкладок "Общая палитра", "Расширенная палитра", "Пользовательская палитра" и дублирования блоков внутри них. Палитра EV3 состоит из 6 вкладок:
Палитра кажется более продуманной и выбирать блоки стало быстрее. Дизайн блоков также был сильно изменен. Панель настройки была удалена, и теперь настройка блока производится непосредственно на нем самом. Такое нововведение привело к тому, что все параметры блока видно без его выделения. Все блоки в EV3 имеют режимы: у блоков управления моторами режимом считается критерий остановки, у блоков датчиков - формат измерения или сравнения показаний. Режим блока задается большой кнопкой в левом нижнем углу. Теперь, взглянув на программу, можно полностью понять ее поведение, и это позволяет быстро находить ошибки. Например, зная все обозначения в EV3, можно сразу определить, что делает эта программа: По программе робот будет ехать прямо до тех пор, пока он не обнаружит черную линию. Выпадающего хаба с входными и выходными параметрами теперь нет, шина данных выходит и подключается непосредственно к той секции блока, которая настраивает нужный параметр. Например, данная программа выводит на экран блока показания датчика звука: В этой программе шина данных подсоединяет выход "Уровень звука" блока датчика звука ко входу "Текст" блока экрана. Балки, на которой располагались блоки в NXT-G, теперь также нет: блоки могут стыковаться друг с другом в любом месте области программирования. Теперь давайте рассмотрим блоки управления моторами из вкладки "Действие". Отмечу, что все блоки моторов имеют одинаковые режимы - включить, выключить и движение на заданное число секунд \ градусов \ оборотов. Порт мотора настраивается в правом верхнем углу блока. Кстати, теперь к блоку можно подключить 4 мотора, а не 3, как раньше. Порты моторов все также обозначаются латинскими буквами: A, B, C, D. Например, данный блок управляет сразу 2 моторами B и C: Средний мотор Напомню, что в наборе EV3 появился средний мотор. Его характеристики приведены в нашем обзоре. Данный блок позволяет управлять средним мотором - включать на заданное количество секунд или оборотов, изменять его мощность, выключать. Все возможные режимы блока перечислены в таблице:
Большой мотор Данный блок аналогичен предыдущему, но управляет большим мотором - их в наборе два. Его режимы:
Рулевое управление моторами Данный блок удобно использовать для программирования движения стандартного робота-тележки с 2 моторами. В этом случае моторами можно управлять синхронно: одновременно запустить или остановить оба мотора, поменять направление движения робота. Направление движения задается ползунком "Рулевое управление". По умолчанию ползунок стоит в центральном положении - это соответствует прямой езде. При смещении ползунка влево\вправо робот будет поворачивать в указанном направлении. Независимое управление моторами Данный блок также служит для управления движением робота с 2 моторами. Разница в том, что направление движения задается не ползунком "Рулевое управление", а указанием мощности обоих моторов. В предыдущем блоке, если моторы вращаются с разной скоростью (например, когда робот поворачивает или разворачивается), то указывается мощность более быстрого мотора.
В следующей статье будут рассмотрены блоки "Экран", "Звук", "Индикатор состояния модуля", а также редакторы изображения и звука. |
Все статьи обзора:
Часть 1 - Установка среды программирования, ее основной интерфейс. Лобби
Часть 2 - Понятие проекта. Его создание, основные элементы.
Часть 3 - Программирование робота. Управление моторами.
Часть 4 - Программирование робота. Экран, звук, индикатор состояния модуля. Редактор изображений и редактор звуков.
Часть 5 - Программирование робота. Управление операторами: блоки Начало, Ожидание, Цикл, Переключатель, Прерывание цикла.
Автор обзора благодарит официального дистрибьютора Lego Education в России - компанию "Стандарт" за предоставленный набор Lego Mindstorms EV3.
Подскажите, возможно ли, подключив сразу 4 мотора, заставить их вращаться все одновременно?
ОтветитьУдалитьДа
УдалитьПодскажите, пожалуйста, как это сделать? Мне это нужно, но я не знаю как. Спасибо.
УдалитьА как сделать так, что бы мотор поворачивался ТОЛЬКО на определённое кол-во градусов при нажатии на кнопку, а при отпускании возвращался на прошлую позицию?
УдалитьСпасибо за статьи. Очень полезные.
ОтветитьУдалитьСейчас как раз назревает переход с NXT на EV3.
Но новая среда программирования совершенно не нравится.
Она стала засоренной лишними подробностями, читать ее стало значительно труднее.
И совершенно не понимаю, пока, как учить ему других - что взрослых, что детей.
Старая среда программирования была доступна даже второклассникам, уже через 20 минут они могли что-то делать.
По умолчанию все лишнее было скрыто, и новый возможности открывались по мере "созревания".
А сейчас все слишком аляпистым, все вывалено сразу на экран.
Как будто бы этот язык придумывали не те же люди, что делали предыдущую, более продуманную, хотя и менее мощную, среду программирования.
Добрый вечер. Подскажите пожалуйста, купили 2 набора EV3 ребенку а в интернете найти не можем теперь, как управлять одновременно 4-мя моторами, вот нашли Ваш сайт, может подскажите или пример программы? Заранее благодарен.
ОтветитьУдалитьподскажите как в программе заставить работать одновременно два конструктора моих блоков? есть два средних мотора и датчик цвета, который работает с одним из моторов, команды выполняются по очереди, т.е. сначала алгоритм одной программы со средним мотором, потом программа со вторым средним мотором и датчиком цвета
ОтветитьУдалитьскиньте программы для робо футбола
ОтветитьУдалить