«Ты что, впадаешь в детство?» — спросил меня прилетевший на выходные родственник с Урала, увидев надпись LEGO на коробке. Но уже через час он, бывший инженер-конструктор горных машин завода «Уралтрансмаш», вместе со мной увлеченно собирал из деталей набора первую гусеничную машину: так «Популярная механика» решила опровергнуть мнение о том, что конструкторы LEGO — это детские игрушки

Сейф, открываемый штрих-кодовой картой

На самом деле LEGO, конечно, выпускает игрушки самой разной степени сложности. Нас же заинтересовал конструктор, предназначенный для детей от 12 лет (без верхнего предела возраста) — Robotics Invention System 2.0 серии Mindstorm. Этот конструктор, состоящий в базовом наборе из 718 деталей, двух электромоторов, двух тактильных, одного оптического датчика и контроллера, отличается от всех остальных «сборных машинок» тем, что позволяет не просто собрать какой-либо работающий механизм, но и запрограммировать его на вполне самостоятельные действия.

Форма и содержание

Хотя молнии на коробке, обвивающие название, и наводят на мысль о высоком напряжении, на самом деле для питания конструктора будет достаточно шести батареек размера AA. Батарейки в комплект не входят (об этом честно написано на коробке), и это, пожалуй, единственный мелкий недостаток комплектации.

Что же входит в набор? Открываем коробку и видим несколько прозрачных пакетов, в которых лежат: планки, оси, уголки, шестерни, плоские элементы, шарниры, рейки, шкивы, ремни, катки для гусениц и колесные диски, сами разнокалиберные колеса, гусеницы, соединительные провода, электромоторы, датчики, а также масса всяких декоративных элементов. Самая главная часть конструктора — компьютерный контроллер RCX (Robotics Command System) с тремя входами для датчиков и тремя выходами для исполнительных устройств (двигателей), он программируется с помощью ИК-порта LEGO IR Tower, подключаемого к USB-интерфейсу. Еще в комплект входит краткая (очень краткая!) бумажная инструкция, CD с программным обеспечением и большой белый лист с нарисованными овальными контурами. По этому листу, как по полигону, удобно гонять запрограммированные машины, оснащенные оптическим датчиком.

Программирование

Программное обеспечение RIS 2.0 произвело на нас самое благоприятное впечатление. Далеко не всякий учебник по программированию сможет лучше объяснить ребенку (да и взрослым тоже) суть алгоритмического мышления.

Язык, на котором пишутся программы для RCX, — «визуальный»: программу можно составить, просто перетаскивая команды или целые блоки команд. Это огромный плюс — такая система облегчает понимание того, что должна делать программа, а в случае ошибки позволяет быстро обнаружить ее и устранить. Самым ленивым RIS предлагает примеры программ для многих механизмов. «Разбирая» программы, можно понять логику их работы, а это еще один способ обучения.

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

Законы роботехники

«Мозг пришелся точно по форме черепной полости лежавшего на столе робота. Его прикрыла пластина из голубого металла. Пластину накрепко приварили маленьким атомным пламенем. Потом были аккуратно подключены и прочно ввернуты в свои гнезда фотоэлектрические глаза, поверх которых легли тонкие прозрачные листы пластика, по прочности не уступавшего стали. Теперь оставалось только вдохнуть в робота жизнь мощным высоковольтным разрядом»… — так описывает Айзек Азимов сборку робота в своем рассказе «Логика» из цикла «Я, робот». Сборка робота из LEGO RIS 2.0 похожа на эту процедуру: собирается механизм, в него вставляется «мозг» — контроллер RCX. Оживляется наш робот, конечно, не высоковольтным разрядом, а передачей прошивки через ИК-порт с компьютера. Для этого нужно запастись терпением — прошивка занимает несколько минут (в дальнейшем передача любой программы проходит намного быстрее).

В кратком руководстве к конструктору описываются лишь базовые навыки и сборка основных механизмов. Производитель рекомендует начать именно с этого. Первым роботом, которого мы собрали из конструктора, стала танкетка на гусеницах (главный редактор «ПМ» очень любит различные гусеничные машины). Она была оснащена оптическим датчиком и могла следовать нарисованному на белой бумаге контуру. Это очень простая машинка — ее можно собрать и запрограммировать всего за 30 минут, да и в бумажном руководстве подробно расписан каждый шаг. Вторым механизмом стала платформа на колесах, умеющая ездить по столу, не падая «за борт» — она оснащена подвижными бамперами и, доехав до края стола, дает задний ход. Наконец, более-менее освоив основные операции, мы решили приступить к сборке одного из сложных роботов. Выбор остановили на электронном сейфе, открывающемся при считывании правильного штрих-кода.

Сейф

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

Наш сейф состоит из трех основных частей. Первая часть — это ящик. Вторая — считывающий механизм. Третья — исполнительные механизмы. Их два — для открывания дверцы и выдвижения ящика, причем последний имеет обратную связь в виде тактильного датчика (попросту говоря, кнопки). Эта кнопка предоставляет контроллеру RCX данные о том, открыт ли ящик (в закрытом состоянии она нажата). Считывающий механизм и тактильный датчик подключаются к входам контроллера RCX, а два электромотора — к выходам.

После сборки сейфа приступаем к программированию. Это непростая задача, но, к счастью, в программном обеспечении есть уже готовая программа «сейфа», которую мы и взяли за основу. Логика работы ее проста: программа с помощью фотодатчика считает черные полосы на нарисованной фломастером карточке. При совпадении количества полосок с заданным выдается команда открыть дверь и выдвинуть ящик. При повторном считывании карточки программа закрывает «сейф». Вот и все!

Конечно, ребенку, которому папа купит конструктор LEGO Robotics Invention System 2.0, можно только позавидовать. Но все же, скорее всего, первые несколько вечеров гордый отец будет собирать его сам (возможно, вместе с коллегами)…

Благодарим российское представительство компании LEGO за предоставленный конструктор.

Статья «» опубликована в журнале «Популярная механика» (№2, Февраль 2005).