Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

программируем детский конструктор взрослым языком / Блог компании LEGO Education / Хабр

Привет, Хабр! Мы уже рассказывали о платформе 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:

#!/usr/bin/env pybricks-micropython
from pybricks import ev3brick as brick
from pybricks.ev3devices import (Motor, TouchSensor, ColorSensor, GyroSensor)
from pybricks.parameters import Port, Stop, Direction, Color, ImageFile
from pybricks.tools import wait

Настраиваем платформу, которая вращает ручку как мотор в порте B. Задаем передаточное отношение двухступенчатой зубчатой передачи с количеством зубьев 20-12-28 соответственно.
turntable_motor = Motor(Port.B, Direction.CLOCKWISE, [20, 12, 28])

Настраиваем подъемный механизм для ручки как мотор в порте C:
seesaw_motor = Motor(Port.C)

Настраиваем гироскоп, измеряющий угол наклона ручки, в порте 2:
gyro_sensor = GyroSensor(Port.S2)

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

Настраиваем датчик касания в порте 4. Робот начинает рисовать, когда датчик нажат:
touch_sensor = TouchSensor(Port.S4)

Определяем функции, которые поднимают и опускают ручку:
def pen_holder_raise():
  seesaw_motor.run_target(50, 25, Stop.HOLD)
  wait(1000)

def pen_holder_lower():
  seesaw_motor.run_target(50, 0, Stop.HOLD)
  wait(1000)

Определяем функцию для поворота ручки на заданный угол или до определенного угла:
def pen_holder_turn_to(target_angle):
  if target_angle > gyro_sensor.angle():

Если целевой угол больше, чем текущий угол гироскопического датчика, продолжаем движение по часовой стрелке с положительной скоростью:
    turntable_motor.run(70)
	
while gyro_sensor.angle() < target_angle:
  	
pass
  elif target_angle < gyro_sensor.angle():

Если целевой угол меньше, чем текущий гироскопического датчика, то двигаемся против часовой стрелки:
    turntable_motor.run(-70)
	
while gyro_sensor.angle() > target_angle:
  	
pass

Останавливаем вращающуюся платформу, когда целевой угол будет достигнут:
  turntable_motor.stop(Stop.BRAKE)

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

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

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

while True:
  brick.light(Color.RED)
  brick.display.image(ImageFile.THUMBS_DOWN)

Дожидаемся, когда датчик цвета считает синий или белый цвет, устанавливаем цвет светодиодов зеленым, отображаем на ЖК-экране изображение «палец вверх» и сообщаем, что устройство готово к работе:
  while color_sensor.color() not in (Color.BLUE, Color.WHITE):
	
wait(10)
  brick.light(Color.GREEN)
  brick.display.image(ImageFile.THUMBS_UP)

Дожидаемся нажатия датчика касания, присваиваем гироскопическому датчику значение угла 0 и начинаем рисовать:
  while not touch_sensor.pressed():
	
wait(10)
  gyro_sensor.reset_angle(0)
  pen_holder_turn_to(15)
  pen_holder_lower()
  pen_holder_turn_to(30)
  pen_holder_raise()
  pen_holder_turn_to(45)
  pen_holder_lower()
  pen_holder_turn_to(60)

Поднимаем держатель ручки и возвращаем его в исходное положение:
  pen_holder_raise()
  pen_holder_turn_to(0)</i>

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

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


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

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

Программирование моторов конструктора Lego mindstorms EV3

Содержание урока

Введение:

На втором занятии мы детальнее познакомимся со средой программирования и подробно изучим команды, задающие движение нашему роботу-тележке, собранному на первом занятии. Итак, давайте запустим среду программирования Lego mindstorms EV3, загрузим наш проект lessons.ev3, созданный ранее и добавим в проект новую программу - lesson-2-1. Программу можно добавить двумя способами:

  • Выбрать команду "Файл"-"Добавить программу" (Ctrl+N).
  • Нажать "+" на вкладке программ.

Добавить программу в проект

Рис. 1

2.1. Палитры программирования и программные блоки

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

Зеленая палитра называется: "Действие":

Палитра Действие

Рис. 2

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

2.2. Зеленая палитра – блоки действия

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

Программный блок - Большой мотор

Рис. 3

Для правильной настройки блока управления большим мотором мы должны:

  1. Выбрать порт, к которому подключен мотор (A, B, C или D) (Рис. 3 поз. 1)
  2. Выбрать режим работы мотора (Рис. 3 поз. 2)
  3. Настроить параметры выбранного режима (Рис. 3 поз. 3)

Чем же отличаются режимы? Режим: "Включить" включает мотор с заданным параметром "Мощность" и после этого управление передается следующему программному блоку программы. Мотор будет продолжать вращаться, пока не будет остановлен следующим блоком "Большой мотор" с режимом "Выключить" или следующий блок "Большой мотор" не будет содержать другие параметры выполнения. Режим "Включить на количество секунд" включает большой мотор с установленной мощностью на указанное количество секунд, и только по завершению времени мотор остановится, а управление в программе перейдет к следующему программному блоку. Аналогично поведет мотор себя в режимах

"Включить на количество градусов" и "Включить на количество оборотов": только после выполнения установленного вращения мотора, он остановится и управление в программе перейдет к следующему блоку. 

Параметр мощность (на Рис. 3 мощность установлена в 75) может принимать значения от -100 до 100. Положительные значения мощности задают вращение мотора по часовой стрелке, отрицательные - против часовой. При значении мощности равном 0 мотор вращаться не будет, чем "выше" значение мощности, тем быстрее вращается мотор.

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

Отдельно следует сказать о параметре "Тормозить в конце". Данный параметр, если установлен в значение "Тормозить" заставляет мотор тормозить после выполнения команды, а если установлен в значение "Двигаться накатом", то мотор будет вращаться по инерции, пока сам не остановится.

Следующие два программных блока

"Рулевое управление" и "Независимое управление моторами" реализуют управление парой больших моторов. По умолчанию левый большой мотор подключается к порту "В", а правый - к порту "С". Но вы можете в настройках блока поменять порты подключения в соответствии с требованиями вашей конструкции (Рис. 4 поз. 1).

Программный блок - Рулевое управление

Рис. 4

Параметр "Рулевое управление" (Рис. 4 поз. 2) может принимать значения от -100 до 100. Отрицательные значения параметра заставляют робота поворачивать налево, при значении равном 0 робот движется прямо, а положительные значения заставляют робота поворачивать направо. Стрелка над числовым параметром меняет свою ориентацию в зависимости от значения, подсказывая тем самым направление движения робота (Рис. 5).

Параметры блока - Рулевое управлениеРис. 5

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

Программный блок - Независимое управление моторами

Рис. 6

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

2.3. Прямолинейное движение, повороты, разворот на месте остановка

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

Задача 1: Проехать прямолинейно вперед на 4 оборота двигателя. Развернуться. Проехать на 720 градусов.

Решение (Рис. 7):

  1. Используя программный блок "Рулевое управление" проехать вперед на 4 оборота.
  2. Используя программный блок "Независимое управление моторами" развернуться на месте (значение градусов придется подобрать экспериментально).
  3. Используя программный блок "Рулевое управление" проехать вперед на 720 градусов.

Примечание: Почему при развороте пришлось подбирать значение градусов в блоке 2?. Разве не 360 градусов - искомая величина? Нет, если мы зададим значение параметра "Градусы" равным 360, то тем самым заставим на искомую величину провернуться валы левого и правого моторов нашего робота. На какой угол провернется робот вокруг своей оси - зависит от размера (диаметра) колес и расстояния между ними. На Рис. 7 значение параметра "Градусы" равно 385. Данное значение позволяет роботу, собранному по инструкции small-robot 45544 развернуться вокруг своей оси. Если у вас другой робот, то вам придется подобрать другое значение. Можно ли это значение найти математически? Можно, но об этом мы поговорим позднее. 

Решение задачи 1

Рис. 7

Задача 2: Установите на ровной поверхности какое-либо препятствие (банку, кубик, небольшую коробку), отметьте место старта вашего робота. Создайте в проекте новую программу: lesson-2-2, позволяющую роботу объехать вокруг препятствия и вернуться к месту старта.

Сколько программных блоков вы использовали? Поделитесь своим успехом в комментарии к уроку...

2.4. Экран, звук, индикатор состояния модуля 

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

Программный блок - Экран

Рис. 8

Программный блок "Экран" имеет четыре режима работы: режим "Текст" позволяет выводить текстовую строку на экран, режим "Фигуры" позволяет отображать на экране одну из четырех геометрических фигур (прямая, круг, прямоугольник, точка), режим "Изображение" может вывести на экран одно изображение. Изображение можно выбрать из богатой коллекции изображений или нарисовать свое, используя редактор изображений. Режим "Окно сброса настроек" сбрасывает экран модуля EV3 к стандартному информационному экрану, показываемому во время работы программы.

Программный блок Экран. Предварительный просмотр.

Рис. 9

Рассмотрим параметры программного блока "Экран" в режиме "Текст" (Рис. 9 поз.1). Строка, предназначенная для вывода на экран, вводится в специальное поле (Рис. 9 поз. 2). К сожалению, в поле ввода текста можно вводить только буквы латинского алфавита, цифры и знаки препинания. Если режим "Очистить экран" установлен в значение "Истина", то экран перед выводом информации будет очищен. Поэтому, если вам требуется объединить текущий вывод с информацией уже находящейся на экране, то установите этот режим в значение "Ложь". Режимы "X" и "Y" определяют точку на экране, с которой начинается вывод информации. Экран блока EV3 имеет 178 пикселей (точек) в ширину и 128 пикселей в высоту. Режим "X" может принимать значения от 0 до 177, режим "Y" может принимать значения от 0 до 127. Верхняя левая точка имеет координаты (0, 0), правая нижняя (177, 127)

Координаты экрана блока EV3

Рис. 10

Во время настройки программного блока "Экран" можно включить режим предварительного просмотра (Рис. 9 поз. 3) и визуально оценить результат настроек вывода информации.

В режиме "Фигуры" (Рис. 11 поз. 1) настройки программного блока меняются в зависимости от типа фигуры. Так при отображении круга необходимо будет задать координаты "X" и "Y" центра окружности, а также значение "Радиуса". Параметр "Заполнить" (Рис. 11 поз. 2) отвечает за то, что будет отображен либо контур фигуры, либо внутренняя область фигуры будет заполнена цветом, заданным в параметре "Цвет" (Рис. 11 поз. 3).

Вывод на экран. Режим "Фигуры"

Рис. 11

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

Программный блок Экран. Отображение прямой.

Рис. 12

Чтобы отобразить прямоугольник следует задать координаты "X" и "Y" левого верхнего угла прямоугольника, а также его "Ширину" и "Высоту".

Программный блок Экран. Отображение прямоугольника

Рис. 13

Отобразить точку проще всего! Укажите лишь её координаты "X" и "Y".

Режим "Изображение", наверное, самый интересный и самый используемый режим. Он позволяет выводить на экран изображения. Среда программирования содержит огромную библиотеку изображений, отсортированную по категориям. В дополнение к имеющимся изображениям вы всегда можете создать свой рисунок и, вставив его в проект, вывести на экран. ("Главное меню среды программирования" - "Инструменты" - "Редактор изображения"). Создавая своё изображение, вы можете также вывести на экран символы русского алфавита.

Программный блок Экран. Изображение.

Рис. 14

Как вы видите - отображению информации на экране главного модуля EV3 среда программирования придает огромное значение. Давайте рассмотрим следующий важный программный блок "Звук". С помощью этого блока мы можем выводить на встроенный динамик блока EV3 звуковые файлы, тона произвольной длительности и частоты, а также музыкальные ноты. Давайте рассмотрим настройки программного блока в режиме "Воспроизвести тон" (Рис. 15). В этом режиме необходимо задать "Частоту" тона (Рис. 15 поз. 1), "Продолжительность" звучания в секундах (Рис. 15 поз. 2), а также громкость звучания (Рис. 15 поз. 3).

Программный блок Звук.

Рис. 15

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

Программный блок Звук. Воспроизвести ноту.

Рис. 16

В режиме "Воспроизвести файл" вы можете выбрать один из звуковых файлов из библиотеки (Рис. 17 поз. 1), либо, подключив к компьютеру микрофон, с помощью Редактора звука ("Главное меню среды программирования" - "Инструменты" - "Редактор звука") записать собственный звуковой файл и включить его в проект.

Программный блок Звук. Воспроизвести файл.

Рис. 17

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

Нам осталось познакомиться с последним программным блоком зеленой палитры - блоком "Индикатор состояния модуля". Вокруг кнопок управления модулем EV3 смонтирована цветовая индикация, которая может светиться одним из трех цветов: зеленым, оранжевым или красным. За включение - выключение цветовой индикации отвечает соответствующий режим (Рис. 18 поз. 1). Параметр "Цвет" задает цветовое оформление индикации (Рис. 18 поз. 2). Параметр "Импульсный" отвечает за включение - отключение режима мерцания цветовой индикации (Рис. 18 поз. 3). Как можно использовать цветовую индикацию? Например, можно во время различных режимов работы робота использовать различные цветовые сигналы. Это поможет понять: так ли выполняется программа, как мы запланировали.

Индикатор состояния модуля

Рис. 18

 Давайте используем полученные знания на практике и немного "раскрасим" нашу программу из Задачи 1. 

Задача 3: 

  1. Воспроизвести сигнал "Start"
  2. Включить зеленую немигающую цветовую индикацию
  3. Отобразить на экране изображение "Forward"
  4. Проехать прямолинейно вперед на 4 оборота двигателя.
  5. Включить оранжевую мигающую цветовую индикацию
  6. Развернуться
  7. Включить зеленую мигающую цветовую индикацию
  8. Отобразить на экране изображение "Backward"
  9. Проехать на 720 градусов
  10. Воспроизвести сигнал "Stop"

Попробуйте решить задачу 3 самостоятельно, не подглядывая в решение! Удачи!

Решение задачи 3

Девять альтернативных языков программирования для LEGO MINDSTORMS

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

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

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

 

LabVIEW (EV3, NXT)
LabVIEW для LEGO MINDSTORMS (LVLM) и LabVIEW для образования (LV4E) – среда визуального программирования. Программное обеспечение EV3 было создано в LabVIEW, поэтому LVLM представляет собой хорошую ступень для программиста.

RobotC (EV3, NXT, RCX)
RobotC – это язык программирования на основе C с полностью интегрированным программным отладчиком, который поддерживает множество различных аппаратных платформ. Доступна обширная документация и онлайн-поддержка.

 EV3dev (EV3)
Ev3dev на самом деле не является языком программирования, а скорее операционной системой на базе Debian, которая может запускать почти все языки, на которых может работать любой другой дистрибутив Linux, включая C ++, Node.js и Python

leJOS (EV3, NXT, RCX)
LeJOS (произносится как испанское слово lejos для «far») – это крошечная виртуальная машина Java, которая поддерживает Java.

 OpenRoberta (EV3, NXT)
Open Roberta – это бесплатная облачная платформа для программирования LEGO EV3 и NXT-роботов

EV3 Basic (EV3)
EV3 Basic – текстовый язык программирования.

 Scratch (EV3, NXT)
Scratch – очень популярная среда визуального программирования. Для поддержки NXT или EV3 были созданы несколько расширений.  Scratch также может использоваться с LEGO и WeDo 2.0.

 Enchanting (NXT)
Enchanting – это среда программирования для NXT, которая построена на Scratch.

 ROBOLAB (NXT, RCX)
ROBOLAB – это язык визуального программирования, созданный в LabVIEW, разработанный Tufts CEEO. ROBOLAB был основным языком программирования для образовательных роботов LEGO до выпуска программного обеспечения NXT.

Существуют и другие языки.

Возможно вам это будет интересно!

Автор публикации

не в сети 3 дня

admin

100 Комментарии: 12Публикации: 249Регистрация: 14-06-2017

Программа занятий по информатике с EV3 – Поддержка – LEGO Education

Ключевые цели обучения

  • Развитие навыков системного мышления в процессе программирования решений задач, тесно связанных с реальным миром.
  • Создание алгоритмов (наборов команд) для решения поставленных задач.
  • Оптимизация производительности программ в процессе определения наиболее приоритетных критериев, испытаний и пересмотра решений.

Проекты по программированию

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

Необходимое оборудование и материалы

Программа занятий по информатике LEGO® MINDSTORMS® Education EV3 предназначена для использования с базовым набором LEGO MINDSTORMS Education EV3 (артикул 45544) и программным обеспечением LEGO MINDSTORMS Education EV3 или мобильным приложением для программирования EV3. Загрузите программное обеспечение EV3 здесь.

С чего начать?

Загрузите учебно-методические материалы в формате PDF. Вы можете скачать учебный курс «Программа занятий по информатике» на сайте legoeducation.ru/downloads.

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

Обратите внимание, что образцы базовых программ можно скачать и использовать только на настольном компьютере.

Инструкции по сборке можно найти по ссылке .

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

Для эффективного начала работы настоятельно рекомендуем загрузить вводные материалы и обзор учебного курса:

Введение в учебный курс «Программа занятий по информатике EV3» (US)
Ссылки на учебный курс (US)
Ссылки на учебный курс (UK) 
Ссылки на учебный курс (AUS)
Ссылки на учебный курс (RU)
Ссылки на учебный курс (DE)  

Образцы базовых программ

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

 Английский (США) файл в формате .zip 123 Кб

 Английский (Великобритания) файл в формате .zip 122 Кб

 Английский (Австралия) файл в формате .zip 122 Кб

 Русский файл в формате .zip 107 Кб

 Немецкий файл в формате .zip 121 Кб

Знакомство с конструктором Lego mindstorms EV3. Наш первый робот

Содержание урока

Введение:

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

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

 

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

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

Балки конструктора Lego mindstorms

Рис. 1

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

Соединительные элементы конструктора Lego mindstorms

Рис. 2

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

Пример соединения элементов в конструкторе Lego mindstorms

Рис. 3

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

Коннекторы конструктора Lego mindstorms

Рис. 4

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

Шестерни конструктора Lego mindstorms

Рис. 5

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

Колеса и гусеницы конструктора Lego mindstorms

Рис. 6

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

Декоративные детали конструктора Lego mindstorms

Рис. 7

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

 Большой мотор конструктора Lego mindstorms

Рис. 8

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

Средний мотор конструктора Lego mindstorms

Рис. 9

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

Датчики конструктора Lego mindstorms

Рис. 10

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

Основной модуль конструктора Lego mindstorms

Рис. 11

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

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

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

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

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

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

Lego mindstorms EV3 Home
small robot 31313
Lego mindstorms EV3 Education
small robot 45544

 

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

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 запускаем ее на выполнение.

Наш проект на экране блока EV3

Рис. 17

Программирование робота Lego Mindstorms EV3 с помощью Scratch 2.0

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

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

    1. Подготовка SD-карты.
    2. Установка компонентов leJOS на компьютер.
    3. Создание SD-карты leJOS EV3.
    4. Установка Adobe AIR на компьютер.
    5. Установка офлайн редактора Scratch 2 на компьютер.
    6. Установка приложения ev3-scratch-helper-app на компьютер.
    7. Запуск приложения ev3-scratch-helper-app.
    8. Первый запуск офлайн редактора Scratch 2.
    9. Добавление программных блоков EV3 в редактор Scratch 2.
    10. Подключение модуля EV3 к компьютеру.
    11. Программирование робота 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 можно здесь). Установку можно произвести двумя способами:

    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» и т.д.).

Файлы:

В папке с приложением вы можете найти файл «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 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 4321/http
2015-08-06 09:15:28.704 INFO 10236 --- [main] 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, как это было описано выше в разделе «Добавление программных блоков EV3 в редактор Scratch 2».

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

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

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

      • После нажатия на треугольник происходит подключение моторов и датчика расстояния, и треугольник становится зелёным. Как видите скорость моторов и расстояние датчика теперь показывают осмысленные значения вместо null.

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

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

Итог

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

УСТАНОВКА И ОБЗОР ИНТЕРФЕЙСА ПРОГРАММЫ

УРОК #1: Установка и обзор интерфейса программы EV3

Установка и обзор интерфейса программы EV3

УРОК #2: СРЕДНИЙ СЕРВОПРИВОД (СРЕДНИЙ МОТОР)УРОК #3: БОЛЬШОЙ СЕРВОПРИВОДУРОК #4: Программный БЛОК "ЭКРАН"УРОК #5: БЛОК ЗВУКА И БЛОК ИНДИКАТОРАprogrammirovanie-lego-mindstorms-ev3-urok-6

 

jenya-komarov

Автор видео урока

Евгений Комаров

 1:01 Установка и обзор интерфейса графической среды разработчика LEGO MINDSTORMS EV3

 

programmirovanie-lego-lЗагрузите и установите графическую среду разработчика LEGO  Mindstorms Education (LME) EV3 (Система 
Графического Программирования для LEGO Учитель/Ученик) устанавливать дополнительно программы блоков 
датчиков для Education версии LME не требуется.
  Внимательно прочтите Cправку LEGO® MINDSTORMS® EV3 и смело отвечайте на вопросы викторины!

 

Cправкa LEGO® MINDSTORMS® EV3

Содержание

Главная Общая информация Первые шаги Программы Свойства проекта Подключение к EV3 Страница аппаратных средств Выбор портов Шины данных Типы данных Редактор контента Режим учителя Файлы управления Горячие клавиши EV3 Поддерживаемый текст Организация последовательного опроса Печать
lego-vopros Контрольные вопросы:
1.1  Проверьте свои знания!  1:01 Установка и обзор интерфейса графической среды разработчика LEGO MINDSTORMS EV3

ОБЗОР ИНТЕРФЕЙСА ПРОГРАММЫ

lego-vopros Начнем викторину?

Вопрос:

Твой ответ:

Правильный ответ:

Следующий

Ты получил: {{SCORE_CORRECT}} из возможных: {{SCORE_TOTAL}}

Пересдача Викторины

Твой ответ:

 

08 07 2016      ADMP       ПОКА НЕТ КОММЕНТАРИЕВ

Программирование в Lego Mindstorms EV3. Урок #1: Установка и обзор интерфейса…  ЧИТАТЬ ДАЛЕЕ »

 

07 07 2016      ADMP       ПОКА НЕТ КОММЕНТАРИЕВ

Программирование в Lego Mindstorms EV3. Урок #2: Малый…  ЧИТАТЬ ДАЛЕЕ »

06 07 2016      ADMPПОКА НЕТ КОММЕНТАРИЕВ

ЧИТАТЬ ДАЛЕЕ »

05 07 2016      ADMP       ПОКА НЕТ КОММЕНТАРИЕВ

Принцип работы с блоком программирования – Экран. Режимы, вводы. Примеры алгоритма.  ЧИТАТЬ ДАЛЕЕ »

03 07 2016      ADMP       ПОКА НЕТ КОММЕНТАРИЕВ

Принцип работы с блоками программирования – Звук и Индикатор. Режимы, вводы. Примеры алгоритмов.  ЧИТАТЬ ДАЛЕЕ »

альтернативных языков программирования для LEGO MINDSTORMS - LEGO Engineering

MakeCode (EV3)

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

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

MakeCode (EV3)
Microsoft MakeCode - это онлайн-платформа для программирования, которая может управлять EV3 и другими устройствами, такими как Cue и BBC micro: bit. Возможность использовать MakeCode на различных устройствах может сделать его привлекательным вариантом. MakeCode использует блочное (например, Scratch) или JavaScript (текстовое) программирование.

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

EV3Python (EV3)
EV3Python помогает пользователям, знакомым с программированием на Python, использовать этот язык для управления роботом EV3. Это делается с помощью кода Microsoft Visual Studio.

RobotC (EV3, NXT, RCX)
RobotC - это язык программирования на основе C с полностью интегрированным программным отладчиком, который поддерживает ряд различных аппаратных платформ.Доступна обширная документация и онлайн-поддержка. Для получения дополнительной информации посетите: http://www.robotc.net/.

Scratch (EV3, NXT)
Scratch - очень популярная среда визуального программирования. Было создано несколько расширений для поддержки NXT и EV3. Для получения дополнительной информации о Scratch см .: https://scratch.mit.edu/ Scratch 3.0 находится в разработке и должен быть доступен в 2019 году с постоянной поддержкой EV3. Скретч также можно использовать с LEGO WeDo (см. Очистка LEGO WeDo) и WeDo 2.0. Подробнее об использовании Scratch с WeDo см. По адресу: https://scratch.mit.edu/wedo.

EV3dev (EV3)
EV3dev на самом деле не язык программирования, а операционная система на основе Debian Linux, которая может работать практически со всеми языками, которые могут работать в любом другом дистрибутиве Linux, включая C ++, Node.js и Python. Для получения дополнительной информации см. Http://www.ev3dev.org/.

leJOS (EV3, NXT, RCX)
LeJOS (произносится как испанское слово «lejos» для «далеко») - это крошечная виртуальная машина Java, поддерживающая Java.Для получения дополнительной информации см. Http://www.lejos.org/ev3.php.

OpenRoberta (EV3, NXT)
Open Roberta - это бесплатная облачная платформа с функцией перетаскивания мышью для программирования роботов LEGO EV3 и NXT. Для получения дополнительной информации см .: Open Roberta: A Review.

EV3 Basic (EV3)
EV3 Basic - текстовый язык программирования. Для получения дополнительной информации см .: Введение в EV3 Basic.

Enchanting (NXT)
Enchanting - это среда программирования для NXT, построенная на Scratch.Для получения дополнительной информации см .: http://enchanting.robotclub.ab.ca/.

CoderZ (EV3)
CoderZ - это трехмерная смоделированная робототехническая среда с использованием виртуальных роботов, похожих на робота EV3. Программирование может выполняться с использованием языков программирования Blockly или Java. Преимущество состоит в том, что учащиеся могут создавать код дома, расширяя свое обучение в школе. CoderZ является коммерческим продуктом и предлагает 14-дневную бесплатную пробную версию.

LabVIEW (EV3, NXT)
LabVIEW для LEGO MINDSTORMS (LVLM) и LabVIEW for Education (LV4E) - это среды визуального программирования.Программное обеспечение EV3 было создано в LabVIEW, поэтому LVLM представляет собой отличный следующий шаг для студентов, которые знакомы с этим языком программирования и готовы к чему-то более мощному и универсальному. Просмотрите все сообщения LabVIEW на этом сайте.

ROBOLAB (NXT, RCX)
ROBOLAB - это язык визуального программирования, встроенный в LabVIEW, разработанный Tufts CEEO. ROBOLAB был доминирующим языком программирования для образовательной робототехники LEGO до выпуска программного обеспечения NXT. Он устарел, и для его использования необходимы старые компьютеры и операционные системы.Просмотрите все сообщения ROBOLAB на этом сайте.

Есть и другие языки. Попробуйте эту страницу Википедии, чтобы получить более длинный список.

Следующие две вкладки изменяют содержимое ниже.

Уэйн Бернетт, редактор D., канадский отец двух мальчиков (оба использовали Mindstorms NXT), преподает в международной школе в Малайзии. Помимо обучения робототехнике, ИКТ и информационной грамотности, Уэйн недавно защитил докторскую диссертацию по использованию LEGO WeDo для обучения естествознанию.

,

Microsoft MakeCode для LEGO® MINDSTORMS® Education EV3

LEGO MINESTORMS EV3 Editor Gif

Сегодня мы невероятно счастливы анонсировать MakeCode для LEGO MINDSTORMS Education EV3! Это кульминация месяцев работы по проектированию, дизайну и пользовательскому тестированию, которую мы проделали с нашими хорошими партнерами из LEGO Education.

LEGO MINDSTORMS Education EV3 воплощает в жизнь технологии и информатику с помощью практического обучения на основе проектов с использованием знакомых кубиков LEGO. А теперь с поддержкой MakeCode учащиеся могут использовать простое блочное кодирование с перетаскиванием или программирование текста на JavaScript из браузера, чтобы вывести свое творение из лабиринта, обнаружить объекты разного цвета или превратить его в музыкальный инструмент.

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

LEGO MINESTORMS EV3 Core Set

Вот несколько интересных функций, доступных в MakeCode для LEGO MINDSTORMS Education EV3:

1.Не устанавливать

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

2. Блоки экрана из кирпича

Мы создали несколько забавных блоков для программирования экрана на кирпичике LEGO MINDSTORMS Education EV3:

  • Показать изображение - предоставляет студентам галерею изображений на выбор, которые будут отображаться на экране.
  • Show Mood - покажет изображение, установит индикаторы состояния и проиграет звук. Например, в настроении «Любовь» на экране будут отображаться сердечки, светиться зеленым светом и воспроизводиться дребезжащий звуковой эффект.

Brick screen blocks drawer

Мы также упростили отображение значений датчика и выходных данных на экране.

Brick screen showing values

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

  • Назначьте датчики и двигатели на разные порты

Port menu choices

  • Выберите, какой тип двигателя использовать (средний, большой, сдвоенный)

Motor menu selections

Motor steer picker

  • Выберите звуковой эффект (вы можете предварительно просмотреть его, наведя указатель мыши на нужный вариант)

Sound effect menu with grid of sounds

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

  • Комментарии к рабочему пространству - это как стикеры на рабочем месте.
  • Комментарии блока - связаны с конкретным блоком кода и отображаются только при нажатии на них.

Comment flyout caption

И, конечно же, комментарии сохраняются между блоками и представлениями JavaScript.

5. Интерактивный симулятор

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

EV3 simulator with motors and sensors

6. Блоки <—> JavaScript

И, конечно же, MakeCode переносит наши двойные блоки и редакторы JavaScript в платформу LEGO MINDSTORMS Education EV3. Более продвинутые студенты, которые пишут длинные и сложные программы для робототехники, теперь могут делать это на JavaScript - одном из самых популярных языков программирования в мире! Кроме того, стандартный интерфейс MakeCode Scratch Blocks уже знаком многим студентам, начинающим изучать код.

Editor view witching between blocks and JavaScript

7. Руководства и примеры

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

Side view slider with project instructions

Чтобы начать работу с MakeCode для LEGO MINDSTORMS Education EV3, вам понадобится:

  • Компьютер с USB-портом и доступом в Интернет через браузер
  • Базовый набор LEGO MINDSTORMS Education EV3, который можно приобрести в Интернете.
  • Чтобы обновить прошивку на модуле EV3 - следуйте инструкциям здесь
  • Перейти к makecode.mindstorms.com и начните опробовать некоторые из руководств!

Нам очень понравилось создавать этот редактор кода, и мы надеемся, что вам понравится создавать потрясающие программы для ваших творений LEGO MINDSTORMS Education EV3!

Удачи, создавая код для LEGO MINDSTORMS Education EV3!

Команда MakeCode

LEGO, логотип LEGO и MINDSTORMS являются товарными знаками и / или авторскими правами LEGO Group. © 2018 Группа компаний LEGO. Все права защищены.

,

Получить программирование EV3 - Microsoft Store

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

Домой

Домой

Домой

  • Домой
  • приборы
  • Программное обеспечение
.

Отправить ответ

avatar
  Подписаться  
Уведомление о