Лего программирование что это

Обновлено: 16.04.2024

Favorite

В закладки

Обзор шикарного робота LEGO, который можно программировать

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

Сегодня LEGO не только развивает мелкую моторику и фантазию. Новый набор LEGO Boost предлагает в буквальном смысле оживить собранный конструктор, используя смартфон или планшет.

То есть, собранный киберкот действительно будет мурчать, робот разговаривать и ездить а гитара выдавать бешеные «соляги».

Как это выглядит? Я собрал своего робота и сейчас всё расскажу.

Что такое LEGO Boost


Lego Boost – это развивающий конструктор, состоящий из 847 деталей. из них можно собрать на выбор одну из 5-ти моделей:

1. Робот Верни
2. Кот Фрэнки
3. Гитара 4000
4. Фабрика роботов
5. Вездеход (M.T.R.4)

Основными элементами каждой модели являются 3 детали: это основной механический блок, датчик определения цветов и расстояния и интерактивный двигатель.


Основной механический блок является «сердцем» LEGO Boost, который приводит собранный конструктор в движение. Именно к нему можно подключить свой iPhone или iPad, чтобы запрограммировать собранную модель на выполнение разных команд и даже общение с владельцем.

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


Про каждую модель можно написать отдельный обзор, но я расскажу кратко о возможностях каждого робота LEGO Boost:

1. Робот Верни. Отличный собеседник и друг


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

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

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

Вот короткое видео, в котором робот Верни ведет себя неприлично:

Робот не умеет сам двигать руками, однако он может сжать в «пальцах» мелкие предметы и отвезти их из одной точки в другую.

Нет, пиццу не принесет. Может быть, это в следующем поколении LEGO Boost пофиксят :)

2. Киберкот Френки. Идеальный питомец без шерсти и неприятных запахов


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

У Френки тоже есть мимика, правда брови ему нужно двигать руками. Интерактивные элементы заняты в вышеописанных процессах виляния хвостом и вставанием на задние лапы.

Да, мы всё ещё говорим про конструктор LEGO.

3. Гитара 4000. Играет как настоящая


Гитара 4000 является почти настоящим музыкальным инструментом, с помощью которого можно играть музыку. Аккорды зажимать не нужно, вместо этого предлагается передвигать «слайдер» по грифу гитары. Датчик движения отслеживает положение «слайдера» и даёт команды на воспроизведение разных звуков.

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

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

4. Фабрика роботов. Для создания своей армии Терминаторов


Это самая сложная модель из всех пяти, но и самая крутая. После сборки фабрика может сама собирать небольших роботов из кубиков LEGO.

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

Краткий гайд по созданию армии роботов:

Я жалею, что сначала собрал робота Верни. Надо было собирать вот эту фабрику, чтобы завалить видеороликами, какой LEGO Boost крутой конструктор, весь инстаграм.

5. Вездеход (M.T.R.4). Проедет по любому ковру


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

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

Лучше всего один раз увидеть, как это происходит:

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

Как программировать конструктор?


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

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


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

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

Сложно собрать своего робота?


Для взрослого человека сборка любой модели LEGO Boost займёт 2-3 часа. Для ребенка же весь процесс растянется на несколько дней, особенно если чаду еще нет 10-ти лет.

Лично я справился с роботом Верни за 4 часа. И даже без помощи взрослых!

После сборки игрушка получается прочная, можно даже уронить со стола без опаски, что конструкция разлетится на мелкие куски. Правда бить роботом об пол со всего размаху или топтаться по нему ногами я не рекомендую. Это же всё-таки LEGO.

Важно помнить, что основной механический блок работает от 6-ти батареек формата ААА, которых нет в комплекте. Нужно прикупить отдельно.


LEGO Boost стоит всего 9 990 руб., но при этом развивает абстрактное мышление, тренирует коммуникабельность детей, собирающих его вместе, дает базовые навыки профессии программиста, которая становится все более актуальной.

А главное, процесс сборки конструкторов LEGO – это всегда весело, как детям так и взрослым.

Favorite

В закладки

Favorite

В закладки

Как научить детей программированию с помощью LEGO

Можешь и сам попробовать.

Наверное, ты ждал под заголовком статью о том, как LEGO таинственным способом делает из детей гениев-программистов? На самом деле, важность знания азов программирования в современном мире сложно переоценить.

Почему программированию надо учиться с детства

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

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

Даже при работе с этим аппаратом из 70-х годов требовалось базовое понимание алгоритмов – нужно подготовить деталь, закрепить её, проверить, безопасно ли начинать работу, и только потом включить станок. Звучит элементарно? Для взрослого человека – да, но не для ребят младшего школьного возраста.

Знімок екрана 2016-04-21 о 11.39.39

Самая главная задача – это увлечь ребенка процессом. Магическое превращение куска дерева в элегантный подсвечник стало достаточным стимулом для начала обучения. Примерно в том же возрасте я записался в ближайший “Юный техник”, где популярность секции “электронные машинки на дистанционном управлении” была столь высока, что очередь на запись была на 2 (два!) года вперед.

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

В возрасте постарше я познакомился с первыми ПК, диалап-интернетом и попытался освоить “классическое программирование” при помощи толстой книги “Программирование на C++”. Меня ожидало полное разочарование – более скучной книги я не читал, пожалуй, никогда. “Глава 2” осталась непреодолимым препятствием, которое даже спустя пятнадцать лет наводит на меня зевоту.

Как легко научить ребёнка программировать

Знімок екрана 2016-04-21 о 11.43.25

Если бы в моем детстве обожаемый мной конструктор LEGO умел то, что умеет сейчас – кто знает, писал бы я сейчас эти строки или занимался бы программированием всерьёз. Знакомит детей одновременно с программированием и с основами робототехники серия конструкторов LEGO Education WeDo, которая представлена различными наборами.

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

wedo

Серия WeDo продается на рынке уже несколько лет и успела “подрасти” до версии 2.0, где добавилась беспроводная передача данных по Bluetooth, совместимость с iPad, и обновленное ПО.

К сожалению, между собой версии 1.2 и 2.0 не совместимы. Но с функциональными возможностями все хорошо у обоих версий WeDo – наборы для конструирования, программирования и создания Lego-механизмов больше не прерогатива дорогой серии Mindstorms.

Программа WeDo 1.2 с дополнением Feature Pack 2 занимает около гигабайта места и бесплатно не распространяется. Её можно приобрести на почти архаичном CD. Будем надеяться, что скоро LEGO будет раздавать и предыдущую версию даром (так как сейчас бесплатно доступна версия ПО 2.0). Все материалы переведены на русский язык, а для WeDo 2.0 доступно также приложение для iOS. Дизайн программ унифицирован, в нём минимум текста и много видеороликов — как развлекательных, так и учебных.

На какие наборы LEGO Education стоит обратить внимание

Знімок екрана 2016-04-21 о 16.37.00

Что же такого хорошего в первой версии WeDo? Основной набор называется LEGO Education WeDo Construction Set 9580 (LEGO Education 9580 Строительный набор «Перворобот» WeDo) и состоит из 158 элементов. Тут можно найти долгожданную “изюминку” – USB-коммутатор (через него происходит управление моторами и датчиками), управляемый мотор и два датчика.

Работать одновременно можно с тремя (!) наборами. Датчик наклона различает шесть положений – «Носом вверх», «Носом вниз», «На левый бок», «На правый бок», «Нет наклона» и «Любой наклон». Датчик расстояния обнаруживает объекты на расстоянии до 15 см. Мотор же способен крутится по часовой стрелке или против неё, можно настраивать уровень его мощности.

Знімок екрана 2016-04-21 о 11.58.19

Для управления этими гаджетами и понадобится старое доброе программирование – можно использовать язык програмирования Cкретч, который собственно и был создан как продолжение идей языка Лого и конструктора LEGO. Первые версии Скретча разрабатывались небольшой командой программистов для детей в Массачусетском технологическом институте.

Знімок екрана 2016-04-21 о 11.55.11

Программы на Скретче состоят из графических блоков, подписи на которых доступны на русском языке. Для программирования сценариев используется “drag-and-drop-подход” – блоки из доступной “палитры блоков” перетаскиваются в область скриптов – так просто, что разберётся даже ребенок. Хотя минуточку, в этом и есть главная фишка!

Знімок екрана 2016-04-21 о 12.02.09

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

Знімок екрана 2016-04-21 о 12.06.33

Учебных материалов тут даже больше, чем нужно. Например, руководство для взрослого (для родителя или учителя) доступно в виде PDF документа, занимающего 177 страниц! «Из коробки» доступны инструкции по сбору двенадцати различных моделей, программировать которые можно подключив USB-коммутатор к компьютеру или ноутбуку, где и исполняется собранный из блоков код. Механизмы разделены согласно учебным задачам:

  • “забавные механизмы” (помогают в изучении основ физики)

  • “звери” (модели и работа с ними дают понимание того, что система должна реагировать на свое окружение – крокодила можно научить закрывать пасть, а птицу – щебетать или порхать в зависимости от наклона)

Знімок екрана 2016-04-21 о 16.32.51

  • “футбол” (удивительно, но эти модели посвящены математике – подсчёт количества голов)
  • “приключения” (наиболее динамичная часть, включающая мини-фигурки в качестве персонажей и водителей для различных механизмов)

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

9085

Расширить многообразие возможных роботов-моделей способен отдельный ресурсный набор Lego Education WeDo Resource Set (9585), с колёсами и ротором.

Деталей в нём вдвое больше, нежели в базовом — 326 элементов, включая дополнительные минифигурки LEGO, для которых (по большей части) и строятся все конструкции — это может быть не только карусель, кран, лифт, механический крокодил, обезьянка-барабанщица, но и куда более сложные и занимательные механизмы. Подрастающему творцу будет еще интереснее возвращаться к набору раз за разом!

Знімок екрана 2016-04-21 о 12.14.13

Чтобы получить “всё и сразу”, Lego Education WeDo 9580 и ресурсный набор WeDo 9585 можно приобрести одним комплектом, а хранить детали можно в коробке-контейнере.

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

Знімок екрана 2016-04-21 о 12.22.15

Совершенно не обязательно использовать набор, требующий компьютера. Если ребенку (или ребенку внутри тебя) около 5-6 лет или больше по душе “чистая механика”, отличным выбором станет набор «Простые механизмы» Lego Simple Machines Set (9689) , где вместо мотора в комплекте колеса, рычаги, ролики и оси, а всего элементов – 204.

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

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

Знімок екрана 2016-04-21 о 12.35.37

Для деток помладше (дошкольного возраста от 3-4 лет) такие наборы не подойдут – на помощь может прийти базовый набор «Моя первая история» Lego StoryTales (45005), развивающий языковые навыки. Игровой сценарий предлагает ребенку и родителю выступить в качестве рассказчика сказки или истории, а сами детали выступают в роли качестве главных героев, актёров и инвентаря.

При помощи iPad’а и программы StoryVisualizer можно формировать графические комиксы-истории, комбинируя элементы набора с изображением на экране. Кроме того, в комплекте есть карточки с идеями и подсказками для родителей или преподавателей. Сами элементы конструктора тут крупнее (это сделано для безопасности), а в комплекте их 106.

Судя по отзывам в интернете, это работает – детям нравится как и сам конструктор LEGO, так и то что он “растёт” вместе с ними.

Научи детей программированию с помощью LEGO

Каждый, кто хоть раз заходил на современный сервер, где дети играют в Minecraft, понимает – иногда лучше сохранить минимальный контроль за развлечениями и обучением, и “оффлайновый” конструктор LEGO для этого подходит как нельзя лучше.

9f498922c683e89353278157307e4c9b

Потому серия Education от LEGO — это конструктор, способный подарить ребенку не только удовольствие от игры, но и крайне полезные знания и навыки. Детский «безъязыковой» графический интерфейс почти не содержит надписей, а видеоинструкции основаны на принципе «смотри и делай как я».

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

Для легкого старта в обучении команда iCover решила сделать существенную скидку 40% на 5 комплектов Lego Education.

Пользуйся промокодом legoedu40

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

Favorite

В закладки

Можешь и сам попробовать. Наверное, ты ждал под заголовком статью о том, как LEGO таинственным способом делает из детей гениев-программистов? На самом деле, важность знания азов программирования в современном мире сложно переоценить. Почему программированию надо учиться с детства Достаточно оглянуться вокруг – нас окружают операционные системы на мобильных и настольных гаджетах, “умные дома”, системы виртуальной.

Потому что программирование открывает мир безграничных возможностей. Мы могли бы этим ограничиться, потому что это самый быстрый ответ. Но если вы продолжите читать, то мы расскажем о своем открытии: что происходит, когда дети учатся программировать через игру!


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

Избранные наборы

Робот-изобретатель

Базовый набор LEGO® Education SPIKE™ Prime

Набор LEGO® Education BricQ Motion Prime

Набор LEGO® Education BricQ Motion Старт

Программирование роботов LEGO® для детей

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


Кто может учиться программированию c игрушками LEGO®?

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


Keep them learning at home

For the first time ever, the award-winning LEGO® Education line is now available for home learning. These products use bricks, programming tools, and supporting lesson plans to help kids develop their communication, creativity and critical thinking-skills in a fun and exciting way.


Какую пользу приносит детям изучение программирования?

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

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


Знаете ли вы, что изучение языка и структуры программного кода — например, HTML, — очень похоже на изучение другого языка? Навыки, которые ваш ребенок узнает из программирования, могут быть непосредственно применены к изучению правил грамматики и синтаксиса других языков!

Организационные навыки и навыки решения проблем

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

Любопытство, творчество и уверенность

Дети могут создать логово злодеев, ракету или кукольный дом из картонной коробки и мелков. Представьте себе, что они могут сделать с кодом! Дети находят творческие способы использовать то, что им нужно, чтобы создать что-то новое. Если они хотят запрограммировать список воспроизведения, оживить животное или робота LEGO® или даже создать новую игру, они могут использовать строительные блоки кода, чтобы создавать свои собственные уникальные игрушки, гаджеты или интересные истории для игр с друзьями. Это очень здорово.

Более уверенное будущее со STEM

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

Как дети учатся программировать с игрушками LEGO®?

Для детей игра — лучший способ изучить что-то новое. То же самое касается программирования. Вот как вы можете начать с веселыми, простыми или даже сложными программами с помощью правильных игрушек LEGO® для девочек и мальчиков всех возрастов.

LEGO® BOOST — программируемые роботы и игрушки для детей в возрасте от 7 до 12 лет

Набор для конструирования и программирования LEGO® BOOST (17101) — это увлекательная игрушка для игры дома. Она поставляется с инструкциями по строительству пяти разных моделей роботов. В бесплатном приложении для программирования вы найдете инструкции для базовых фреймов, которые позволят ребенку построить любого робота или механическую машину, которую он только может себе представить!


LEGO MINDSTORMS® для детей в возрасте от 10 лет

LEGO® MINDSTORMS® — это набор для сборки, перестройки, программирования и управления семнадцатью роботами LEGO! Бесплатные программы и приложения позволяют подключить роботов к компьютерам, планшетам или смартфонам.


LEGO® Education WeDo 2.0 для дошкольного обучения, начальной и средней школы

LEGO® Education WeDo 2.0 — это серия обучающих наборов, разработанная в качестве инструмента для учителей для проведения увлекательных уроков для учащихся в программах дошкольного обучения, а также в начальной и средней школе.


Нужна помощь с игрушками для программирования LEGO®?

Не хватает деталей? Вы потеряли инструкции по сборке? У вас есть вопросы о функции, приложении или элементе вашей игрушки для программирования? Дружелюбные сотрудники службы поддержки клиентов LEGO® (среди которых нет роботов) будут рады вам помочь!

Здравствуйте. В своих статьях я хочу Вас познакомить с основами программирования микрокомпьютера LEGO NXT Mindstorms 2.0. Для разработки приложений я буду использовать платформы Microsoft Robotics Developer Studio 4 (MRDS 4) и National Instruments LabVIEW (NI LabVIEW). Будут рассматриваться и реализовываться задачи автоматического и автоматизированного управления мобильными роботами. Двигаться мы будем от простого к сложному.


Предвосхищая некоторые вопросы и комментарии читателей.

Почему именно NXT Mindstorms 2.0? Потому-что для своих проектов данный набор мне показался наиболее подходящим, т.к. микрокомпьютер NXT полностью совместим с платформами MRDS 4 и NI LabVIEW, а так же данный набор является очень гибким в плане сборки различных конфигураций роботов — затрачивается минимум времени на сборку робота.

Почему платформы MRDS 4 и NI LabVIEW? Так сложилось исторически. Обучаясь на старших курсах университета стояла задача в разработке учебных курсов с использованием данных платформ. К тому же платформы обладают достаточной простотой в освоении и функциональностью, с их использованием можно написать программу непосредственно для управления роботом, разработать интерфейс пользователя и провести тестирование в виртуальной среде (в случае с MRDS 4).

Да кому вообще нужны эти ваши уроки, в сети и так куча проектов по робототехнике! С использованием данной связки (NXT+MRDS 4/NI LabVIEW) учебных статей практически нет, в основном используется родная среда программирования, а в ней совсем все тривиально. Всем кому интересны робототехника, программирование и у кого есть набор NXT (а таких не мало), возрастная аудитория любая.

Графические языки программирования это зло, а те кто на них программируют еретики! Графические языки программирования коими и являются MRDS 4 и NI LabVIEW несомненно имеют свои минусы, например ориентированность под узкие задачи, но все же в функциональности они мало уступают текстовым языкам, тем более NI LabVIEW изначально разрабатывался как язык легкий в освоении для решения научных и инженерных задач, для этого в нем присутствует множество необходимых библиотек и инструментов. По-этому для решения наших задач данные графические языки являются наиболее подходящими. И не надо нас за это сжигать на костре презирать.

Все это выглядит по-детски и вообще не серьезно! Когда задача состоит в реализации алгоритмов, в обучении основам и принципам программирования, робототехники, систем реального времени без углубления в схемотехнику и протоколы, то это очень подходящий инструмент хоть и не дешевый (касаемо набора NXT). Хотя для этих же целей неплохо подойдут наборы на базе Arduino, но совместимости с MRDS 4 и NI LabVIEW у данного контроллера почти нет, а в данных платформах есть свои прелести.

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

Краткий обзор платформ MRDS 4 и NI LabVIEW.

Внесу некоторую ясность в терминологию. Под платформой, в данном случае, имеется ввиду совокупность различных инструментов, например язык VPL в MRDS, а так же среда выполнения приложений, т.е. непосредственной компиляции приложений в исполняемые (*.exe) файлы нету.

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

Краткий обзор набора LEGO NXT Mindstorms 2.0.


Рисунок 1 — Микрокомпьютер NXT с подключенными датчиками и приводами

И конечно же в наборе находятся разнообразные детали LEGO в форм-факторе LEGO Technic из которых будут собраны исполнительные механизмы и несущая конструкция.


Рисунок 2 — Детали в форм-факторе LEGO Technic

Пишем первое приложение.

Напишем первое приложение. Пусть, классически, данное приложение выводит текст “Hello, World!”. Реализация будет происходить поочередно в MRDS 4 и NI LabVIEW, в процессе будем рассматривать специфику каждой платформы.

Предварительно инсталлируем платформы MRDS 4 и NI LabVIEW, в случае с MRDS 4 инсталляция должна проводится в папку путь к которой не состоит из кириллицы (русских букв), учетная запись пользователя так-же должна состоять только из латинских букв.

1. Платформа MRDS 4.

Запускаем среду VPL (Меню Пуск — Все Программы — Microsoft Robotics Developer Studio 4 — Visual Programming Language). Данная среда позволяет разрабатывать приложения на языке VPL, проводить тестирование в виртуальной среде VSE. Программа в VPL представляет собой диаграмму, состоящую из соединенных между собой блоков. В открывшемся окне, помимо стандартной панели команд и меню, присутствует 5 основных окон:

  1. Basic Activities – содержит базовые блоки, которые реализуют такие операторы как константа, переменная, условие и т.д.;
  2. Services – содержит блоки, предоставляющие доступ к функционалу платформы MRDS, например блоки для взаимодействия с какой-либо аппаратной составляющей робота, или блоки для вызова диалогового окна;
  3. Project – объединяет диаграммы входящие в проект, а так же различные конфигурационные файлы;
  4. Properties – содержит свойства выделенного блока;
  5. Diagrams window – содержит, непосредственно, диаграмму (исходный код) приложения.


Рисунок 3 — Среда программирования VPL

Выполним следующую последовательность действий:

  1. добавим блоки Data (из окна Basic Activities) и блок сервиса Simple Dialog (из окна Services),
  2. в блок Data введем “Hello, World!” (без кавычек) и выберем тип данных String,
  3. соединим блок Data с блоком Simple Dialog, появиться диалоговое окно,
  4. далее, все выполняем как на рисунках


Рисунок 4 — Окно Connections


Рисунок 5 — Окно Data Connections


Рисунок 6 — Законченный вид диаграммы


2. Платформа NI LabVIEW.

На данной платформе все реализуется, практически, идентично. Запустим среду LabVIEW. Перед нами появиться два окна, первое — Front Panel, предназначено для реализации интерфейса пользователя (внешнего вида виртуального прибора), второе — Block Diagram, для реализации логики программы.


Рисунок 8 — Окна среды LabVIEW

Мы будем использовать окно Block Diagram. Выполним следующие шаги:

  1. в окне Block Diagram вызовем контекстное меню, нажатием правой кнопкой мыши,
  2. в появившемся окне перейдем по вкладкам, как на рисунке и выберем String Constant,

Привет, Хабр! Мы уже рассказывали о платформе 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 показывают, что писать код — это не страшно, готовят к серьезным инженерным задачам и помогают сделать первый шаг к освоению технических специальностей. А для тех, кто работает в школе и связан с образованием, у нас подготовлены программы занятий и учебные материалы. В них детально расписано, какие навыки формируются при выполнении тех или иных задач, и как полученные навыки соотносятся со стандартами обучения.

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