Программирование робота Lego Mindstorms EV3 с помощью Scratch 2.0
Если вам нравится графическая среда программирования Scratch 2.0, то вам необязательно отказываться от неё для программирования роботов Lego Mindstorms EV3. Достаточно лишь установить и настроить нужное программное обеспечение, о чём и будет написано в этой статье.
Статья будет рассчитана на владельцев компьютеров под управлением Windows, хотя всё упомянутое в статье программное обеспечение можно установить и использовать на компьютерах под управлением Mac OS, Mac OS X и Linux. Вот вкратце план, по которому мы будем действовать:
- Подготовка SD-карты.
- Установка компонентов leJOS на компьютер.
- Создание SD-карты leJOS EV3.
- Установка Adobe AIR на компьютер.
- Установка офлайн редактора Scratch 2 на компьютер.
- Установка приложения ev3-scratch-helper-app на компьютер.
- Запуск приложения ev3-scratch-helper-app.
- Первый запуск офлайн редактора Scratch 2.
- Добавление программных блоков EV3 в редактор Scratch 2.
- Подключение модуля EV3 к компьютеру.
- Программирование робота EV3 в редакторе Scratch 2.
Подготовка 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-карты.
-
Создание SD-карты leJOS EV3
Нажмите кнопку «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 на компьютер
Теперь скачайте и установите на компьютер последнюю версию офлайн редактора Scratch 2 (на момент написания статьи – это версия 437, файл Scratch-437.exe). У инсталлятора очень мало параметров, см. картинку. Уберите галочку «Запустить приложение после установки» и нажмите кнопку «Продолжить».
После установки вы увидите следующее сообщение, см. картинку. Щёлкните по кнопке «Готово».
Установка приложения ev3-scratch-helper-app на компьютер
Следующее что нужно сделать – установить приложение-помощник ev3-scratch-helper-app на ваш компьютер, которое делает возможным взаимодействие Scratch с модулем EV3 (прочитать про приложения-помощники для Scratch можно здесь). Установку можно произвести двумя способами:
- Если у вас на компьютере установлен git, то вы можете клонировать проект, выполнив в консоли команду «git clone https://github.com/koen-dejonghe/ev3-scratch-helper-app.git». Этот способ предпочтительнее, но, если вы не знаете, что такое git, то есть второй способ.
- Скачайте и распакуйте 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 2636 |
В папке с приложением вы можете найти файл «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. Для его запуска сделайте следующее:
- Запустите окно консоли и поменяйте текущую папку на папку, в которой установлено приложение ev3-scratch-helper-app. У меня это папка «C:\ev3-scratch-helper-app», поэтому я вызвал команду «cd C:\ev3-scratch-helper-app».
- Выполните команду «gradlew.bat bootRun». При первом выполнении к вам на компьютер будут скачаны и установлены необходимые библиотеки, поэтому удостоверьтесь, что компьютер подключен к Интернету. Первый запуск займёт продолжительное время, наберитесь терпения.
После того как приложение запустится вы увидите в консоли примерно следующие сообщения:
Для последующих запусков для удобства можно создать ярлык, например, на рабочем столе. Вот так выглядят свойства ярлыка для установленного приложения в папке «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):
- Откройте «Панель управления -> Сеть и Интернет -> Центр управления сетями и общим доступом» и щёлкните по «Изменение параметров адаптера» на левой панели окна.
- Вы должны увидеть здесь «Сетевое подключение Bluetooth» с красным крестиком. Щёлкните по этой иконке один раз, чтобы выбрать её.
- Щёлкните сверху по кнопке «Просмотр сетевых устройств Bluetooth».
- Через некоторое время вы увидите в поднявшемся окне одну или несколько точек доступа. Щёлкните здесь по нашему устройству «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, как это было описано выше в разделе «Добавление программных блоков EV3 в редактор Scratch 2».
Инструкцию для сборки стандартной приводной платформы можете взять здесь:
Инструкция для сборки стандартной приводной платформы Educator EV3 | |
Инструкция к статье "Приводная платформа EV3 на гусеничном ходу". |
|
21.02.2015 5.4 MB 9869 |
Ниже на картинке вы увидите пример простейшей программы для тележки с установленным спереди датчиком расстояния. Работает это следующим образом:
-
-
- Сначала спрайт «Старт» (большой треугольник слева сверху) серого цвета, это значит, что робот не инициализирован. Видите, скорость моторов null, и расстояние у датчика 1 тоже null. Нужно нажать на серый треугольник.
-
-
-
- После нажатия на треугольник происходит подключение моторов и датчика расстояния, и треугольник становится зелёным. Как видите скорость моторов и расстояние датчика теперь показывают осмысленные значения вместо null.
-
-
-
- Теперь можно нажать на пробел на компьютере и робот поедет вперёд, пока впереди не появится препятствие на расстоянии меньше 50-ти см. Когда робот обнаружит препятствие, он остановится.
- Когда вы наигрались с роботом, можно снова нажать на треугольник. При этом все порты закроются, и робот снова станет неинициализирован, а треугольник станет серым.
-
Файл программы, изображённой на картинке я прилагаю к статье:
Программа для Scratch 2 для тестирования взаимодействия с роботом EV3 Версия:от 07.08.2015 | |
Программа для Scratch 2 для тестирования взаимодействия с роботом EV3. |
|
07.08.2015 45.65 KB 2276 |
Итог
Из этой статьи вы узнали, как настроить офлайн редактор Scratch 2 для программирования роботов LEGO Mindstorms EV3, а также узнали, как начать программировать с помощью него. К сожалению, в случае программирования в Scratch 2 модуль EV3 всё время должен быть подключен к компьютеру через Bluetooth или WiFi, т.е. он не автономен. Хотя здесь есть и приятные бонусы – роботом можно управлять с компьютера, например, робот на колёсах может управляться при помощи клавиш-стрелок или клавиш W, A, S и D. Итак, пробуйте, экспериментируйте и пишите, если что-то непонятно.
Tags: leJOS Учебники по использованию программ Учебники по программированию SCRATCH LEGO Mindstorms Education EV3 LEGO
Комментарии
В консоли постоянно выводится строка "2019-11-11 20:25:37.962 INFO 9892 --- [nio-4321-exec-2] scratch.ev3.RemoteEV3Proxy : searching for ev3...". При этом соединение модуля с ПК на уровне Bluetooth настроено нормально.
Кто что не видит и куда смотреть?
С уважением,
Добрый день. У вас должна быть карта объёмом 2 - 32 Гб (SDXC - карты не поддерживаются).
У меня SD - карта SDHC всё равно не действует. Ошибка: Install error: Missing jre.
Так вот основная ошибка: Missing jre. Установите JDK, как написано в статье.
Безопаснее скачивать из официального источника с регистрацией. Левых ссылок у нас нет.
Такой ссылки нет. При скачивании из оф. источника нужна регистрация.
RSS лента комментариев этой записи