Одна из последних радостей блога NiNoXT - компания LEGO заметила наши усилия, связанные с образовательной робототехникой, и дала нам на пробу новый LEGO Mindstorms EV3 набор, его образовательную версию. Поэтому данная заметка открывает цикл материалов, в которых будут раскрываться возможности работы с новым конструктором. | ![]() |
Сейчас же начнется все с обзора программного обеспечения EV3 блока (EV3 firmware).
Одна из особенностей нового блока - его долгое включение и выключение. По времени процесс соизмерим с включением сотового телефона или домашнего маршрутизатора, т.е. секунд 20-30. После включения, появляется следующее меню:

Как видно, по сравнению с NXT блоком, многое изменилось: улучшилось качество шрифтов, более прорисованные графические элементы, оконный интерфейс. В первую очередь, это из-за того, что размер экрана теперь увеличился - он стал 178 на 128 точек, вместо 100 на 64, как у NXT блока. По наличию оконного интерфейса с неотъемлемыми для него кнопками и полосами прокрутки можно предположить, что такие устройства, как внешняя сенсорная панель теперь даже будет иметь больший смысл.

Из первого окна есть возможность вызывать загруженные на блок программы, так и программы созданные прямо на блоке. Т.е. для того, чтобы запустить программу теперь нужно выполнять меньше нажатий, чем было на NXT блоке.
Перемещение по загруженным программам, а также ко второму и последующим экранам (пунктам меню) осуществляется посредством кнопок управления, коих теперь 4.

Второй экран - позволяет перемещаться по объектам файловой системы на блоке. Файловая система теперь поддерживает традиционную иерархию: файлы и каталоги.

Третий экран содержит подменю - приложения, позволяющие выполнять с блоком разные действия:

В текущей версии ПО блока таких приложений четыре:
- Просмотр датчиков
- Управление моторами
- Удаленное управление
- Программирование на блоке
Четвертый экран - конфигурационный. Помимо базовых настроек: уровня звука, таймера бездействия, включения BlueTooth и WiFi, позволяет узнать информацию о ПО блока:


Выбор какого-то конкретного пункта меню/приложения происходит средней кнопкой на клавиатуре. А чтобы выйти из любого пункта меню или приложения нужно нажать кнопку "Выход", которая теперь находится отдельно от основных кнопок - с левой стороны под экраном.
Теперь же следует вернуться обратно на третий экран и начать знакомиться с приложениями. Итак, приложение "Просмотр датчиков" (Port View).
В отличие от подобного режима на NXT блоке, теперь можно видеть информацию сразу о всех 8 устройствах, подключенных к блоку. Причем заявленная функциональность автоматического определения датчиков позволяет не указывать руками какой датчик, куда подключен.
Сверху отображается информация с енкодеров моторов, снизу - информация с датчиков. По центру экрана - информация о конкретном устройстве (в конкретном порту), выбрать которое можно нажимая кнопки управления на клавиатуре. Информация включает в себя графическое представление датчика, его название и текущие показания:
Датчик касания:

Гироскопический датчик:

Датчик цвета в режиме замера отраженного света:

Ультразвуковой датчик расстояния:

Информация с енкодера левого мотора.

Следующее приложение - управление моторами. По сути позволяет кнопками вращать двигатели. Центральной кнопкой нужно выбрать, какие двигатели вращать. А потом парами кнопок вверх-вниз или влево-вправо вращать конкретные моторы.

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

Конечно же, самым интересным приложением является - программирование на блоке. Оно было значительно переработано: программа теперь может содержать до 16 программных элементов (блоков), и созданные программы можно сохранять и, естественно, открывать заново для изменения.

Когда открывается приложение написания программы - отображается пустой цикл выполнения (будет выполняться только одна итерация) и предложение вставить первый блок. Вставить блок можно кнопкой "Вверх".

В появившемся окне выбора блока доступно 17 блоков (6 блоков действия и 11 блоков ожидания) плюс действие удаления текущего блока.


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

Поведение блока можно уточнить, если нажать центральную кнопку. У данного блока, например, можно поменять угло направление поворота робота или же вообще остановить моторы (например, после предыдущего блока ожидания).

Переместив "курсор" влево или вправо можно вставить еще один блок:

Например, блок ожидания события на датчике расстояния:

И изменить его поведение (событие наступит, если расстояние стало больше 60 см.):

Блоки можно вставлять между уже существующими блоками или даже в начале программы.

Вот еще примеры блоков ожидания:
Блок ожидания по времени (можно задавать сколько именно ждать):

Или блок ожидания события от гироскопического датчика (можно задать угол поворота датчика).

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

Запуск программы осуществляется путем выбора самого первого блока:

При запуске программы на экране будет отображаться следующее:

Программу можно сохранить, причем можно задать имя файла, для ее последующего поиска:


Буквы выбираются с помощью клавиатуры (привет, тачпад!)
Если попытаться закрыть несохраненную программу, будет выдаваться следующее не очень понятное сообщение и выдаваться противный звук:

В дальнейшем созданную программу можно открыть и внести в нее изменения.

Естественно, открываются только программы, созданные на блоке.
В заключение, хочется показать, как выглядит выключение блока:


А как обстоят дела с русскими шрифтами? Блок дисплея выведет что-нить на родном языке? О_о
ОтветитьУдалитьДумаю, что скоро наши производители русифицируют блок
ОтветитьУдалитьможливість позики, запропонована містером Бенджаміном, яка рятує мою сім’ю від фінансової неволі {247officedept@gmail.com} привіт усім! Бенджамін, коли нас вигнали з дому, коли я вже не міг оплачувати рахунки, після того, як мене обманули різні компанії в Інтернеті та відмовили у позиці у моєму банку та іншій кредитній спілці, яку я відвідав. моїх дітей взяли в прийомні сім'ї, я був на вулиці один. день, коли я ганебно зайшов до старого шкільного товариша, який познайомив мене з маргариткою Морін. спочатку я сказав їй, що більше не готовий ризикувати запитом позики в Інтернеті, але вона запевнила мене, що отримаю свою позику від них. задумавшись, через свою безпритульність мені довелося взяти судовий розгляд та подати заявку на позику, на щастя для мене, я отримав позику у розмірі 80 000,00 доларів від пана Бенджаміна. Я щасливий, що ризикнув і подав заявку на позику. мої діти були повернені мені, і тепер я маю дім і власний бізнес. вся подяка та подяка йде на допомогу містеру Бенджаміну за те, що він дав мені сенс життя, коли я втратив будь-яку надію. якщо ви зараз шукаєте допомоги в позиці, ви можете зв’язатися з ними за адресою: {247officedept@gmail.com whatsapp + 1-989-394-3740.
ОтветитьУдалить