Подключение робота
Первое, что необходимо сделать для программирования Lego EV3 – переключить TRIKStudio в режим поддержки Lego EV3. Это делается в окне "Настройки", вкладка "Роботы":

Подключение по Bluetooth
Процедура подключения робота Lego EV3 по Bluetooth со стороны компьютера полностью аналогична подключению робота Lego NXT и подробно описана в соответствующем разделе документации для Lego NXT.
Подключение по USB
Подключите USB-провод к EV3 и к компьютеру с TRIK Studio, включите EV3. После этого можно загружать программы на робот, никаких дополнительных действий и драйверов не требуется.
Блоки Lego EV3
Специализированные блоки для Lego EV3 делятся на несколько категорий:
- Действия – блоки, выполняющие какое-либо действие на роботе: включение моторов, проигрывание звука и т.д.
- Ожидания – блоки, ждущие наступления какого-либо события: определённых показаний датчиков, нажатия на кнопку и т.д.
- Рисования на дисплее – блоки, используемые для вывода графики и текста на экран.
Действия
Название элемента | Пиктограмма | Описание |
Гудок | ![]() |
Проиграть на роботе звук с фиксированной частотой. Имеется один параметр — ждать ли завершения проигрывания звука или сразу же перейти к следующему блоку. Допустимые значения — Истина и Ложь. |
Играть звук | ![]() |
Проиграть на роботе звук с заданной частотой и длительностью. Аналогичен блоку "Гудок", но позволяет задавать параметры звука. Имеется параметр, определяющий, ждать ли завершения проигрывания звука или сразу же перейти к следующему блоку. |
Моторы вперёд | ![]() |
Включить моторы по заданным портам с заданной мощностью. Порты задаются буквами A, B, C или D, разделенными запятыми. Мощность задаётся в процентах числом от -100 до 100, если задано отрицательное значение, мотор включается в режиме реверса. Так, на картинке изображена команда включения моторов на портах B и C с мощностью 100%. Кроме того, моторы имеют разные режимы работы: режим торможения и режим скольжения (отображаемые красным или зелёным прямоугольником на блоке соответственно). Режимы влияют на то, как двигатель отрабатывает команду — режим торможения стопорит двигатель при отключении, режим скольжения позволяет двигателю прокручиваться по инерции. |
Моторы назад | ![]() |
Включить моторы в режиме реверса по заданным портам с заданной мощностью. Параметры аналогичны параметрами блока "Моторы вперёд". |
Моторы стоп | ![]() |
Выключить моторы по заданным портам. |
Сбросить показания энкодера | ![]() |
Сбросить энкодеры на указанных портах в 0. |
Светодиод | ![]() |
Включить светодиод с заданным цветом на корпусе робота. |
Ожидания
Название элемента | Пиктограмма | Описание |
Ждать сенсор касания | ![]() |
Ждать, пока не сработает датчик касания. Параметром указывается номер порта, к которому подключен датчик. Допустимые значения: 1, 2, 3, 4. |
Ждать энкодер | ![]() |
Ждать, пока количество оборотов мотора, которые вернул энкодер на заданном порту, не будет сравнимо с указанным в значении параметра "Предел оборотов". Также указывается операция, которая будет использоваться для сравнения с введенным пределом оборотов. Так, при исполнении приведенного блока выполнение программы остановится до тех пор, пока значение, возвращаемое энкодером, не будет больше 40. |
Ждать цвет | ![]() |
Ждать, пока сенсор цвета на указанном порту в режиме распознавания цветов не вернет указанный цвет. |
Ждать интенсивность цвета | ![]() |
Ждать, пока значение интенсивности, возвращаемое сенсором цвета на указанном порту в режиме измерения интенсивности, не будет сравнимо с указанным в значении параметра "Интенсивность" (интенсивность задается в процентах, от 0 до 100, меньшие значения соответствуют более тёмным цветам). Также параметром указывается операция, которая будет использоваться для сравнения с введенной интенсивностью. Так, при исполнении приведенного блока выполнение программы остановится до тех пор, пока значение, возвращаемое датчиком, не будет больше 40. |
Ждать свет | ![]() |
Ждать, пока значение интенсивности, возвращаемое датчиком света на указанном порту, не будет сравнимо с указанным в значении параметра "Проценты" (от 0 до 100, меньшие значения соответствуют тёмному, большие – светлому). Также параметром указывается операция, которая будет использоваться для сравнения с введенными процентами. Так, при исполнении приведенного блока выполнение программы остановится до тех пор, пока значение, возвращаемое датчиком, не будет больше 40. |
Ждать сенсор расстояния | ![]() |
Ждать, пока расстояние, возвращаемое ультразвуковым или инфракрасным сенсором расстояния, не будет сравнимо с указанным в значении параметра "Расстояние" (расстояние задается в сантиметрах, от 0 до 255). Еще один парамер — номер порта, к которому подключен датчик расстояния. Также параметром указывается операция, которая будет использоваться для сравнения с введенным расстоянием. Так, при исполнении приведенного блока выполнение программы остановится до тех пор, пока значение, возвращаемое датчиком, не будет больше, чем 40 см. |
Ждать нажатия кнопки | ![]() |
Ждать, пока не будет нажата указанная в качестве параметра кнопка на корпусе робота. |
Рисование на дисплее
Название элемента | Пиктограмма | Описание |
Нарисовать прямоугольник | ![]() |
Нарисовать на экране прямоугольник. В качестве параметров указываются координаты левого верхнего угла, ширина и высота прямоугольника, а также заливать его внутреннюю область или нет. |
Нарисовать точку | ![]() |
Нарисовать на экране точку в указанных координатах. |
Нарисовать линию | ![]() |
Нарисовать на экране отрезок. В качестве параметров блоку указываются концы отрезка. |
Нарисовать круг | ![]() |
Нарисовать на экране круг с заданным центром и заданным радиусом, залитый внутри или нет. |
Напечатать текст | ![]() |
Печатает заданную строку в заданном месте на экране робота. Значение свойства "Текст" по умолчанию трактуется как строка в чистом виде, оно так и будет выведено на экран. Чтобы система считала, что это выражение на текстовом языке (это может быть полезно, например, при отладке значения переменных), поставьте галочку "Вычислять" в редакторе свойств. |
Очистить экран | ![]() |
Стереть всё, что нарисовано на экране. |
Описание блоков, общих для всех конструкторов, можно посмотреть в разделе Создание программ/Создание блоков.
Сенсорные переменные
Название | Описание |
buttonBack, buttonDown, buttonEnter, buttonLeft, buttonRight, buttonUp | Состояние кнопок на корпусе робота: кнопки "Назад", "Вниз", "Ввод", "Влево", "Вправо", "Вверх" соответственно. 0 соответствует ненажатой кнопке, 1 – нажатой. |
encoderA, encoderB, encoderC, encoderD | Показания энкодеров на портах A, B, C, D соответственно. |
sensor1, sensor2, sensor3, sensor4 | Показания датчиков на портах 1, 2, 3, 4 соответственно. |
Запуск программ
Интерпретация по Bluetooth или по USB
Чтобы запустить программу на выполнение, необходимо подключиться к роботу, нажав на кнопку "Подключиться", после чего нажать кнопку "Выполнить" панели "Интерпретатор" или меню "Инструменты":

После этого интерпретатор ищет блок "Начало", с которого и начинается выполнение программы. Если такой блок на диаграмме не найден, будет выдано сообщение об ошибке. Для каждого функционального блока должна существовать ровно одна исходящая связь, по которой выполнение программы перейдет к следующему блоку. В противном случае будет выдано сообщение об ошибке.
Для того, чтобы остановить выполнение программы, нужно нажать кнопку "Прервать выполнение" панели "Интерпретатор" или меню "Инструменты".
Прошивка в робота
Загрузка программы на робот позволяет сохранить программу на роботе и исполнять её без соединения с компьютером. В отличие от Lego NXT, средства загрузки и исполнения программ TRIK Studio не требуют дополнительных манипуляций с роботом и работают со стандартной прошивкой. Первое, что нужно сделать, чтобы загрузить программу – переключиться в режим автономного исполнения по Bluetooth или USB (в зависимости от желаемого типа соединения с роботом для загрузки программы).

Далее запустить программу на исполнение очень просто: достаточно нажать на "Запустить программу".

По программе будет сгенерирован код на внутреннем языке EV3, загружен на робот и немедленно запущен на исполнение. Если требуется только загрузить программу, не запуская её, нужно воспользоваться кнопкой "Загрузить программу".

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