Курс программирования робота lego mindstorms ev3. Книжная полка робототехника. Установка Adobe AIR на компьютер

Задача данного курса - познакомить вас с конструктором Lego mindstorms. Научить собирать базовые конструкции роботов, программировать их под определенные задачи, разобрать с вами базовые решения наиболее распространенных задач-соревнований.

Курс рассчитан на делающих первые шаги в мир робототехники с помощью конструктора Lego mindstorms. Хотя все примеры роботов в этом курсе сделаны с помощью конструктора Lego mindstorms EV3, программирование роботов объясняется на примере среды разработки Lego mindstorms EV3, тем не менее, владельцы Lego mindstorms NXT тоже могут присоединиться к изучению данного курса, и, надеемся, найдут для себя тоже полезное...

1.1. Что в наборе? Классификация деталей, крепление деталей между собой, главный блок, моторы, датчики

Давайте начнем знакомиться с конструктором Lego mindstorms EV3. Распечатав конструктор, мы найдем в нем множество разнообразных деталей. Если вы знакомы с традиционными кирпичиками Lego, но раньше вам не приходилось сталкиваться с наборами Lego серии Technic, ты, возможно, вы будете слегка обескуражены видом непривычных деталей. Однако, разобраться с ними совсем несложно. Итак, условно разделим все детали на несколько категорий. На рисунке представлены детали, называемые балками (иногда для этих деталей можно встретить название - бим (beam)) Балки исполняют роль каркаса (скелета вашего робота),

Рис. 1

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

Рис. 2

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

Рис. 3

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

Рис. 4

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

Рис. 5

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

Рис. 6

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

Рис. 7

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

Рис. 8

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

Рис. 9

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

Рис. 10

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

Рис. 11

1.2. Собираем робота, с помощью которого будем изучать данный курс

Настало время - собрать нашего первого робота.

На первом этапе конструкция нашего робота будет следующей:

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

Такой простейший робот называется роботом-тележкой.

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

Как только наш робот будет готов - начнем изучение среды программирования.

1.3. Знакомство со средой программирования

Первым делом загружаем среду программирования Lego mindstorms EV3. В главном меню программы выбираем: "Файл" - "Новый проект" или нажимаем "+" , показанный на рисунке стрелкой.

Рис. 12

В одном проекте может находиться множество программ. Для того, чтобы проект корректно загружался в нашего робота необходимо в названии проекта и программ использовать только буквы латинского алфавита! Давайте назовем наш проект lessons (уроки), а первую программу - lesson-1 (урок-1). Для того, чтобы дать название проекту, воспользуемся главным меню программы: "Файл" - "Сохранить проект как..." Чтобы изменить название программы - следует сделать двойной щелчок мышью на её названии (program) и вписать свое название.

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

Рис. 13

Если подключение робота прошло успешно, то приступим к программированию и создадим нашу первую программу.

1.4. Наша первая программа!

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

Рис. 14

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

Рис. 15

Но, если вы собирали робота по инструкции, предложенной выше, то, наверное, обратили внимание, что в ней отсутствует схема подключения моторов и датчиков. Настало время с этим разобраться. Блок EV3 имеет 4 порта, обозначенных цифрами: 1 , 2 , 3 , и 4 . Эти порты служат для подключения только датчиков. Для подключения моторов служат порты, обозначенные буквами: A , B , C и D . Можно подключать моторы в любые свободные порты, предназначенные для них. Но в случае управляемой тележки рекомендовано подключать моторы в порты: B и C . Давайте сейчас возьмем два соединительных кабеля длиной 25 см, левый мотор подключим к порту B , а правый - к порту C . Именно это подключение выбрано по умолчанию в блоке "Рулевое управление". Специальная кнопка, обозначенная стрелкой, отвечает за режим работы блока. Для первой программы выберем режим: "Включить на количество оборотов" . Значение 0 под черной стрелочкой на блоке означает прямолинейное движение, когда оба мотора крутятся с одинаковой скоростью. Число 75 задает мощность моторов, чем больше это значение, тем быстрее поедет наш робот. Цифра 2 задает количество оборотов каждого из моторов, на которое они должны провернуться.

Итак, наша первая программа готова. Загружаем ее в нашего робота. Для этого нажимаем кнопку "Загрузить" на вкладке аппаратных средств и отсоединяем USB-кабель от робота.

Рис. 16

Устанавливаем робота на ровную поверхность. С помощью стрелок на блоке EV3 заходим в папку нашего проекта, выбираем программу lesson-1 и центральной кнопкой блока EV3 запускаем ее на выполнение.

Здравствуйте. В своих статьях я хочу Вас познакомить с основами программирования микрокомпьютера 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) файлы нету.

В 2006 году Microsoft объявила о создании платформы Microsoft Robotics Developer Studio (более подробно в статье Википедии). MRDS – это Windows – ориентированная среда разработки приложений для робототехники и симуляции. В настоящее время актуальной является версия Microsoft Robotics Developer Studio 4. Среди особенностей: язык графического программирования VPL, Web – и Windows – ориентированные интерфейсы, среда симуляции VSE, упрощенный доступ к датчикам, микроконтроллеру и исполнительным механизмам робота, поддержка языка программирования C#, библиотеки для многопоточного программирования и распределенного выполнения приложений CCR и DSS, поддержка многих робототехнических платформ (Eddie, Boe - Bot, CoroBot, iRobot, LEGO NXT и т.д.).

LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) - это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G» фирмы National Instruments (более подробно в статье Википедии). LabVIEW используется в системах сбора и обработки данных, а также для управления техническими объектами и технологическими процессами. Идеологически LabVIEW очень близка к SCADA-системам, но в отличие от них в большей степени ориентирована на решение задач не столько в области АСУ ТП (автоматизированные системы управления технологическим процессом), сколько в области АСНИ (автоматизированных систем научных исследований). Графический язык программирования «G», используемый в LabVIEW, основан на архитектуре потоков данных. Последовательность выполнения операторов в таких языках определяется не порядком их следования (как в императивных языках программирования), а наличием данных на входах этих операторов. Операторы, не связанные по данным, выполняются параллельно в произвольном порядке. Программа LabVIEW называется и является виртуальным прибором (англ. Virtual Instrument) и состоит из двух частей:

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

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

Комплект NXT состоит из управляющего блока, четырех датчиков и трех сервоприводов. Управляющий блок содержит в себе:
  • 32-битный микроконтроллер AVR7 с 256 КБайт FLASH памяти и 64 КБайт RAM памяти;
  • 8-битный микроконтроллер AVR c 4 Кбайт FLASH памяти и 512 Байт RAM памяти;
  • радиомодуль Bluetooth V 2.0;
  • USB-порт;
  • 3 разъема для подключения сервоприводов;
  • 4 разъема для подключения датчиков;
  • LCD дисплей разрешением 99x63 пикселей;
  • динамик;
  • разъем для 6 батареек типа AA.
Датчики (в разных комплектациях разные наборы датчиков):
  • ультразвуковой датчик;
  • два тактильных датчика (датчики касания);
  • датчик опредения цвета.


Рисунок 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

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

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


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

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

Резюме

  • Мы сделали обзор программных платформ для разработки приложений микрокомпьютера NXT.
  • Мы рассмотрели основные принципы разработки приложений в платформах MRDS 4 и NI LabVIEW.
  • Познакомились с интерфейсом сред.
В следующих статьях мы будем заниматься непосредственно программированием NXT. По среде LabVIEW в сети есть много учебных материалов, по VPL гораздо меньше. Очень рекомендую изучить справочное руководство обеих платформ (необходимо знание английского), в данных руководствах очень много примеров которые можно реализовать и не имея NXT, а так же следующие книги:
  • Программируем микрокомпьютер NXT в LabVIEW - Лидия Белиовская, Александр Белиовский,
  • Microsoft Robotics Developer Studio. Программирование алгоритмов управления роботами - Василий Гай.
В своих статьях я буду описывать только свои проекты, т.к. не вижу смысла переписывать информацию из одних источников в другие. Приму любую конструктивную критику, отвечу на любые вопросы касаемо рассмотренных платформ. Заранее спасибо!

РОБОТОТЕХНИКА

Для детей 7-11 лет

ПОЧЕМУ РОБОТОТЕХНИКА?

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

ЗАЧЕМ УЧИТЬСЯ
В КРАШПРО?

РАЗВИВАЕМ КОМПЕТЕНЦИИ

Творческое мышление

Проектное мышление м умение работать в команде

Развитие логики и мелкой моторики

Развитие математического мышления

Умение создавать автономных и управляемых роботов

Программирование в среде Scratch

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

Наргиз Асадова

Директор Школы профессий будущего "CRUSH PRO"

7-9 лет 9-11 лет

«Робототехника WeDo»

Занятия проходят 1 раз в неделю по 1,5 часа.
Каждый учебный год разделен на 3 модуля.

ПЕРВЫЙ ГОД ОБУЧЕНИЯ

Модуль 1
10 занятий по 1,5 часа

  • Изучая животный мир, понимаем принципы работы таких механизмов как подъемный кран (жираф), вертолет (стрекоза), погрузчик (пеликан) и других.
  • Собираем робот лягушки, аллигатора, обезьяны, льва и других животных. Программируем, настраиваем голосовое управление, изучаем базовые детали и узлы: шестеренки, шкивы и зубчатую передачу
Модуль 2
10 занятий по 1,5 часа
  • Строим модели самолета, подъемного крана, вертолета, манипулятора и других машин. Изучаем принцип работы механизмов, физику, используем уравнения и формулы для программирования.
  • Создаем систему управления роботами
Модуль 2
12 занятий по 1,5 часа
  • Строим катапульту, дроид, круглых роботов, космолет и другие сложные машины
  • Создаем станцию связи, космическую станцию, изучаем роботов, работающих в космос

ВТОРОЙ ГОД ОБУЧЕНИЯ

Занятие 1: Лифт-подъемный механизм. Знакомство с программой.

Занятие 2: Стрекоза. Обсуждение вопросов связанных с насекомыми.

Занятие 3: Лягушка. Обсуждение принципов работы датчиков. Изучение лягушки и построение модели. Построение модели лягушки из блоков LEGO WeDo. Использование датчиков для запуска программы. Использование условного оператора в задаче программирования. Использование цикла в программе.
Занятие 4: Пеликан. Обсуждение разновидностей птиц, мест их обитания и строение.


Занятие 5: Аллигатор. Изучение систем шкивов и ремней (ременных передач).

Занятие 6: Лев. Изучение процесса передачи движения и преобразования энергии в модели. Ознакомление с работой коронного зубчатого колеса в этой модели. Изучение льва, его строения, места обитания. Создание и испытание движущейся модели льва. Усложнение поведения путем добавления управление голосом и программирования воспроизведения звуков синхронно с движениями льва. Понимание того, как при помощи зубчатых колёс можно изменить направление движения. Понимание и использование числового способа задания звуков и продолжительности работы мотора.
Занятие 7: Лягушка. Знакомство с системой шкивов и ремней (ременных передач), работающих в модели. Анализ влияния смены ремня на направление и скорость движения. Построение, программирование и испытание модели «Лягушка». Изучение процесса передачи движения и преобразования энергии в модели. Изучение кулачкового механизма, работающего в модели. Понимание основных принципов проведения испытаний и их обсуждение.
Занятие 8: Жираф. Изучение рычажного механизма. Создание и испытание модели жирафа из блоков LEGO WeDo. Программирование соответствующего звукового сопровождения. Усложнение поведения за счет установки на модель датчика наклона. Построение и изучение сложного механизма. Изучение строения, местообитание жирафа. Занятие 9: Обезьяна. Изучение рычажного механизма и влияние конфигурации кулачкового механизма на ритм барабанной дроби. Создание и испытание модели барабанящей обезьянки. Модификация конструкции модели путём изменения кулачкового механизма с целью изменения ритма движений рычагов. Программирование соответствующего звукового сопровождения, чтобы поведение модели стало более эффектным.
Занятие 10: Промежуточный тест. (теория, конструирование, практика)
Занятие 11: Самолет. Построение модели самолёта, испытание её движения и уровня мощности мотора. Усовершенствование модели самолёта путём программирования звуков, зависящих от показаний датчика наклона. Понимание и использование принципа управления звуком и мощностью мотора при помощи датчика наклона. Изучение процесса передачи движения и преобразования энергии в модели.
Занятие 12: Нефтяная вышка. Понимание концепции и обсуждения свойств энергетических ресурсов на примере нефти масло. Обсуждение роли двигателя внутреннего сгорания в промышленном развитии. Построение модели насоса из блоков LEGO WeDo. Использование датчика расстояния для построения системы управления. Использование кривошипного механизма для сборки насоса. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния. Создание программы в соответствии с алгоритмом, который добавляет и вычитает из фиксированного значения. Практическое использование операций сложения и вычитания до 10.
Занятие 13: Ветряк. Обсуждение типов возобновляемых источников энергии и способов их использования пример ветровой турбины. Определение концепции скорости. Строительство модели ветряной мельницы из блоков LEGO WeDo. Обсуждение работы механизмов и их различных типов и их практических. Программирование структуры в соответствии с алгоритмом, который учитывает вращение винта мельницы. Использование показаний датчика расстояния для запуска математической операции. Использование добавления в задаче программирования. Использование деления при расчете передаточных чисел.
Занятие 14: Пожарная машина. Обсуждение вопросов, связанных с явлением сжигания.

Занятие 15: Вилочный погрузчик. Знание о конструкции и работе штабелера. Обсуждение роли развития робототехники в промышленности и логистике. Строительство штабелера с блоками LEGO WeDo. Использование червячного механизма для сборки накопителя. Использование датчика наклона для создания системы управления укладчиком. Использование датчика наклона для программирования системы управления укладчиком. Использование условного оператора в задаче программирования
Занятие 16: Лифт. Понимание концепции простых машин на примере рычага и шкива .
Понимание приложений простых машин в строительстве на других построениях. Понимание механизма работы лифта. Создание модели лифта с блоками LEGO WeDo. Использование двигателя и шкива для создания модели лебедки лифта. Использование компьютерной клавиатуры для программирования системы управления. Измерение и сравнение измерений времени с секундомером.
Занятие 17: Вертолет. Обсуждение источника вертолетного носителя. Сравнение конструкции и эксплуатации самолета и вертолета. Строительство вертолетной модели от блоков LEGO WeDo. Использование вала для сборки вертолетного привода. Использование датчика наклона для создания системы управления вертолетом. Использование механизма для создания вертолетного привода. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния. Использование условных инструкций и программных циклов. Использование многопоточной программы.
Занятие 18: Манипулятор. Понимание влияния развития робототехники на деятельность человека. Обсуждение принципов выбора строительных решений для специфики конкретных задач. Создание модели манипулятора из блоков LEGO WeDo. Использование датчика наклона для создания системы управления манипуляторами. Использование червячного механизма для создания захвата манипулятора. Использование датчика наклона для программирования системы управления манипуляторами. Использование многофункциональной программы. Использование математических операций (деление). Измерение и сравнение измерений времени с секундомером.
Занятие 19: Кран. Обсуждение принципов работы простых машин. Знание конструкции и принципов работы крана. Построение модели крана из блоков LEGO WeDo. Использование зубчатого зацепления для сборки вращающейся крановой башни. Использование датчика наклона для создания системы управления краном. Использование датчика наклона для программирования системы управления краном. Использование условного оператора в задаче программирования.
Занятие 20: Промежуточный тест(теория, конструирование, практика)
Занятие 21: Соревнования. Проверка на знания механизмов после прохождения всех 3 блоков. Проверка на использование блоков программирования. Проверка скорости конструирования. Проверка на правильность конструкции.
Занятие 22: Дройд. Понимание концепции и обсуждения свойств сигнализации, охранных систем. Обсуждение роли датчиков в жизни человека. Построение модели друида из блоков LEGO WeDo. Использование датчика расстояния для построения охранной системы. Использование сложного углового механизма для работы охранной системы. Программирование структуры в соответствии с алгоритмом, который делает зависимость работы моторов и звуков от датчика расстояния.
Занятие 23: Катапульта. Изучение рычажного механизма. Создание и испытание модели космической катапульты. Модификация конструкции модели путём изменения кулачкового механизма. Построение модели катапульты из блоков LEGO WeDo. Использование ремня для удержания. Использование датчика наклона для создания системы управления.
Занятие 24: Шагоход. Программирование структуры в соответствии с алгоритмом, который делает зависимость работы моторов и звуков от датчика расстояния. Построение модели шагохода из блоков LEGO WeDo. Использование датчика расстояния для построения системы управления. Использование червячного механизма для сборки шагохода.
Занятие 25: Спутники. Изучение работы спутников земли. Построение и изучение работы спутников земли. Использование датчика расстояния для построения системы управления. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния.
Занятие 26: Галактическая игра. Обсуждение принципов работы простых машин. Изучение конструкции и принципов работы конвейера. Построение модели крана из блоков LEGO WeDo. Использование шинного зацепления для сборки вращающегося конвейера. Использование датчика наклона для создания системы управления скоростью и направлению вращения мотора. Использование условного оператора в задаче программирования.
Занятие 27: Знание о конструкции и работе многоколесного робота-марсохода. Обсуждение роли развития робототехники в освоении других планет. Строительство марсохода из блоков LEGO WeDo. Использование червячного механизма для движения переднеприводного робота. Использование кубиков для движения робота как боковые колеса. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния. Конструирование модели. Написание для нее программы. Изучение соревнований.
Занятие 28: Круглые роботы. Знание о конструкции и работе круглого робота-лунохода. Обсуждение роли развития робототехники в освоении других планет. Строительство лунохода из блоков LEGO WeDo. Использование червячного механизма для движения конструкции всего робота. Использование кубиков для движения робота как боковые колеса.
Занятие 29: Космолет. Обсуждение работы космолетов и ракет. Сравнение конструкций ракеты и космолета. Строительство космолета из блоков LEGO WeDo. Использование сложного механизма в построении космолета. Использование датчика наклона для создания системы управления космолетом. Программирование соответствующего звукового сопровождения, чтобы поведение модели стало более эффектным. Программирование структуры в соответствии с алгоритмом. Использование условных инструкций и программных циклов
Занятие 30: Станция связи. Планирование и сборка станции связи. Практическое использование изученных передач. Использование знаний о датчиков и моторов, для построение автоматизированной станции связи. Развитие навыков группового взаимодействия.
Занятие 31: Космическая станция. Закрепление полученных знаний в ходе блока обучения. Построение выбранного роботизированного механизма из блоков Lego Wedo. Использование датчиков для управления. Использование изученных механизмов для сборки роботов для космоса, доработка. Практическое использование функций в скрипте, использование
Занятие 32: Итоговый тест.

Занятие 1: Робофутбол.
Занятие 2: Робофутбол.
Занятие 3: Робофутбол.
Управление роботом, полоса препятствий, мини заезд.
Занятие 4: Робофутбол.
Внутренние соревнования.
Занятие 5: Перетягивание каната
Знакомство с правилами, создание модели робота в программе Lego Digital Designer
Занятие 6: Перетягивание каната
Сборка модели по собственной схеме, первая апробация, устранение недостатков.
Занятие 7: Перетягивание каната
Занятие 8: Перетягивание каната
Внутренние соревнования.
Занятие 9: Шагающие роботы
Знакомство с правилами, создание модели робота в программе Lego Digital Designer
Занятие 10: Шагающие роботы
Сборка модели по собственной схеме, первая апробация, устранение недостатков.
Занятие 11: Шагающие роботы
Программирование, запуск программы.
Занятие 12: Шагающие роботы
Внутренние соревнования.
Занятие 13: Теннис роботов
Знакомство с правилами, создание модели робота в программе Lego Digital Designer
Занятие 14: Теннис роботов
Сборка модели по собственной схеме, первая апробация, устранение недостатков.
Занятие 15: Теннис роботов
Программирование, запуск программы.
Занятие 16: Теннис роботов
Внутренние соревнования.
Занятие 17: Кегельринг
Знакомство с правилами, создание модели робота в программе Lego Digital Designer
Занятие 18: Кегельринг
Сборка модели по собственной схеме, первая апробация, устранение недостатков.
Занятие 19: Кегельринг
Программирование, запуск программы.
Занятие 20: Кегельринг
Внутренние соревнования.
Занятие 21: Сумо
Знакомство с правилами, создание модели робота в программе Lego Digital Designer
Занятие 22: Сумо
Сборка модели по собственной схеме, первая апробация, устранение недостатков.
Занятие 23: Сумо
Программирование, запуск программы.
Занятие 24: Сумо
Внутренние соревнования.
Занятие 25: Траектория
Знакомство с правилами, создание модели робота в программе Lego Digital Designer
Занятие 26: Траектория
Сборка модели по собственной схеме, первая апробация, устранение недостатков.
Занятие 27: Траектория
Программирование, запуск программы.
Занятие 28: Траектория
Внутренние соревнования.
Занятие 29-31: Творческая номинация. Создание проекта
Занятие 32: Итоговый тест.

Занятие 1: Вводное занятие. Знакомство с конструктором. Конструирование модели подъемник. Изучат работу мотора. Познакомятся с ПО и запрограммируют подъемник на движение.
Занятие 2: Автоматические двери. Дети сконструируют автоматические двери. Продолжат работать с большим мотором;
Продолжат изучать интерфейс ПО (блоки: начало, большой мотор, ожидание, цикл);
Занятие 3: Робот гимнаст. Продолжат знакомиться с набором Lego EV3; Собирут модель «Робот-гимнаст»; Познакомиться с разными режимами большого мотора;
Продолжат изучать интерфейс ПО (блоки: начало, большой мотор, ожидание).
Занятие 4: Робот-пятиминутка. Продолжат знакомиться с набором Lego EV3;
Соберут модель «Робот-пятиминутка»; Продолжат работать с большим мотором;
Продолжат изучать интерфейс ПО (блоки: начало, рулевое направление, ожидание, цикл);
Занятие 5: Мойщик пола. Продолжат знакомиться с набором Lego EV3; Соберут модель «Мойщик пола»; Продолжат работать с большими моторами; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 6: Приводной бот. Узнают о понижающей передаче. Продолжат знакомиться с набором Lego EV3; Соберут модель «Приводной бот»; Продолжат работать с большими моторами; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 7: Скоростной бот. Узнают о повышающей передаче. Продолжат знакомиться с набором Lego EV3; Соберут модель «Скоростной бот»; Продолжат работать с большими моторами; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 8:Цветок. Продолжат знакомиться с набором Lego EV3; Соберут модель «Цветок»; Познакомиться с понятием «коническая зубчатая передача». Продолжать изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 9: Ворота
Занятие 10: Промежуточный тест (теория, конструирование и программирование).

Занятие 11: Робот – погрузчик. Продолжат знакомиться с набором Lego EV3; Соберут модель «Ворота»; Продолжат работать со средним мотором; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 12: Приводная платформа. Продолжат знакомиться с набором Lego EV3;
Соберут модель «Приводная платформа EV3»; Продолжат работать с большими моторами; Продолжать изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 13: Ультразвуковой датчик. Продолжат знакомиться с набором Lego EV3;
Соберут свою модель робота; Продолжат работать с ультразвуковым датчиком;
Продолжать изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран);
Занятие 14: Датчик цвета. Продолжат знакомиться с набором Lego EV3;
Соберут свою модель робота; Познакомятся с работой датчика цвета; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель);
Занятие 15: Датчик цвета. Продолжат знакомиться с набором Lego EV3; Соберут свою модель робота; Познакомятся с работой датчика цвета;
Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель);
Занятие 16: Гироскопический датчик. Продолжат знакомиться с набором Lego EV3;
Соберут свою модель робота. Познакомятся с работой датчика цвета; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель);
Занятие 17: Танцующий робот. Продолжат знакомиться с набором Lego EV3;
Соберут свою модель робота; Продолжат изучать интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель); Придумают свою программу.
Занятие 18: Щенок. Повторят знания о датчиках;
Соберут свою модель робота; Познакомятся с работой датчика цвета;
Занятие 19: Робофутбол. Познакомятся с регламентом соревнований;
Выявят сложные моменты в процессе подготовки; Создадут собственного робота; Научатся работать в программе Lego Commander;
З анятие 20: Промежуточный тест (теория, конструирование и программирование).
Занятие 21: Шагающий робот. Изучат механизм для создания шагающего робота. Повторят знания о датчиках;
Соберут модель робота; Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель);
Занятие 22: Шагающий робот. Продолжат изучение механизма для создания шагающего робота. Повторят знания о датчиках;
Соберут модель робота «муха»; Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель);
Занятие 23: Рисовальщик. Повторят знания о траектории; Соберут модель робота;
Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель);
Занятие 24: Декор яиц. Повторят знания о траектории;
Соберут модель робота; Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель); Запрограммируют робота для декора яиц.
Занятие 25: Сортировщик цветов (мини) .
Занятие 26: Перемещатель. Повторят знания о датчике цвета; Соберут модель робота; Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель, знакомство с блоками математики и переменных);
Занятие 27: Контейнер для шаров. Повторят знания о датчике цвета;
Соберут модель робота; Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель, знакомство с блоками математики и переменных);
Занятие 28:Контейнер для шаров. Повторят знания о датчике цвета;
Соберут модель робота; Повторят интерфейс ПО (блоки: начало, рулевое и независимое направление, ожидание, цикл, звук, экран, переключатель, знакомство с блоками математики и переменных);
Занятие 29-30: Дети пишут свой проект. Придумывают модель робота и пишут для него программу.

Занятие 31: Дети доделывают проект, вносят коррективы. Защищают проекты перед родителями.

Занятие 32: Итоговый тест.

Занятие 1: Лифт-подъемный механизм . Знакомство с программой.
Изучение основных механизмов в конструкциях. Основы программирования. Сборка механизмов из блоков LEGO WeDo. Использование двигателя и шкива для создания модели лебедки лифта.
Занятие 2: Стрекоза. Обсуждение вопросов связанных с насекомыми.
Построение модели робо-стрекозы. Применение механизмов зубчатой передачи для движения робота. Использование мотора как двигателя механизма. Практическое применение зубчатой придачи, использование различных шестеренок. Знакомство с циклом, блоками программирования моторов.
Занятие 3: Лягушка. Обсуждение принципов работы датчиков. Изучение лягушки и построение модели. Построение модели лягушки из блоков LEGO WeDo. Использование датчиков для запуска программы. Использование условного оператора в задаче программирования. Использование цикла в программе.
Занятие 4: Пеликан. Обсуждение разновидностей птиц, мест их обитания и строение.
Строительство модели птицы из блоков LEGO WeDo. Использование циклов и режима ожидания.
Изучение работы повышенной зубчатой передачи. Совместное использование ременной и зубчатой передачи. Изучение систем шкивов и ремней (ременных передач) и механизма замедления, работающих в модели.
Занятие 5: Аллигатор. Изучение систем шкивов и ремней (ременных передач).
Изучение жизни животных. Создание и программирование моделей с целью демонстрации знаний и умения работать с цифровыми инструментами и технологическими схемами. Построение модели аллигатора из блоков LEGO WeDo и ее испытание. Усложнение поведения за счет установки на модель датчика расстояния и синхронизации звука с движением модели.
Занятие 6: Лев. Изучение процесса передачи движения и преобразования энергии в модели. Ознакомление с работой коронного зубчатого колеса в этой модели. Изучение льва, его строения, место обитания. Создание и испытание движущейся модели льва. Усложнение поведения путем добавления управление голосом и
программирования воспроизведения звуков синхронно с движениями льва. Понимание того, как при помощи зубчатых колёс можно изменить направление
движения. Понимание и использование числового способа задания звуков и
продолжительности работы мотора.
Занятие 7: Лягушка. Знакомство с системой шкивов и ремней (ременных передач), работающих в модели. Анализ влияния смены ремня на направление и скорость движения. Построение, программирование и испытание модели «Лягушка». Изучение процесса передачи движения и преобразования энергии в модели. Изучение кулачкового механизма, работающего в модели. Понимание основных принципов проведения испытаний и их обсуждение.
Занятие 8: Жираф. Изучение рычажного механизма. Создание и испытание модели жирафа из блоков LEGO WeDo. Программирование соответствующего звукового сопровождения. Усложнение поведения за счет установки на модель датчика наклона.
Построение и изучение сложного механизма. Изучение строения, местообитание жирафа.
Занятие 9: Обезьяна. Изучение рычажного механизма и влияние конфигурации кулачкового механизма на ритм барабанной дроби. Создание и испытание модели барабанящей обезьянки. Модификация конструкции модели путём изменения кулачкового механизма с целью изменения ритма движений рычагов. Программирование соответствующего звукового сопровождения, чтобы поведение модели стало более эффектным.
Занятие 10: Промежуточный тест. (теория, конструирование, практика)
Занятие 11: Самолет.
Построение модели самолёта, испытание её движения и уровня мощности мотора. Усовершенствование модели самолёта путём программирования звуков, зависящих от показаний датчика наклона. Понимание и использование принципа управления звуком и мощностью мотора при помощи датчика наклона. Изучение процесса передачи движения и преобразования энергии в модели.
Занятие 12: Нефтяная вышка. Понимание концепции и обсуждения свойств энергетических ресурсов на примере нефти масло. Обсуждение роли двигателя внутреннего сгорания в промышленном развитии. Построение модели насоса из блоков LEGO WeDo. Использование датчика расстояния для построения системы управления.
Использование кривошипного механизма для сборки насоса. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния. Создание программы в соответствии с алгоритмом, который добавляет и вычитает из фиксированного значения. Практическое использование операций сложения и вычитания до 10.
Занятие 13: Ветряк. Обсуждение типов возобновляемых источников энергии и способов их использования пример ветровой турбины. Определение концепции скорости.
Строительство модели ветряной мельницы из блоков LEGO WeDo. Обсуждение работы механизмов и их различных типов и их практических. Программирование структуры в соответствии с алгоритмом, который учитывает вращение винта мельницы. Использование показаний датчика расстояния для запуска математической
операции. Использование добавления в задаче программирования. Использование деления при расчете передаточных чисел.
Занятие 14: Пожарная машина. Обсуждение вопросов, связанных с явлением сжигания.
Построение модели пожарного двигателя из блоков LEGO WeDo. Применение механизмов преобразования вращения к поступательному движению. Использование датчика наклона для изменения работы робота в зависимости от положение лестницы. Практическое применение свойств червячной передачи и зубчатого механизма. Использование датчика наклона для программирования системы управления автомобилем кочегар. Использование компьютерной клавиатуры для программирования системы управления автомобилем. Использование операций сложения и вычитания до 10 в задаче программирование.
Занятие 15: Вилочный погрузчик. Знание о конструкции и работе штабелера Обсуждение роли развития робототехники в промышленности и логистике. Строительство штабелера с блоками LEGO WeDo. Использование червячного механизма для сборки накопителя. Использование датчика наклона для создания системы управления укладчиком. Использование датчика наклона для программирования системы управления укладчиком. Использование условного оператора в задаче программирования
Занятие 16: Лифт. Понимание концепции простых машин на примере рычага и шкива.
Понимание приложений простых машин в строительстве на других построениях. Понимание механизма работы лифта. Создание модели лифта с блоками LEGO WeDo.
Использование двигателя и шкива для создания модели лебедки лифта. Использование компьютерной клавиатуры для программирования системы управления. Измерение и сравнение измерений времени с секундомером.
З анятие 17: Вертолет. Обсуждение источника вертолетного носителя. Сравнение конструкции и эксплуатации самолета и вертолета. Строительство вертолетной модели от блоков LEGO WeDo. Использование вала для сборки вертолетного привода. Использование датчика наклона для создания системы управления вертолетом. Использование механизма для создания вертолетного привода. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния. Использование условных инструкций и программных циклов. Использование многопоточной программы.
Занятие 18: Манипулятор. Понимание влияния развития робототехники на деятельность человека. Обсуждение принципов выбора строительных решений для специфики конкретных задач. Создание модели манипулятора из блоков LEGO WeDo. Использование датчика наклона для создания системы управления
манипуляторами. Использование червячного механизма для создания захвата манипулятора. Использование датчика наклона для программирования системы управления манипуляторами. Использование многофункциональной программы. Использование математических операций (деление). Измерение и сравнение измерений времени с секундомером.
Занятие 19: Кран. Обсуждение принципов работы простых машин. Знание конструкции и принципов работы крана. Построение модели крана из блоков LEGO WeDo. Использование зубчатого зацепления для сборки вращающейся крановой
башни. Использование датчика наклона для создания системы управления краном. Использование датчика наклона для программирования системы управления
краном. Использование условного оператора в задаче программирования.
Занятие 20: Промежуточный тест(теория, конструирование, практика)
Занятие 21: Соревнования.
Проверка на знание механизмов детей после прохождения всех 3 блоков. Проверка на использование блоков программирования. Проверка скорости конструирования. Проверка на правильность конструкции.
Занятие 22: Дройд. Понимание концепции и обсуждения свойств сигнализации, охранных систем. Обсуждение роли датчиков в жизни человека. Построение модели друида из блоков LEGO WeDo. Использование датчика расстояния для построения охранной системы. Использование сложного углового механизма для работы охранной
системы. Программирование структуры в соответствии с алгоритмом, который делает
зависимость работы моторов и звуков от датчика расстояния.
Занятие 23: Катапульта. Изучение рычажного механизма. Создание и испытание модели космической катапульты. Модификация конструкции модели путём изменения кулачкового механизма. Построение модели катапульты из блоков LEGO WeDo. Использование ремня для удержания. Использование датчика наклона для создания системы управления
Занятие 24: Шагоход. Программирование структуры в соответствии с алгоритмом, который делает зависимость работы моторов и звуков от датчика расстояния. Построение модели шагохода из блоков LEGO WeDo. Использование датчика расстояния для построения системы управления. Использование червячного механизма для сборки шагохода.
Занятие 25: Спутники. Изучение работы спутников земли. Построение и изучение работы спутников земли. Использование датчика расстояния для построения системы управления. Программирование структуры в соответствии с алгоритмом, который делает
зависимость скорости двигателя от значения дисплея датчика расстояния.
Занятие 26: Галактическая игра . Обсуждение принципов работы простых машин. Изучение конструкции и принципов работы конвейера. Построение модели крана из блоков LEGO WeDo. Использование шинного зацепления для сборки вращающегося конвейера. Использование датчика наклона для создания системы управления скоростью и направлению вращения мотора. Использование условного оператора в задаче программирования.
Занятие 27: Знание о конструкции и работе многоколесного робота-марсохода . Обсуждение роли развития робототехники в освоении других планет. Строительство марсохода из блоков LEGO WeDo. Использование червячного механизма для движения переднеприводного робота. Использование кубиков для движения робота как боковые колеса. Программирование структуры в соответствии с алгоритмом, который делает зависимость скорости двигателя от значения дисплея датчика расстояния. Конструирование модели. Написание для нее программы. Изучение соревнований.
Занятие 28: Круглые роботы. Знание о конструкции и работе круглого робота-лунохода. Обсуждение роли развития робототехники в освоении других планет. Строительство лунохода из блоков LEGO WeDo. Использование червячного механизма для движения конструкции всего робота. Использование кубиков для движения робота как боковые колеса.
Занятие 29: Космолет. Обсуждение работы космолетов и ракет. Сравнение конструкций ракеты и космолета. Строительство космолета из блоков LEGO WeDo. Использование сложного механизма в построении космолета. Использование датчика наклона для создания системы управления космолетом. Программирование соответствующего звукового сопровождения, чтобы поведение модели стало более эффектным. Программирование структуры в соответствии с алгоритмом. Использование условных инструкций и программных циклов
Занятие 30: Станция связи. Планирование и сборка станции связи. Практическое использование изученных передач. Использование знаний о датчиков и моторов, для построение автоматизированной станции связи. Развитие навыков группового взаимодействия.
Занятие 31: Космическая станция. Закрепление полученных знаний в ходе блока обучения. Построение выбранного роботизированного механизма из блоков Lego
Wedo. Использование датчиков для управления. Использование изученных механизмов для сборки роботов для космоса, доработка. Практическое использование функций в скрипте, использование
переменных. Практическое использование сложения и вычитания, умножения и деления. Обсуждение и планирование единой системы по освоению космоса. Создание программ в соответствии с алгоритмом и поставленными задачами
Занятие 32: Итоговый тест.

Если вам нравится графическая среда программирования Scratch 2.0, то вам необязательно отказываться от неё для программирования роботов Lego Mindstorms EV3. Достаточно лишь установить и настроить нужное программное обеспечение, о чём и будет написано в этой статье.

Статья будет рассчитана на владельцев компьютеров под управлением Windows, хотя всё упомянутое в статье программное обеспечение можно установить и использовать на компьютерах под управлением Mac OS , Mac OS X и Linux. Вот вкратце план, по которому мы будем действовать:

Подготовка SD-карты

Прежде, чем начинать, что то делать дальше, нужно найти подходящую SD-карту , удалить с неё все лишние разделы, которые там могут оказаться, и отформатировать её. Это должна быть карта объёмом как минимум 2Гб , но не более 32Гб (SDXC-карты не поддерживаются модулем EV3). Файловая система на карте должна быть FAT32. Разработчики leJOS рекомендуют форматировать карту с помощью программы SD Card Formatter . Ведь, даже если вы решили использовать только что купленную карту памяти, на ней могут быть скрытые разделы, которые могут вызвать проблемы при работе c EV3. Однако, если ваша SD-карта меньше 4Гб, то программа автоматически выбирает файловую систему FAT и изменить в настройках это нельзя, поэтому после форматирования программой SD Card Formatter форматируйте такие карты в формат FAT32 другим способом. Кроме того, у меня при использовании старых карт 2Гб , leJOS EV3 вообще отказался загружаться, хотя установка прошла успешно. Из своего опыта я советую вам использовать свежекупленные карты SDHC объёмом 4 – 32Гб (у меня всё успешно работает с картой SDHC объёмом 4Гб класс 4 производства smartbuy ).

Установка компонентов leJOS EV3 на компьютер

leJOS – это крошечная виртуальная Java-машина , которая в 2013 году была адаптирована для работы с системой Lego Mindstorms EV3 . Официальная страничка проекта находится . Для компьютеров под управлением Windows разработчики сделали дистрибутив, в котором есть утилита для подготовки SD-карты , документация и примеры.

Итак, установим leJOS EV3 на компьютер:

      • Скачайте последнюю версию leJOS EV3 0.9.0-beta ). Для установки на Windows – это будет файл leJOS_EV3_0.9.0-beta_win32_setup.exe .
      • Запустите скачанный дистрибутив на вашем компьютере. Вы увидите приветствие. Нажмите «Next > ».

      • На этом шаге выберите JDK (Java Development Kit ), который вы будете использовать. Рекомендуется использовать Java 7 или 8 . Однако для использования Java 8 вам нужно будет создать подходящий компактный профиль Java, поэтому Java 7 будет использовать проще, что мы и сделаем. Если JDK у вас не установлен, щёлкните по кнопке «Download JDK » и, после перехода на сайт Oracle, скачайте подходящий JDK и установите его на компьютер. Нажмите кнопку «Next > ».

      • На следующем шаге вы можете выбрать путь для установки или оставить его без изменений. Нажмите «Next > ».
      • На следующем шаге вы увидите список устанавливаемых компонентов. Рекомендуется установить все компоненты. Нажмите «Next > ».

      • На следующем шаге вы сможете выбрать альтернативные пути для установки выбранных компонентов. Здесь можно оставить всё по умолчанию и нажать «Next > ».
      • На следующем шаге выбирается имя папки в меню «Пуск ». Нажмите «Next > ».
      • На последнем шаге щёлкните «Install».
      • Если на вашем компьютере установлена предыдущая версия leJOS EV3 , то вы увидите предупреждение, см. картинку. Нажмите «OK», чтобы удалить предыдущую версию с компьютера.

      • После установки вы увидите финальное окно. Здесь можно поставить галочку «Launch EV3SDCard utility », чтобы сразу при выходе из мастера запустить утилиту подготовки SD-карты.

Нажмите кнопку «Finish» с установленной галочкой «Launch EV3SDCard utility » после установки компонентов leJOS EV3 на компьютер или запустите утилиту вручную, для этого запустите файл ev3sdcard.bat , который находится в папке bin, внутри папки, в которую вы установили leJOS EV3 (у меня это папка «C:\Program Files\leJOS EV3\bin »). После запуска у вас должно появиться окошко, изображённое на картинке снизу.

В верхнем поле нужно выбрать букву диска вашей карты, у меня это диск I: . В поле ниже указывается файл с образом leJOS и по умолчанию у вас уже должен быть прописан правильный путь, см. картинку сверху. Этот файл можно найти в папке, куда были установлены компоненты leJOS EV3 (у меня это «C:\Program Files\leJOS EV3 »). В самом нижнем поле нужно выбрать файл со средой выполнения Java, который вам предварительно нужно скачать с сайта Oracle отсюда (убедитесь, что вы выбрали Java 7 JRE , а не Java 8 SDK , если конечно вы не планируете создавать компактный профиль Java 8 ). Для скачивания вам нужно будет зарегистрироваться, если вы этого ещё не делали.

Когда все поля будут заполнены, нажмите на кнопку «Create», и после того как на SD-карту будут скопированы необходимые файлы вы увидите подобное сообщение:

Нажмите «OK», затем закройте окно программки и безопасно извлеките карту из компьютера. Затем вставьте её в выключенный модуль EV3 и включите его, нажав центральную кнопку. Вы должны будете увидеть логотип leJOS EV3 и прогресс форматирования и установки образа SD-карты . Это занимает порядка 8-ми минут. В конце этого процесса модуль EV3 перегрузится и вы должны увидеть меню leJOS EV3 .

В дальнейшем, при включении модуля EV3 со вставленной SD-картой leJOS EV3 у вас сразу начнётся загрузка leJOS EV3 , а без SD-карты загрузится стандартное ПО LEGO.

Установка Adobe AIR на компьютер

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

Теперь скачайте и установите на компьютер последнюю версию офлайн редактора Scratch 2 (на момент написания статьи – это версия 437, файл Scratch-437.exe ). У инсталлятора очень мало параметров, см. картинку. Уберите галочку «Запустить приложение после установки » и нажмите кнопку «Продолжить ».

После установки вы увидите следующее сообщение, см. картинку. Щёлкните по кнопке «Готово ».

Установка приложения ev3-scratch-helper-app на компьютер

Следующее что нужно сделать – установить приложение-помощник ev3-scratch-helper-app на ваш компьютер, которое делает возможным взаимодействие Scratch с модулем EV3 (прочитать про приложения-помощники для Scratch можно ). Установку можно произвести двумя способами:

    1. Если у вас на компьютере установлен git, то вы можете клонировать проект, выполнив в консоли команду «git clone https://github.com/koen-dejonghe/ev3-scratch-helper-app.git ». Этот способ предпочтительнее, но, если вы не знаете, что такое git, то есть второй способ.
    2. Скачайте и распакуйте zip-архив с проектом (я выбрал этот вариант). Папку ev3-scratch-helper-app-master внутри zip-архива я распаковал на диск C: .

В папке «scratch» внутри папки установки вы можете найти файл «ev3-helper-app.s2e » для английского и файл «ev3-helper-app-NL.s2e » нидерландского языков, соответственно, в папках «en» и «nl». Если вы хотите использовать русский язык, то вы можете самостоятельно перевести файл «ev3-helper-app.s2e » (кодировка файла д.б. UTF-8 ) или взять файл «ev3-helper-app-RU.s2e » с моим переводом (файл «ev3-helper-app-RU.s2e » сохраните по аналогии с английской и нидерландской версией: сделайте папку «ru\extensions » и сохраните в ней). К сожалению, перевести можно лишь названия блоков, но не значений, иначе приложение ev3-scratch-helper-app работать не будет. Т.е. название моторов и датчиков останется на английском (для моторов это «Large» и «Medium», для датчиков – «Color», «Distance» и «Touch» и т.д.).

Русификация приложения ev3-scratch-helper-app Версия:от 07.08.2015

Файл ev3-helper-app-RU.s2e для русификации блоков EV3 в офлайн редакторе Scratch 2.

07.08.2015 3.76 KB 1428

В папке с приложением вы можете найти файл «application.properties » с настройками. Измените настройки, если потребуется. Имена свойств говорят сами за себя, поэтому расписывать их здесь я не буду. После изменения, удостоверьтесь, что значение свойства «server.port » в файле «application.properties » равно значению переменной «extensionPort » в файле «ev3-helper-app.s2e » или «ev3-helper-app-RU.s2e », в зависимости от того, файл какого языка вы будете использовать.

Запуск приложения ev3-scratch-helper-app

Перед запуском редактора Scratch 2 у вас всегда должно быть запущено приложение ev3-scratch-helper-app . Для его запуска сделайте следующее:

    1. Запустите окно консоли и поменяйте текущую папку на папку, в которой установлено приложение ev3-scratch-helper-app . У меня это папка «C:\ev3-scratch-helper-app », поэтому я вызвал команду «cd C:\ev3-scratch-helper-app ».
    2. Выполните команду «gradlew.bat bootRun ». При первом выполнении к вам на компьютер будут скачаны и установлены необходимые библиотеки, поэтому удостоверьтесь, что компьютер подключен к Интернету. Первый запуск займёт продолжительное время, наберитесь терпения.

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

2015-08-06 09:15:28.699 INFO 10236 --- s.b.c.e.t.TomcatEmbeddedServletContainer: Tomcat started on port(s): 4321/http 2015-08-06 09:15:28.704 INFO 10236 --- scratch.ev3.Application: Started Application in 13.411 seconds (JVM running for 15.025)

Для последующих запусков для удобства можно создать ярлык, например, на рабочем столе. Вот так выглядят свойства ярлыка для установленного приложения в папке «C:\ev3-scratch-helper-app »:

При запуске приложение ev3-scratch-helper-app подключается к первому доступному модулю EV3 в сети. Если ни один модуль не обнаружен, то приложение ждёт, пока такой появится.

Первый запуск офлайн редактора Scratch 2

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

Добавление программных блоков EV3 в редактор Scratch 2

После запуска у вас автоматически создаётся новый пустой проект. Теперь для этого проекта нужно импортировать блоки EV3, для этого удерживая клавишу «Shift» щёлкните по меню «Файл -> Импортировать экспериментальное расширение HTTP » и выберите файл ev3-helper-app.s2e или ev3-helper-app-RU.s2e , в зависимости от предпочитаемого языка. Я выбрал файл «C:\ev3-scratch-helper-app-master\scratch\ru\extensions\ev3-helper-app-RU.s2e ». Эту процедуру нужно будет делать один раз для каждого нового проекта.

После этого откройте закладку «Скрипты » щёлкните по «Другие блоки » и удостоверьтесь, что здесь появились наши блоки. Проверку наличия блоков желательно делать каждый раз после открытия ранее сохранённого проекта. Зелёный кружочек справа от названия «EV3HelperApp » означает, что приложение v3-scratch-helper-app выполняется. Если кружочек красный, то это значит, что приложение v3-scratch-helper-app не выполняется и его нужно запустить.

Подключение модуля EV3 к компьютеру

Подключить модуль EV3 к компьютеру можно двумя способами: через Bluetooth или WiFi.

Для подключения через WiFi у вас должен быть USB WiFi адаптер. leJOS EV3 поддерживает адаптеры с чипсетами Atheros ATH9K и Realtex 8192cu . Модуль EV3 протестирован разработчиками с адаптерами NetGear WNA1100 и EDIMAX EW-7811Un , но и другие адаптеры могут поддерживаться, если в них используется один из перечисленных чипсетов. Здесь я не буду рассматривать подключение через WiFi, т.к. не у всех есть подходящий адаптер. Но если вы заинтересовались таким подключением, то вы можете узнать, как это сделать из официального источника .

Для подключения через Bluetooth вам нужно сначала подключить друг к другу модуль EV3 и компьютер, а затем сделать личную сеть Bluetooth (PAN).

Подключение модуля EV3 к компьютеру нужно сделать только один раз для пары «модуль EV3 – компьютер »:

1. В модуле EV3 в главном меню leJOS EV3 найдите пункт меню «Bluetooth» и зайдите внутрь, нажав на кнопку центральную кнопку модуля EV3. Если вы увидите надпись «Visibility on », то всё в порядке: видимость модуля включена. Если вы видите надпись «Visibility off », то найдите пункт меню «Visibility» (с изображением глаза) и нажмите на центральную кнопку модуля EV3 дважды, чтобы включить видимость (надпись должна поменяться на «Visibility on »).
2. На компьютере откройте «Панель управления -> Оборудование и звук -> Устройства и принтеры ». Вы увидите список устройств, подключенных к вашему компьютеру.

3. Удостоверьтесь, что Bluetooth компьютера включён, и нажмите сверху на кнопку «Добавление устройства ». Поднимется диалоговое окно, в котором через некоторое время должен появиться модуль EV3. Щёлкните по нему и затем щёлкните «Далее ».

4. На следующем шаге вы увидите выбор варианта подключения. Щёлкните по второму варианту и введите PIN-код 1234 .

После того как модуль EV3 и компьютер подключены друг к другу можно сделать личную сеть Bluetooth (PAN ) (подключение к сети PAN вам придётся делать каждый раз при включении модуля EV3):

    1. Откройте «Панель управления -> Сеть и Интернет -> Центр управления сетями и общим доступом » и щёлкните по «Изменение параметров адаптера » на левой панели окна.
    2. Вы должны увидеть здесь «Сетевое подключение Bluetooth » с красным крестиком. Щёлкните по этой иконке один раз, чтобы выбрать её.
    3. Щёлкните сверху по кнопке «Просмотр сетевых устройств Bluetooth ».
    4. Через некоторое время вы увидите в поднявшемся окне одну или несколько точек доступа. Щёлкните здесь по нашему устройству «EV3 », чтобы выбрать его, и щёлкните по пункту меню «Подключаться через -> Точка доступа ».

Программирование робота EV3 в редакторе Scratch 2

При программировании роботов EV3 с помощью редактора Scratch и расширения ev3-scratch-helper-app вам нужно помнить, что перед использованием моторов и датчиков их нужно подключить с помощью блоков «Подключить мотор к порту » и «Подключить датчик к порту » («Connect a motor to port » и «Connect a sensor to port » при использовании англоязычного варианта блоков). Отключаются датчики с помощью блока «Закрыть все порты » («Close all ports » в английском варианте).

Контролировать, что происходит в приложении ev3-scratch-helper-app , вы можете глядя на сообщения в консоли.

Для проверки, всё ли правильно мы настроили, соберите простейшую тележку, например, стандартную приводную платформу, и напишите для неё простейшую программу в Scratch 2 . Можете посмотреть примеры в папках «doc » и «scratch\en\demos » в папке установки программы ev3-scratch-helper-app . При открытии демонстрационных программ в Scratch 2 проверьте, есть ли блоки EV3 , как это было описано выше в разделе « ».

Инструкцию для сборки стандартной приводной платформы можете взять здесь:

    • Сначала спрайт «Старт » (большой треугольник слева сверху) серого цвета, это значит, что робот не инициализирован. Видите, скорость моторов null , и расстояние у датчика 1 тоже null . Нужно нажать на серый треугольник.
        • После нажатия на треугольник происходит подключение моторов и датчика расстояния, и треугольник становится зелёным. Как видите скорость моторов и расстояние датчика теперь показывают осмысленные значения вместо null.

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

    Файл программы, изображённой на картинке я прилагаю к статье:

    Инструкция для сборки стандартной приводной платформы Educator EV3
    Программа для Scratch 2 для тестирования взаимодействия с роботом EV3 Версия:от 07.08.2015

    Программа для Scratch 2 для тестирования взаимодействия с роботом EV3.

    07.08.2015 45.65 KB 1157

    Итог

    Из этой статьи вы узнали, как настроить офлайн редактор Scratch 2 для программирования роботов LEGO Mindstorms EV3 , а также узнали, как начать программировать с помощью него. К сожалению, в случае программирования в Scratch 2 модуль EV3 всё время должен быть подключен к компьютеру через Bluetooth или WiFi , т.е. он не автономен. Хотя здесь есть и приятные бонусы – роботом можно управлять с компьютера, например, робот на колёсах может управляться при помощи клавиш-стрелок или клавиш W, A, S и D. Итак, пробуйте, экспериментируйте и пишите, если что-то непонятно.