Программирование с помощью LEGO: как дети осваивают код, играя с роботами
Разбираем наборы конструктора, от которых сложно отказаться даже взрослым.
Ещё 20 лет назад обучение программированию выглядело скучно: чёрный экран, строки кода и минимум графики. Увлечь этим ребёнка трудно, потому что нет понятного и интересного результата. В 2007 году появился Scratch — визуальный язык программирования для детей, который позволял создавать игры и анимации, просто соединяя цветные блоки. Вокруг него быстро появилось большое комьюнити из учащихся, родителей и педагогов.
Следующим шагом в развитии обучения детей работе с кодом стали физические наборы LEGO и других конструкторов. С их помощью можно не просто писать инструкции для компьютера, а оживлять собранные своими руками модели. Например, заставить робота двигаться, реагировать на команды и даже говорить.
В этой статье расскажем о популярных наборах LEGO, которые помогут освоить программирование детям разного возраста, и разберёмся в их специфике. Если же стандартных вариантов будет недостаточно — в финальной части статьи мы собрали подборку сторонних проектов, расширяющих возможности конструктора.
Содержание
Как LEGO помогает учиться программировать
Как научить детей программированию? Первое, что приходит в голову: посадить их за компьютер, рассказать теорию, и пусть они пишут код. Но такой вариант, скорее всего, не подойдёт: детей надо увлечь и заинтересовать процессом. Сделать это можно с помощью специальных наборов LEGO.
Они позволяют не просто собрать модель по инструкции, а заставить её двигаться и выполнять команды с помощью алгоритмов, которые дети сами пишут в специальных средах для разработки («младшие братья» обычных IDE). При этом ребёнок сразу видит результат, и процесс воспринимается как игра, ведь в итоге получаются роботы, поезда и другие модели.
Такой подход к обучению называют STEM. Это междисциплинарный метод, когда ребёнок одновременно осваивает несколько дисциплин: естественные науки (Science), технологии (Technology), инженерию (Engineering) и математику (Mathematics). И именно STEM лежит в основе обучения с наборами LEGO.
Сборка таких конструкторов помогает детям развивать инженерное мышление и осваивать базовые навыки программирования — циклы, условия, работа с событиями и другие — в процессе игры.
Основные принципы программирования в LEGO
У LEGO есть наборы для обучения программированию, рассчитанные на разный уровень подготовки и возраст ребёнка: в одних порядок действий задаётся выбором физических деталей конструктора, например по цвету, в других — придётся написать код на Python. Разберём основные варианты — от простых до сложных.
Физическое кодирование на основе сигналов (для детей дошкольного возраста)
Поддерживаемые наборы: LEGO Education Coding Express
Физическое кодирование не требует компьютера, так как дети работают только с элементами конструктора. Например, они задают команды, выбирая специальные детали, а устройство из набора считывает эти сигналы. Такой подход используется в наборе Coding Express из серии LEGO Education.
Это конструктор для сбора железной дороги, по которой едет поезд. Физическое кодирование в Coding Express происходит за счёт манипуляций с разноцветными деталями, которые ребёнок вставляет в железнодорожные пути. У каждого блока есть свой цвет, за которым закреплена отдельная команда:
- красный — остановка;
- жёлтый — гудок;
- зелёный — изменение направления движения и так далее.
Поезд движется по путям и реагирует на команды за счёт встроенного сенсора, распознающего цвет деталей. И, выстраивая определённую последовательность блоков, ребёнок программирует маршрут движения и действия железнодорожного состава.

Если вы выбрали конструктор Coding Express, попробуйте установить приложение «Экспресс „Юный программист“» от LEGO Education для устройств на iOS и Android. В нём доступны наборы сценариев игр и вопросы, которые можно обсудить с ребёнком для обучения, например: «Что будет, если изменить порядок деталей?» Кроме того, в приложении есть раздел с анимациями героев конструктора, вовлекающими детей в процесс игры.
Набор Coding Express помогает дошкольникам понять базовые концепции, которые встречаются в программировании, такие как:
- Операторы ветвления «если…, то…» (если использовать жёлтый блок, то паровоз издаст гудок в определённом месте) и циклы (при сборке кольцевой дороги с повторяющимися событиями).
- Процесс отладки — если поезд не выполняет желаемое действие, ребёнок учится находить причину ошибки. Например, подбирать правильный по цвету блок.
После Coding Express дети готовы переходить к конструкторам LEGO, основанным на блочном программировании.
Блочное программирование (6–12 лет)
Поддерживаемые наборы: LEGO Education WeDO 2.0; LEGO Education Spike Essential; LEGO Boost
Блочное программирование основано на визуальном подходе: ребёнок составляет последовательности из цветных блоков, каждый из которых имеет свои функции в конструкторе — управление светом, регулировка скорости мотора и так далее.
Последовательность действий задаётся в специальном приложении от LEGO для планшетов или ПК, которое различается у отдельных наборов. В каждом конструкторе есть хаб (иногда его называют смарт хаб) — устройство с Bluetooth, которое воспроизводит запрограммированные команды.
После того как последовательность действий запрограммирована, необходимо подключить хаб к устройству и нажать кнопку запуска в приложении. Если всё сделано правильно, то программа запустится и модель выполнит заданные действия. Например, собранное колесо обозрения начнёт вращаться с выбранной скоростью.
Блочное программирование в LEGO Education Spike Essential
Программирование действий для моделей в LEGO Education Spike Essential происходит в приложении Spike для ПК и планшетов. Поддерживается Windows, macOS, Chromebook, iOS (iPad) и Android.
В ПО есть подробные инструкции по сборке разных вариантов Spike Essential — от роботов и транспорта до аттракционов. Чтобы разобраться с основами программирования с помощью блоков, ребёнок может выбрать раздел «Курсы» с 38 пошаговыми уроками, объединённых в несколько сюжетов.

Скриншот: LEGO Education Spike / Skillbox Media
Использовать только готовые модели необязательно — можно создать свою. Для этого потребуется перейти в раздел Новый проект и выбрать один из двух режимов: Блоки иконок или Текстовые блоки. Оба они представлены в виде интерфейса среды Blockly от Google, переработанной под специфику LEGO. Блоки команд соединяются между собой с помощью пазов.
В режиме Блоки иконок на каждом элементе есть изображение, иллюстрирующее команду. Это удобно для детей 6-7 лет, которые пока не могут уверенно читать. Если потребуется подробное объяснение — на блок можно нажать правой кнопки мыши для его появления. Последовательность действий выстраивается слева направо.

Скриншот: LEGO Education Spike / Skillbox Media
Режим Текстовые блоки также использует блоки, но в другой реализации. Вместо изображений — описания команд, поля для ввода числовых значений и кнопки с отдельными параметрами. Последовательность действий строится сверху вниз.

Скриншот: LEGO Education Spike / Skillbox Media
Основное отличие режима Текстовые блоки от Блоков иконок в расширенном списке команд и настроек, которые подойдут для создания сложных циклов действий. А параметрическая система позволяет точнее настроить поведение модели: скорость вращения мотора, градусы поворота, заданное время для выполнения действий и так далее.
Работая с текстовыми блоками, ребёнок осваивает переменные, условия «если…, то…» и другие операции, которые используются в обычных языках программирования. Конструкторы с блочным подходом к управлению моделей можно считать переходной стадией к работе с кодом.
Гибридное программирование с использованием блоков и Python (9–15 лет)
Поддерживаемые наборы: LEGO Education Spike Prime; LEGO Mindstorms EV3 Education; LEGO Mindstorms Robot Inventor 51515
Подход объединяет методы блочного программирования и написания кода на Python. Первый создан по принципу текстовых блоков, которые мы разбирали выше. Второй режим представлен в виде простой среды разработки, где можно писать текстовый код на MicroPython. Это упрощённая версия языка Python, разработанная специально для микроконтроллеров.
Как и в случае с блочным программированием, оба подхода доступны в ПО для конструктора: уже знакомом Spike (при запуске необходимо выбрать модель Spike Prime) или приложении Mindstorms для набора Robot Inventor.
Примечание. В приложении EV3 Classroom для набора LEGO Mindstorms EV3 Education доступен только режим блочного программирования. Чтобы подключить поддержку Python, потребуется специальная прошивка и редактор Visual Studio Code. Есть и другие способы работать с EV3, о них мы расскажем чуть ниже.
Гибридное программирование в LEGO Mindstorms Robot Inventor 51515
Конструктор Robot Inventor — это набор деталей для сборки пяти основных вариаций моделей. Каждая из них подходит для обучения определённым принципам программирования и механики.
- Бласт — робот, созданный по подобию человека. Умеет стрелять, махать рукой, говорить и реагировать на прикосновения. Подходит для изучения последовательных сценариев и событий.
- Гело — механизм на четырёх конечностях, который может выполнять различные действия — например, поднимать задние «лапы». Программирование движений помогает понять принципы работы циклов и управления синхронными моторами, которые входят в комплект сборки.
- MVP — многофункциональная сборка различных видов транспорта, от подъёмного крана до турели. Обучает программированию циклов, работе с датчиком расстояния, а также написанию разветвлённых условий, при которых робот выполняет те или иные действия в зависимости от ситуации. К примеру, если сенсор зафиксирует препятствие на заданном расстоянии — робот изменит направление.
- Чарли — бот-помощник с сенсорами, который умеет приветствовать, поворачиваться и танцевать. Обучает программировать цепочки событий и функции ввода — вывода: например, использовать подсветку и звуковые эффекты для выражения различных эмоций.
- Трики — можно собрать модель для боулинга, баскетбола, рисования и других хобби. Модель помогает освоить работу с точной настройкой сложных движений.
В приложении LEGO Mindstorms в разделе Сообщество можно найти вариации моделей на базе сборки Robot Inventor — от робота-собачки до устройства, совмещающего в себе принтер и сканер (процесс «печати» выполняется с помощью установленного маркера).

Скриншот: LEGO Mindstorms / Skillbox Media
После сборки желаемой модели хаб конструктора подключается к ПК или планшету с помощью Bluetooth или USB-кабеля. Теперь можно создать проект в режиме блочного программирования или Python.
При блочном программировании пользователю доступно десять категорий разноцветных блоков, выполняющих различные функции. Например, синий ответственен за работу моторов, сиреневый — за вывод звука, жёлтый — за программируемые события и так далее.
Также есть категории для создания блоков с индивидуальными настройками и параметрами: операторы с вводом значений (зелёный цвет), переменные (оранжевый цвет) и Мои блоки (красный цвет) — поле с кастомными блоками, в которые можно добавить значения, в том числе булевы, и метки-обозначения для удобства.

Скриншот: LEGO Mindstorms / Skillbox Media
Блочное программирование схоже с аналогичными текстовыми блоками в приложении Spike, которое мы разбирали раньше. Создав программу, её можно перенести на устройство кнопкой запуска в правом нижнем углу.

Скриншот: LEGO Mindstorms / Skillbox Media
Содержимое блоков в Robot Inventor состоит не только из числовых значений и стандартных параметров вроде поворота по часовой или против часовой стрелки. Например, можно добавить уникальную ноту для исходящего звука или нарисовать собственную анимацию в мини-редакторе в формате 5×5 пикселей для отображения на LED-дисплее.
Текстовая среда Python — второй режим программирования в Robot Inventor. Для знакомства ребёнка с языком программирования в среду встроен подробный справочник, где можно узнать список основных функций, понять принципы работы с кодом и найти их примеры для разных действий: как подключить один из моторов, как работать с датчиками, как задавать переменные, циклы и так далее. Код из окна можно копировать напрямую в редактор, изменять значения и запускать программу, чтобы посмотреть, как изменилось поведение робота.

Скриншот: LEGO Mindstorms / Skillbox Media
Кроме того, в разделе уроков по сборке и программированию роботов можно найти дополнительные задания повышенной сложности.

Скриншот: LEGO Mindstorms / Skillbox Media
В сообществе любителей LEGO немало энтузиастов, которые выпускают собственные обучающие материалы по работе с наборами. Например, родителям и детям доступен подробный справочник по работе с Python с описанием основ языка программирования (правила синтаксиса, классы, команды, математические функции и так далее) в сочетании с примерами команд для Robot Inventor.
Гибридный метод программирования позволяет детям перейти от простых инструкций в виде комбинаций блоков к написанию кода. Программирование на Python расширяет возможности конструктора, а значит, дети смогут создавать интересных и сложных роботов, вовлекаясь в обучение. И в будущем, если ребёнок захочет перейти к «настоящему» программированию, он уже будет знать основы работы с Python.

Читайте также:
Как расширить возможности наборов LEGO
Когда ребёнок долгое время работает с наборами LEGO, он может столкнуться с их ограничениями:
- Количество доступных функций и возможных настроек моторов ограничено.
- Отсутствует поддержка сторонних устройств — например, не получится подключить к хабу дополнительные модули в виде камеры или устройства распознавания голоса.
- Отсутствует возможность управлять самим хабом, то есть контролировать его обращения к системным таймерам, точно настраивать задержки в совершении действий, сочетать паузы с определёнными условиями и так далее. Все эти манипуляции важны в сложных моделях, когда требуется точная синхронизация отдельных элементов конструктора. Особенно актуально это в тех случаях, когда ребёнок решает участвовать в различных челленджах и соревнованиях в области робототехники.
- После снятия наборов с производства официальное ПО от LEGO перестаёт обновляться, а затем и вовсе становится недоступным. Обычно производитель указывает дату окончания поддержки на сайте. Например, поддержка ПО Mindstorms Education EV3 прекратится 31 июля 2026 года.
Избежать этих ограничений можно с помощью неофициальных сред для программирования LEGO. Рассмотрим самые популярные варианты.
Scratch для LEGO (8–16 лет)
Поддерживаемые наборы: LEGO Education WeDo 2.0, LEGO Boost, LEGO Education Spike Prime
Визуальная среда блочного программирования для детей, изначально разработанная MIT Media Lab — подразделением Массачусетского технологического института. Инструмент ориентирован не только на расширение возможностей конструкторов LEGO, но и на создание интерактивных проектов, включая игры и анимации.
В основе блочных режимов программирования лежит технология Scratch, аналогичная официальному ПО LEGO (WeDo 2.0, Boost, серия Spike). Тем не менее Scratch расширяет возможности конструкторов. Вот несколько преимуществ в её использовании, помимо расширенных возможностей редактора блоков:
- Анимация в редакторе может повторять действия модели в реальной жизни, что удобно для проверки запрограммированных действий.
- Поддержка дополнительных устройств, включая Arduino и micro: bit через отдельные расширения. В результате можно создавать сложные проекты, где устройства от разных платформ скоординированы друг с другом. Например, робот LEGO может реагировать на сигналы Arduino и выполнять задачи с учётом дополнительной информации от его датчиков.
- Scratch собрала большое сообщество энтузиастов. На официальном сайте можно общаться с другими участниками, изучать их проекты и делиться своими.
Scratch доступна в виде веб-сайта и приложения для Windows, macOS, ChromeOS и Android. Для работы с LEGO необходимо установить расширение для конкретного набора.

Скриншот: Scratch / Scratch Foundation / Skillbox Media
Список всех расширений открывается нажатием на кнопку Добавить расширение, которая находится в левом нижнем углу редактора. Чтобы среда распознала подключённое устройство, необходимо установить Scratch Link. Как только все условия будут выполнены, в редакторе появятся блоки кода для программирования роботов LEGO.

Кадры: Scratch Coding Class / YouTube
MakeCode (11–15 лет)
Поддерживаемые наборы: LEGO Mindstorms Education EV3
Бесплатная онлайн-среда от Microsoft с режимами блоков и текстовым программированием на JavaScript. Не требует установки клиента и работает через браузер на всех устройствах и платформах, где доступно подключение через USB и интернет-соединение. Для работы написанных программ на устройстве требуется прошивка EV3 не ниже версии 1.10E.
В MakeCode процесс сборки блоков происходит наглядно: заданные команды визуализируются на эмуляторе в приложении, запрограммированные звуки воспроизводятся, а неподходящие для цепей блоки сразу видно — они остаются полупрозрачными. Это облегчает освоение приложения.
MakeCode не требует создания отдельных проектов на JavaScript. При выборе текстового режима ранее созданные блоки автоматически конвертируются в код и обратно. Чтобы облегчить обучение, на главной странице находятся уроки по программированию с интерактивными заданиями и видео.

Скриншот: MakeCode / Microsoft / Skillbox Media

Скриншот: MakeCode / Microsoft / Skillbox Media
Чтобы перенести написанную программу на модель конструктора, требуется нажать кнопку Download. Хаб должен быть подключён к ПК через USB-соединение.
MakeCode подойдёт для детей, которые уже освоили простые блочные среды и хотят перейти к текстовому программированию с наглядным процессом. Среда от Microsoft успешно справляется с этой задачей за счёт взаимосвязи визуальных блоков и кода. И стоит отметить использование JavaScript — одного из самых распространённых и востребованных языков в веб-разработке.

Читайте также:
Pybricks (10–16 лет)
Поддерживаемые наборы: серии с современными смарт хабами — LEGO Spike, LEGO Boost, LEGO Technic, LEGO City, LEGO Mindstorms
Проект с открытым исходным кодом, созданный энтузиастами сообщества LEGO. Это среда блочного и текстового программирования на MicroPython, позволяющая расширить возможности наборов. Например, с Pybricks можно улучшить навигацию робота, заставить механизм балансировать на подвижных предметах или даже подключить его к геймпаду Xbox. По ссылке можно ознакомиться с подборкой видео от пользователей.
Примечание. Ребёнок работает с Pybricks в браузере, а передача данных на хаб идёт только через Bluetooth. Поэтому использовать iPad и iPhone не получится, так как браузеры Safari, Chrome и Firefox на iOS не поддерживают Bluetooth-соединение.
Перед работой с Pybricks хаб LEGO надо прошить. Для этого перейдите на веб-сайт, нажмите на значок шестерёнки, выберите Install Pybricks Firmware и следуйте инструкциям.
Для написания кода в верхнем левом углу веб-страницы создайте новую программу (знак +), выберите режим программирования и тип хаба. После этого запустится окно, где можно писать код. В правом нижнем углу (символ книги) доступны справочные материалы по основным командам MicroPython.
Режим блочного программирования открывается за дополнительную плату — после подписки на Patreon или покупки пожизненной лицензии за 59 долларов.
Если по какой-то причине необходимо вернуться к заводским настройкам, в разделе Restore Official LEGO Firmware можно сделать откат.

Скриншот: Pybricks / Skillbox Media
RobotC (12–17 лет)
Поддерживаемые наборы: LEGO Mindstorms EV3 Education; LEGO Mindstorms NXT
Язык программирования RobotC создан на основе C, и его синтаксис близок к C++ и Python. Помимо некоторых моделей LEGO, он поддерживает и другие платформы, которые можно использовать в робототехнике, например VEX и Arduino.
Для программирования моделей LEGO потребуется скачать софт в соответствующей вкладке сайта. Поддерживается только Windows 7–10.
Важное отличие RobotC в работе с моделями LEGO от вариантов с Python в том, что он компилирует код в машинные команды, которые хаб выполняет моментально, не интерпретируя их построчно. В итоге робот реагирует быстрее, а его действия становятся точнее.
С помощью RobotC можно управлять моторами, сенсорами и другими модулями конструктора напрямую, поэтому он более близок к низкоуровневым языкам программирования, которые управляют аппаратным обеспечением компьютера (материнская плата, видеокарта и другое).
Среда RobotC распространяется по лицензии. Годовой тариф на одно место обойдётся в 49 долларов, а пожизненная лицензия — в 79 долларов.
Отдельно можно приобрести специальное приложение Robot Virtual Worlds. В этой программе доступно создание симуляции с виртуальными моделями LEGO и тестирование на них написанных программ, без взаимодействия с конструктором в реальной жизни.
Программирование на RobotC нередко преподают в инженерных кружках для старшеклассников, так как этот подход знакомит подростков с реальным синтаксисом, максимально схожим с С, который лежит в основе актуальных языков программирования. Кроме того, учащиеся могут на практике понять, как код работает на уровне аппаратного обеспечения.

Скриншот: RobotC / Skillbox Media
Итог
Наборы LEGO — отличная возможность научить ребёнка программированию через игру, постепенно повышая уровень сложности от вариантов с физическим кодированием до написания кода. Большое количество доступных моделей, неофициальные прошивки, которые расширяют возможности, регулярные челленджи и соревнования способствуют этому.
Как выбрать набор LEGO:
- Если ребёнку меньше семи лет, то подойдёт Education Coding Express, работающий с помощью физического кодирования. Для работы с ним не потребуется смартфон, ПК или другие гаджеты.
- Если ребёнку от шести до 12 лет и он ничего не знает про программирование, то можно выбрать Education WeDO 2.0, Education Spike Essential или Boost. Они работают на основе блоков и позволяют освоить базовые навыки без написания кода.
- Если ребёнку от девяти лет и вы хотите, чтобы он освоил реальные языки программирования, то выбирайте Education Spike Prime, Mindstorms EV3 Education или Mindstorms Robot Inventor 51515. Они поддерживают работу с блоками и код, написанный на MicroPython — упрощённом варианте Python.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!