Программа лего майндстормс ev3 для программирования

Обновлено: 03.05.2024

Известная притча гласит, что, когда к мудрецу обратилась молодая мать с ребенком на руках и спросила, с какого возраста ей следует начинать воспитание отпрыска, старец ответил, что она опоздала на столько лет, сколько уже было ребенку. С выбором будущего призвания ситуация достаточно похожая. Сложно требовать осознания своих склонностей и интересов от младенца, но вот уже в средней школе начинаются всевозможные специализации, и к этому времени неплохо бы уже знать, в какую сторону двигаться подросшему чаду. Но одно мы знаем уже почти наверняка – в течение ближайших десятилетий от 30 до 80% профессий будут полностью автоматизированы.

Робототехника, кибернетика, понимание алгоритмов – тот набор навыков, с которым, скорее всего, человеку не будут грозить настолько туманные перспективы. Конечно, скорее всего параллельно с заменой рабочей силы на роботов будет развиваться и концепция безусловного базового дохода, вот только вряд ли вы хотите для своего ребенка подобного будущего.

Способов быстро показать молодой и заинтересованной аудитории основы программирования и робототехники сейчас существует много. Все они стоят недорого, достаточно просты в освоении, дают уже через несколько часов понимание основ алгоритмов и концепций кибернетических устройств. Но в учебных классах легко столкнуться и с недостатками этих платформ – ограниченной износоустойчивостью (да и чего греха таить – «идиотоустойчивостью» тоже) макетных плат, не очень дружелюбными для детей 11-12 лет интерфейсами ПО, относительно небольшим элементом «игры».

Со всеми этими недостатками уже больше двадцати лет борются в самой известной компании-производителе развивающих наборов LEGO Education. Речь идет, разумеется, о платформе MINDSTORMS Education EV3. Начиная с произведенных в начале 90-х Mindstorms RCX и заканчивая самым современным комплексом MINDSTORMS Education EV3 принцип формирования платформы остается прежним. В основе лежит «умный кирпич» (“intelligent brick”), это микрокомпьютер с экраном и портами ввода-вывода, к которому подключаются все остальные компоненты. Как и в любой робототехнической системе периферийные устройства подразделяются на сенсоры и эффекторы. При помощи сенсоров робот воспринимает окружающий мир, а благодаря эффекторам – реагирует на него в соответствии с заложенной программой. Соединяются компоненты платформы вместе простыми кабелями без пайки, а механические конструкции ограничены только прочностью пластиковых деталей и фантазией конструкторов.

В предыдущем посте мы рассматривали возможности таких решений в общем и целом, сейчас же хотим подробнее остановиться именно на LEGO MINDSTORMS Education EV3.

LEGO MINDSTORMS Education EV3 сделан совместимым с деталями Lego Technic. Это означает, что платформу можно использовать для создания самых разнообразных и даже невероятных конструкций, от простых «машинок» и «роборук» до сложных конвейеров или даже «решателей» кубика Рубика. Фактически любой набор Lego Technic может стать источником деталей для проектов, также никаких проблем не будет с заменой пострадавших запасных частей. Да, выглядят они не так брутально, как старый советский алюминиевый конструктор, но на практике оказываются даже прочнее изделий из металла. По крайней мере в моей коллекции, стартовавшей в 1993 году, еще не обнаружилось ни одной сломанной детали.

В комплекте с базовым образовательным набором MINDSTORMS Education EV3 есть 541 деталь Lego Technic. Можно докупить как специализированный ресурсный набор вроде 45560 (или более старый 9648, выпускавшийся еще для NXT), так и просто большой конструктор типа 42043 (2800 деталей) или 42055 (почти 4000 деталей), и, вдоволь наигравшись с основной моделью, пустить его на «кирпичики» для кибернетических опытов. В пересчете на одну деталь Lego здесь очень сильно выигрывает у других наборов – всего 3-5 рублей за одну штуку.


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



Скриншот из сервиса Brickset (интерактивная база для владельцев конструкторов Lego, позволяющая собирать разнообразную статистику) автора

Впрочем, это касается только «пассивных» элементов вроде балок, колес или соединительных пинов. Сенсоры и эффекторы, разумеется, значительно дороже, но и в базовом комплекте их более чем достаточно. Mindstorms EV3 поставляется в комплекте с тремя моторами (два побольше и помощнее и один компактный сервопривод), парой сенсоров касания (своего рода «умные» кнопки), ультразвуковым, гироскопическим и цветовым сенсорами (он же может работать в режиме сенсора освещенности). Плюс сохранена совместимость с датчиками от предыдущего поколения роботов Lego Education – Mindstorms NXT (в их число входит, например, датчик уровня шума).


Но вернемся к «умному кирпичу», сердцу системы. Это действительно довольно увесистый и объемный «кирпичик», оснащенный монохромным ЖК-экраном 178х128 (на него выводится не только меню, но и всевозможные кастомные картинки в процессе работы) с изменяемым цветом подсветки. При помощи проводов со стандартным разъемом RJ-12 к нему подключаются сенсоры и эффекторы (до четырех устройств каждого типа), есть слот для microSDHC и USB-порт.


Последний можно использовать как для загрузки собственно программ, так и для обновления прошивки. Однако не обделен микроконтроллер и беспроводными интерфейсами, при желании загружать программы можно через Wi-Fi (нужен внешний модуль) или Bluetooth (встроен). Также, если мы собираем робота с дистанционным управлением, «рулить» им можно с использованием беспроводной связи со смартфона или планшета.

Плюс появился четвертый порт для моторов, само по себе это значительное расширение функционала, которое оправдывает апгрейд.

USB-порт теперь поддерживает режим хоста, это позволяет не только подключать Wi-Fi-адаптер, но и соединять несколько блоков EV3 в одного сложного робота. Правда, и уровень задач при этом становится совершенно «не детским».

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


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


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


Третий, так называемый М-сервопривод (средний по размеру мотор) выдает в три раза меньший крутящий момент, но зато его скорость вращения выше почти в два раза.


Что касается сенсоров, то на самом деле вовсе не обязательно ограничиваться теми, что предлагает LEGO Education (хотя и их выше крыши для любого образовательного проекта), ряд сторонних компаний выпускает совместимые и порой довольно экзотические сенсоры. Исходный код прошивки и аппаратные спецификации полностью открыты.

Программное обеспечение

Мы много говорили об аппаратной базе, но на самом деле далеко не только она определяет эффективность занятий по робототехнике. Именно наличие действительно интуитивно понятного ПО на множестве платформ (Мак, ПК, мобильные устройства) и готовых учебных планов делает LEGO MINDSTORMS Education EV3 платформой выбора при обучении, и особенно на рубеже начальной и средней школы, для детей лет десяти.



Приветственный экран приложения на iPad

Визуализация алгоритмов в родном ПО LEGO MINDSTORMS Education EV3 находится просто на высшем уровне – достаточно буквально за несколько минут усвоить основные виды взаимодействия логических блоков (условия перехода, цикл и т.д.) и в дальнейшем постепенно наращивать сложность программ. Разумеется, есть и готовые обучающие проекты для десятков разнообразных моделей роботов, а при желании в интернет-сообществах можно найти тысячи интересных программ.



Пример программы в приложении для iPad

Продвинутые же пользователи могут установить LabVIEW или RobotC – «мозги» LEGO MINDSTORMS Education EV3 полностью совместимы с этими пакетами. Вот экспортировать старые проекты для NXT без дополнительной конвертации, увы, не выйдет.

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



Обучающие видео по работе с редактором контента EV3

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

Микрокомпьютер EV3 будет собирать данные с датчиков в реальном режиме времени и в зависимости от температурного фона запускать ту или иную программу модели. При высокой температуре включается вентилятор, при низкой — обогреватель. А ученики смогут фиксировать и анализировать данные, дорабатывая модель.



Журналирование данных

Открытость прошивки «умного кирпича» уже сыграла свою роль: существуют альтернативные варианты с поддержкой большинства популярных языков программирования (десятки их). По большому счету использование EV3 можно «прикрутить» к любому образовательному проекту, связанному с программированием, поскольку мало что так радует, как возможность увидеть работу собственных алгоритмов «в железе».

Многие ждут, что камнем преткновения в этой истории может оказаться цена. Действительно, за Базовый набор придется выложить 29 900 рублей, плюс еще 2 500 отдать за зарядку. Однако в эту сумму включены детали и электроника для комфортной работы двух учеников, а также полноценное базовое ПО с 48 готовыми занятиями (которое с января 2016 полностью бесплатно, как для частных лиц, так и для организаций). Конечно, дополнительное оборудование и комплекты заданий могут увеличить стоимость, но в пределах разумного. Так комплект для 8 учеников, включающий базовые и ресурсные наборы LME EV3, зарядные устройства, ПО и дополнительный комплект заданий «Инженерные проекты», обойдется в 174 900. Вполне приемлемо для оснащения, например, кружка в школе.

Да, это заметно дороже простых Arduino-подобных платформ. Но и возможности, а также уровень вовлеченности гораздо выше. Учебную программу на базе EV3 можно спокойно планировать на всю среднюю школу и дальше. Кроме того, при адекватном использовании LEGO MINDSTORMS Education EV3 банально «переживет» несколько простых комплектов за счет механических качеств, легкой заменяемости и доступности деталей (на моей практике только один шлейф RJ-12 потребовал замены в 10-летнем NXT).

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

Выбор пути

А теперь к главному. В отличие от наборов WeDo 2.0, EV3 ориентирован на среднюю школу, соответственно, на детей постарше, для которых вопрос выбора будущей профессии стоит уже посерьезнее.

Используя EV3, каждый из учеников сможет активнее раскрыть те способности, которые были в нем заложены природой, воспитанием и учебным процессом.

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

Будущий айтишник, само собой, погрузится в программирование робота, разбирая алгоритмы, по которым тот движется. И непременно будет создавать свои, не предусмотренные штатной инструкцией.

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

В общем, какие бы у ребенка ни были интересы и любимые предметы в школе, обучение с использованием наборов MINDSTORMS EV3 позволит четче их выделить и сконцентрироваться на их развитии в будущем.

В жизни

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

Астраханские школьники Руслан Казимов и Михаил Гладышев на базе регионального технопарка разработали робот-тренажер для реабилитации суставов рук.

На разработку тренажёра восьмиклассники потратили чуть меньше двух месяцев. Они представили свой проект на региональном этапе IX Всероссийского конкурса научно-инновационных проектов в ЮФО, где заняли второе место. В дальнейшем они планируют создать промышленный образец – пока разработчики предлагают только прототип, изготовленный из образовательного робототехнического набора LEGO MINDSTORMS Education EV3.

Устройство дублирует движения, выполняемые врачом – суставы начинают работать, тем самым восстанавливается подвижность не только их, но и групп мышц. Пока устройства связаны через Bluetooth, в будущем будут взаимодействовать с помощью интернета или Wi-Fi.

Аналоги такого устройства есть на рынке, однако астраханский прибор может работать одновременно с плечевым, лучезапястным и локтевым суставами. Кроме того, он переносной и работает от аккумулятора. Также есть возможность удалённого управления, то есть пациент может тренироваться, не выходя из дома.

На Всемирной Олимпиаде по робототехнике 2015 года (WRO 2015) российская команда DRL из Санкт-Петербурга была награждена специальным призом за креативность от компании LEGO Education (LEGO EDUCATION CREATIVITY AWARD).

Российская команда DRL представила проект CaveBot. Ребята из Санкт-Петербурга под руководством тренера Сергея Филиппова создали уникального робота-исследователя для обнаружения неизведанных областей в пещерах. Разработка затрагивает различные научные области, так как уникальный робот делает возможным выполнение разнообразных по сложности задач.

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

А 13-летний Шубхэм Бэнерджи создал принтер Брайля из частей LEGO в рамках школьного научного проекта. Позже, при участии его семьи, был создан стартап по запуску изобретения, который получил финансовую поддержку от технической корпорации Intel.



(Photo: Marcio Jose Sanchez, AP)

Идея создать принтер пришла к Шубхэму после исследования Брайля в сети Интернет. Поняв, что принтеры для слепой печати стоят от 2,000$ и выше, школьник решил сделать более дешевую версию.

Вскоре после изобретения незрячие дети и их родители начали связываться с Шубхэмом с единственной просьбой — сделать недорогой принтер Брайля, обещая «купить его прямо с полки».

Как видите, использование MINDSTORMS Education EV3 в процессе обучения позволяет учащимся по-максимуму включать фантазию, создавая все новые и новые механизмы, которые не только помогают реализовать идеи или наглядно провести какие-либо эксперименты, но и начать определяться со своей будущей профессией.

Если у вас есть вопросы насчет использования этих решений в образовательном процессе (или о самих продуктах) — пишите их в комментариях.

Robot Commander представляет собой управляющее приложение для LEGO® MINDSTORMS®. БЕСПЛАТНАЯ загрузка для большинства смартфонов и планшетов; Robot Commander подключается к модулю EV3 по Bluetooth®. Это простое в использовании приложение позволяет взаимодействовать с вашими уникальными роботами EV3, даже не подключаясь к компьютеру! Это означает, что вы можете мгновенно начать игру с вашими собственными роботами!


Приложения для компьютеров и планшетов

Приложения LEGO® MINDSTORMS® EV3 Home для macOS, Windows 10 и планшетов на iOS и Android

Загрузите, установите, подключите и выполняйте задания по программированию. Для пяти основных роботов есть до пяти задач по программированию. Благодаря более продвинутому, но хорошо знакомому интерфейсу программирования и пяти сложным заданиям для вас и ваших роботов-героев, приложение EV3 Home для PC, Mac и планшетов сможет поднять ваши навыки робототехники на новый уровень!


Важная информация относительно программного обеспечения и приложений LEGO® MINDSTORMS® EV3!

Мы рады сообщить, что пользователям LEGO MINDSTORMS EV3 теперь будут доступны новые возможности при сборке и программировании их творений.

Новое приложение LEGO MINDSTORMS EV3 Home с языком программирования на основе Scratch заменит используемое в настоящее время ПО LEGO MINDSTORMS EV3 Home Edition (Labview) для Windows 10 и macOS, а также приложение LEGO MINDSTORMS EV3 Programmer для планшетов на iOS/Android.

Приложение LEGO MINDSTORMS EV3 Programmer будет удалено из магазинов приложений в конце июня 2021 года.

Выведенное из эксплуатации ПО LEGO MINDSTORMS EV3 Home Edition (Labview) для Mac и PC можно найти ниже. Обратите внимание, что это ПО больше не поддерживается LEGO Group.

Привет, Хабр! Мы уже рассказывали о платформе LEGO MINDSTORMS Education EV3. Основные задачи этой платформы — обучение на практических примерах, развитие навыков STEAM и формирование инженерного мышления. В ней можно проводить лабораторные работы по изучению механики и динамики. Лабораторные стенды из кубиков LEGO и утилиты по регистрации и обработке данных делают опыты еще интереснее и нагляднее и помогают детям лучше понять физику. Например, школьники могут собрать данные о температуре плавления и с помощью приложения систематизировать их и представить в виде графика. Но это только начало: сегодня мы расскажем, как дополнить этот набор средой программирования MicroPython и использовать его для обучения робототехнике.




Учим программированию с помощью EV3

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

Базовая среда программирования EV3 создана на основе графического языка LabVIEW и позволяет задавать алгоритмы для робота визуально: команды представлены в виде блоков, которые можно перетаскивать и соединять.


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

Здесь есть несколько хитростей, одна из которых — показать, что код выполняет те же задачи, что и блоки. В среде EV3 это можно сделать благодаря интеграции с MicroPython: дети создают одну и ту же программу в базовой среде программирования с помощью блоков и на языке Python в Visual Studio Code от Microsoft. Они видят, что оба способа работают одинаково, но кодом решать сложные задачи удобнее.

Переходим на MicroPython

Среда EV3 построена на базе процессора ARM9, и разработчики специально оставили архитектуру открытой. Это решение позволило накатывать альтернативные прошивки, одной из которых стал образ для работы с MicroPython. Он позволяет использовать Python для программирования EV3, что делает работу с набором еще ближе к задачам из реальной жизни.

Чтобы начать работать, нужно скачать образ EV3 MicroPython на любую microSD-карту, установить ее в микрокомпьютер EV3 и включить его. Затем нужно установить бесплатное расширение для Visual Studio. И можно приступить к работе.

Программируем первого робота на MycroPython


На нашем сайте есть несколько уроков для освоения базовых понятий робототехники. Модели на EV3 знакомят детей с азами, которые используются в самоуправляемых автомобилях, заводских роботах-сборщиках, станках с ЧПУ.

Мы возьмем для примера чертежную машину, которую можно научить рисовать узоры и геометрические фигуры. Данный кейс является упрощенным вариантом взрослых роботов-сварщиков или фрезеровщиков и показывает, как можно использовать EV3 совместно с MicroPython для обучения школьников. А еще чертежная машина может разметить отверстия в печатной плате для папы, но это уже другой уровень, требующий математических расчетов.

Для работы нам понадобятся:

  • базовый набор LEGO MINDSTORMS Education EV3;
  • большой лист клетчатой бумаги;
  • цветные маркеры.

Сначала инициализируем библиотеку модулей EV3:


Настраиваем платформу, которая вращает ручку как мотор в порте B. Задаем передаточное отношение двухступенчатой зубчатой передачи с количеством зубьев 20-12-28 соответственно.


Настраиваем подъемный механизм для ручки как мотор в порте C:


Настраиваем гироскоп, измеряющий угол наклона ручки, в порте 2:


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


Настраиваем датчик касания в порте 4. Робот начинает рисовать, когда датчик нажат:


Определяем функции, которые поднимают и опускают ручку:


Определяем функцию для поворота ручки на заданный угол или до определенного угла:


Если целевой угол больше, чем текущий угол гироскопического датчика, продолжаем движение по часовой стрелке с положительной скоростью:


Если целевой угол меньше, чем текущий гироскопического датчика, то двигаемся против часовой стрелки:


Останавливаем вращающуюся платформу, когда целевой угол будет достигнут:


Устанавливаем начальное положение ручки в верхнем положении:


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

Когда устройство не готово, светодиоды на контроллере принимают красный цвет, и на ЖК-экране отображается изображение «палец вниз»:


Дожидаемся, когда датчик цвета считает синий или белый цвет, устанавливаем цвет светодиодов зеленым, отображаем на ЖК-экране изображение «палец вверх» и сообщаем, что устройство готово к работе:


Дожидаемся нажатия датчика касания, присваиваем гироскопическому датчику значение угла 0 и начинаем рисовать:


Поднимаем держатель ручки и возвращаем его в исходное положение:


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

Что дают такие примеры


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

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

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


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

Урок истории

Компания LEGO (название произошло от датской фразы «leg godt», «Играй с удовольствием») не нуждается в представлении – она была основана в далёком 1932 году, хотя первые знакомые всем пластиковые кубики появились значительно позже, в 1947. Примечательно, что кубики LEGO, выпускаемые в те годы, полностью совместимы с теми, что выпускаются сейчас.

История создания компании, выпущенная компанией Pixar к 80-летнему юбилею LEGO:

Сейчас компания производит около 20 миллиардов деталек в год, то есть более 630 штук в секунду. В текущем модельном ряду более 600 различных конструкторов и так уж получилось, что серия Mindstorms является своего рода вершиной технической мысли, самым-самым навороченным конструктором. Если вкратце, то она позволяет делать вполне себе полноценных роботов.

Как гласит википедия, серия LEGO Mindstorms была впервые представлена в 1998 году. Через 8 лет (в 2006) на свет появился набор LEGO Mindstorms NXT 1.0, а уже в 2009 — набор LEGO Mindstorms NXT 2.0. Сегодня речь пойдёт о LEGO Mindstorms EV3 – последнем (третьем) поколении терминатора конструктора, который был представлен почти год назад, 4 января 2013 года (в продаже появился только спустя полгода).

Отличия EV3 от NXT 2.0

В принципе, главная идея осталась прежней – серия предназначена для сборки программируемых роботов. Поэтому первым встаёт вопрос, а что же поменялось с момента выхода предыдущего конструктора и стоит ли покупать новый? Основное отличие заключается в обновленных датчиках/моторах и, самое главное, в интеллектуальном блоке EV3 (EV означает EVolution):

EV3 NXT
Дисплей Монохромный LCD, 178x128 Монохромный LCD, 100x64
Процессор 300 МГц
Texas Instruments
Sitara AM1808 (ARM9)
48 МГц Atmel
AT91SAM7S256
(ARM7TDMI)
Память 64 Мб RAM
16 Мб Flash
Слот microSDHC (до 32 Гб)
64 Кб RAM
256 Кб Flash
USB-хост Есть Нет
Wi-Fi Опционально, через USB-донгл Нет
Bluetooth Есть Есть
Поддержка Apple-устройств Есть Нет
Как видите, разница довольно существенна – было бы странным, если бы за 4 года поменяли только разрешение экрана и набор наклеек.

Ещё одно отличие заключается в том, что серия NXT продавалась в нескольких версиях (в разные годы) и представляла собой разные наборы, базовые и ресурсные. У нового EV3 с этим попроще – пока он продаётся в основном варианте – 31313 (601 деталь), из которого можно наделать кучу всего. Но при желании можно докупить базовый набор 45544 (541 деталь) с дополнительными сенсорами и детальками (использовать детали от обычных конструкторов также никто не мешает). Кстати, обратите внимание на пятизначные артикулы – на такую нумерацию компания перешла в 2013 году.

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

Внутри коробки

Ещё когда я сам был маленький и ездил с родителями в центральный Детский Мир (когда он ещё был), на Лубянку – уже тогда я не мог оторвать глаз от коробок с LEGO. Тогда не было ни Гиктаймс, ни даже Хабра, но с тех пор коробки остались всё такими же яркими и сочными, даже во взрослом возрасте активируют процесс слюновыделения ) В этом плане другим производителям есть чему поучиться.


Часть коробки, на самом деле, представляет собой (если её разрезать) трассу с различными цветовыми зонами, которую можно использовать для роботов с сенсорами цвета.

Все детальки аккуратно разложены по пакетикам, в комплекте – инструкция и набор наклеек. Давайте вкратце пройдёмся по тому, что положили в комплект.



Сам EV3, он же интеллектуальный блок, он же сердце системы, он же «кирпичик» или «кубик». Служит центром управления и энергетической станцией для вашего робота и имеет следующие функциональные элементы:


– Многофункциональный монохромный дисплей с разрешением 178х128
– Шестикнопочный интерфейс управления с функцией изменения подсветки (3 цвета) для индикации режима работы
– 4 порта ввода (1, 2, 3, 4) для подключения датчиков
– 4 порта вывода (A, B, C, D) для выполнения команд
– 1 разъём miniUSB для подключения EV3 к компьютеру
– 1 порт USB–хост (для соединения нескольких EV3 в одну цепь, например)
– 1 слот для карт памяти формата microSD (до 32Гб) – для увеличения объёма доступной памяти EV3
– Встроенный динамик




Кубик EV3 также поддерживает Bluetooth, WiFi (через USB-адаптер NETGEAR WNA1100 Wireless-N 150), для связи с компьютерами имеет программный интерфейс, позволяющий создавать программы и настраивать регистрации данных непосредственно на микрокомпьютере EV3.

» Большой EV3-сервомотор (2 штуки). Cоздан для работы с микрокомпьютером EV3 и имеет встроенный датчик вращения с точностью измерений до 1 градуса. Используя этот датчик, мотор может соединяться другими моторами, позволяя роботу двигаться с постоянной скоростью. Кроме того, датчик вращения может использоваться и при проведении различных экспериментов для точного считывания данных о расстоянии и скорости.


– Встроенный датчик вращения с точностью измерений до 1 град
– Максимальные обороты до 160-170 об/мин
– Максимальный крутящий момент в 40 Нсм
– Автоматическая идентификация программным обеспечением EV3

» Средний EV3-сервомотор. Идеален для задач, когда скорость и быстрота отклика, а также размер робота важнее его грузоподъёмности.


– Встроенный датчик вращения с точностью измерений до 1 градуса
– Максимальные обороты до 240-250 об/мин
– Максимальный крутящий момент в 12 Нсм
– Автоматическая идентификация программным обеспечением EV3

» Датчик цвета (EV3). Способен определить 8 различных цветов, хотя также может использоваться как датчик освещённости.


– Измеряет отраженный красный свет и внешнее рассеянное освещение, от полной темноты до яркого солнечного света
– Фиксирует и определяет 8 цветов
– Частота опроса до 1 кГц
– Автоматическая идентификация программным обеспечением EV3

» Датчик касания (EV3). Позволяет роботу реагировать на касания, распознает три ситуации: прикосновение, щелчок и освобождение. Также способен определить количество нажатий, как одиночных, так и множественных.

» Цифровой ИК-датчик (EV3). Для определения приближения робота. Также способен улавливать ИК-сигналы от ИК-маяка, позволяя создавать дистанционно управляемых роботов, навигационные системы для преодоления препятствий.


– Измерения приближения/удаления в радиусе 50-70 см
– Радиус улавливания ИК-сигналов до 2 метров
– До 4 индивидуальных каналов приёма сигнала
– Получение удаленных ИК-команд управления
– Автоматическая идентификация программным обеспечением EV3

» Удалённый инфракрасный маяк. Разработан для использования с ИК-датчиком EV3. Маяк излучает ИК-сигнал, улавливаемый датчиком – может использоваться в качестве пульта дистанционного управления микрокомпьютера EV3, передавая сигналы на ИК-датчик.

– До 4 индивидуальных каналов передачи сигнала (переключатель прямо на корпусе)
– Имеет кнопку и тумблер для включения/выключения
– При работе ИК-маяка горит зелёный светодиод
– Автоматическое отключение при простое более 1 часа
– Радиус действия до 2 метров

В отдельном пакетике смотаны провода для подключения датчиков и моторов к кубику, а также USB-шнур для подключения кубика к компьютеру.


Стоит отметить два важных момента. Во-первых, существуют другие датчики Lego, такие как:

» Гироскопический датчик (EV3). Цифровой гироскопический датчик EV3 позволяет измерять движение вращения робота, а также улавливать изменения в его движении и положении. Режим измерения углов с точностью до ± 3 градуса; встроенный гироскоп улавливает вращения с моментом до 440 град/с; частота опроса до 1 кГц.

» Ультразвуковой датчик (EV3). Генерирует звуковые волны и фиксируюет их отражения от объектов, тем самым измеряя расстояние до объектов. Также может использоваться в режиме сонара, испуская одиночные волны. Может улавливать звуковые волны, которые будут являться триггерами для запуска программ. Измеряет расстояния в пределах от 1 до 250 см, а точность измерений составляет ± 1 см.

А во-вторых, поддерживаются сенсоры и прочие аксессуары от сторонних производителей, таких как HiTechnic и Mindsensors – они предлагают всевозможные джойстики, инфракрасные датчики расстояний, магнитные датчики, компасы, гироскопы, акселерометры, таймеры, мультиплексоры, шаровые опоры, и т.д. Так что, если задаться вопросом, можно найти много всего интересного.


В общем, как вы уже поняли, LEGO – это для реальных пацанов!

Первая модель

В комплекте с конструктором идёт бумажная инструкция, по которой можно собрать одну-единственную модель – некое подобие гусеничной самоходной машины.


Сначала я удивился, ведь даже в самых простых наборах (серии типа LEGO Creator) всегда идёт несколько инструкций, а тут вдруг бумаги пожалели или места в коробке не нашли. Оказалось… что только на официальном сайте из набора деталей предлагается собрать 17 разных роботов! Поэтому 17 инструкций в коробке были бы действительно лишними (и для логистики, и для лесов природы). Вот названия роботов: EV3RSTORM, GRIPP3R, R3PTAR, SPIK3R, and TRACK3R. ROBODOZ3R, BANNER PRINT3R, EV3MEG, BOBB3, MR-B3AM, RAC3 TRUCK, KRAZ3, EV3D4, EL3CTRIC GUITAR, DINOR3X, WACK3M, и EV3GAME – инструкции для них придётся качать из инета, равно как и софт для подключения EV3 к компьютеру.


Инструкция наиподробнейшая, накосячить сложно. Сын сказал , что детали в пакетиках расфасованы не очень удачно – на первой же странице может потребоваться вскрыть 3 разных пакета, но это тоже мелочи.


Кубик EV3 необходимо запитать, для чего можно использовать аккумулятор (нет в комплекте) или 6 пальчиковых батареек. Забегая вперёд – ещё 2 батарейки (но уже мизинчиковых) понадобятся для питания ИК-маяка (он же пульт ДУ).


Первую модель ребёнок (7 лет) собрал примерно минут за 30.


Процесс оказался не таким увлекательным, как, например, сборка моделей LEGO Technics – в инструкции предлагается собрать далеко не самого интересного робота: в нём лишь крупные детали, среди которых были практически все датчики и двигатели – видимо, чтобы продемонстрировать работу каждого из них.



Но вот результат превзошёл все детские ожидания – впервые он собрал модель, которая могла двигаться сама: вперёд-назад, поворот, разворот на месте, крутила щупальцами…



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



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

Ребёнку проще всего будет начать с предлагаемого производителем софта, который есть как под Windows, так и под OS X. Во втором случае дистрибутив весит 666 Мб, а установленное приложение займёт гигабайт. Оно называется LEGO Mindstorms EV3 Home Edition и разработано совместно с небезызвестной компанией LabView. На сайте LEGO довольно много обучающих программированию материалов.

Сразу после запуска перед нами возникает интерактивный «гараж» из роботов, которых можно собрать из набора:


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




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

Нельзя ещё раз не отметить, что кубиком EV3 можно управлять со смартфона на операционных системах Android или iOS, для чего есть отдельные приложения.

Если всего этого оказалось мало, можете повысить градус хардкора. Для кубика EV3 существуют различные прошивки, которые позволяют расширить его возможности, скорость работы и т.д. Вот, например, альтернативная прошивка leJOS EV3 – прошивка с jvm, позволяющая программировать EV3 на языке Java. Хотите на другом языке? Окей, гугл – в вашем распоряжении почти 60 вариантов на выбор: ASM/C/C++/Perl/Python/Ruby/VB/Haskell/Lisp/Matlab/LabVIEW и многое-многое другое.

Более подробно об этом я рассказывать не буду по нескольким причинам: во-первых, программист из меня полный false (все надежды на сына), во-вторых, пока мы успели собрать только одну модель (и на выходных возьмёмся за вторую), а в-третьих – вы уже и так оформили заказ на этот конструктор и скоро сами всё узнаете ;) Ну а если серьёзно, то статья и так уже огромная – вот лучше две ссылочки изучите: раз и два.

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

Программирование EV3 происходит сразу после того как вы создали своего робота. Нужно научить робота EV3 выполнять различные команды.

EV3 программирование

лего программирование

Запрограммировать робота с микрокомпьютером EV3 можно несколькими различными способами:

  1. Первый и самый простой способ – это при помощи интерфейса микроконтроллера EV3;
  1. Среда программирования EV3 позволяет при помощи визуального программирования создавать достаточно сложные программы:
  2. При помощи других языков программирования.

Программирование на микроконтроллере EV3

Самым простым является программирование при помощи самого интерфейса микрокомпьютера EV3.

Микропроцессор EV3 поставляется с уже установленным на нем программным обеспечением.

После включения модуля EV3 можно увидеть экран с четырьмя основными закладками.

Для программирования модуля требуется перейти в третью закладку при помощи кнопок управления. Затем открыть окно приложения Brick Program. Сразу отображаются два блока – это блок «Начало» и блок «Цикл».

EV3 программирование модуля

программирование блока лего

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

Среда программирования EV3

Среда программирования EV3

редактор EV3

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

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

Системные требования

требования к оборудованию

EV3 является целой платформой, которую можно использовать в игровых и образовательных целях. При помощи платформы Lego Mindstorms EV3 можно обучать основам робототехники, программирования, изучать различные алгоритмы. При этом не нужно иметь знаний схемотехники и различных протоколов.

Программирование EV3 Basic

Microsoft Small Basic

Small Basic

Основными достоинствами EV3 Basic являются:

  • Простота установки;
  • EV3 Basic является свободным программным обеспечением
  • Microsoft Small Basic специально разрабатывался для того, чтобы обучать программированию;
  • Не нужно перепрошивать микрокомпьютер EV3;
  • Поддерживает русский язык;
  • Имеет встроенную справку;
  • Имеет понятный интерфейс;
  • Есть множество примеров;
  • Поддерживает все возможности среды программирования Lego EV3.

Программирование EV3 на RobotC

Среда программирования RobotC специально разработана для образовательной робототехники. Этот язык может использоваться и новичками, и опытными программистами и является кросс-платформенным. Есть базовый и расширенный режим программирования.

RobotC для EV3

RobotC

В среде программирования присутствует C-подобный язык и язык RobotC. Язык RobotC – это переходный язык от визуального программирования к текстовым блокам. Для использования RobotC требуется перепрошивка микроконтроллера EV3. Использовать RobotC можно со многими робототехническими платформами. Это такие платформы как :

  • VEX IQ;
  • VEX CORTEX (EDR);
  • VEX PIC (Legacy Support);
  • LEGO MINDSTORMS EV3;
  • LEGO MINDSTORMS NXT;
  • TETRIX;
  • RCX (поддержка прежних версий);
  • UNO Arduino / MEGA 1280, MEGA 2560;

Среда программирования RobotC похожа на среду программирования Visual Studio и имеет интерфейс на английском языке. RobotC является платным с десятидневным бесплатным периодом.

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

  • На один компьютер 49 долларов;
  • На шесть рабочих мест 149 долларов;
  • На тридцать рабочих мест 299 долларов.
  • Кроме этого предлагаются бессрочные лицензии.

Операционная система для RobotC должна быть из семейства Microsoft Windows. При помощи среды программирования RobotC можно создавать эффективные программы с использованием сложных математических выражений.

Программирование EV3 на Python

Одним из наиболее популярных языков программирования в мире является Python. Он имеет небольшое синтаксическое ядро и объемную стандартную библиотеку функций. В операционной системе Linuх язык программирования Python установлен. При желании можно установить нужный вам текстовый редактор.

На микрокомпьютере EV3 установлена операционная система Linux. Для того, чтобы программировать EV3 на Python нужно установить Linux ev3dev на модуль EV3.

ev3dev

ev3dev

Затем нужно установить образ на карту памяти microCD. Желательно, чтобы класс карты был не менее десяти. Объем карты памяти от двух до тридцати двух гигабайт. Можно также использовать карту памяти microSDHC.

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

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

В качестве одного из вариантов можно установить редактор кода PyCharm Edu. Есть бесплатная версия с наличием подсказок, проверкой кода и подсвечиванием синтаксиса. Созданный в программе файл можно передать в блок EV3 при помощи программы PuTTY. Эта программа помогает установить SSH соединение операционной системы Windows с микроконтроллером EV3.

PuTTY

PuTTY

Программирование EV3 при помощи Scratch

Scratch является графической средой программирования. Программировать EV3 при помощи Scratch можно если установить нужное программное обеспечение и настроить его. Программное обеспечение можно установить на любые операционные системы. Для примера выберем операционную систему Windows.

Scratch_2_0

Scratch_2_0

Как и в случае с программированием на Python, потребуется карта памяти с такими же параметрами. Карту памяти нужно отформатировать в файловой системе FAT32. На компьютер надо установить виртуальную Java-машину под названием leJOS.

Затем устанавливаем виртуальную машину на компьютер со всеми компонентами.

После этого устанавливаем образ на карту памяти. В дальнейшем при включении микрокомпьютера EV3 с картой памяти будет загружаться leJOS EV3. Без карты памяти будет происходить загрузка стандартного программного обеспечения Lego EV3.

Также на компьютере должна быть установлена свежая версия Adobe AIR. Затем можно установить редактор Scratch.

Установка редактора не занимает много времени.

Следующим шагом является установка ev3-scratch-helper-app. Это приложение служит для связи редактора Scratch и микроконтроллера EV3. Также в редакторе можно в настойках установить русский язык и нужно добавить блоки EV3 в редактор Scratch. После добавления блоков можно приступать к написанию программ.

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

Читайте также: