Робот за тридцать минут
АрхивСтатьиВ России скрестили отпрыска Smalltalk и Logo с платой Arduino, любимой игрушкой самодельщиков мира. Получился конструктор, помогающий делать первые шаги в программировании, электронике и робототехнике.
Об открытом железе мы пишем нечасто. Не так давно появился замечательный повод исправить это упущение - первые партии устройств, выпущенных в рамках российского проекта ScratchDuino, поступят в школы уже в этом учебном году.
ScratchDuino выпускает входящая в группу "Мезон.Ру" компания ЗАО "ТЫРНЕТ". На сегодняшний день в серии два продукта: предназначенная для осуществления взаимодействия физической среды с программной ScratchDuino.Лаборатория и решение для обучения детей основам робототехники - ScratchDuino.Робоплатформа.
Компания "ТЫРНЕТ" прошла отбор Фонда содействия развитию малых форм предприятий в научно-технической сфере и получила государственный грант, который позволил воплотить идею в железе и довести её до стадии мелкосерийного производства. По словам генерального директора "Мезон.Ру" Павла Фролова, устройства ScratchDuino протестированы в российских школах и получили хорошие отзывы. Теперь компания готовится начать их регулярные поставки в образовательные учреждения и собирает предварительные заказы через сайт Linuxcenter.ru. Фролов также отметил высокий интерес, проявленный к ScratchDuino родителями учеников.
Продукты ScratchDuino выпускаются серийно и доступны всем желающим
ScratchDuino = Scratch + Arduino
Проект ScratchDuino был задуман как средство взаимодействия физической среды со средой Scratch - визуальной средой программирования, развивающей идеи Лого, которую разработали в Массачусетском технологическом институте (MIT). "Scrath нужен, чтобы учить детей программировать, - объясняет Павел Фролов. - С её помощью можно обучить ребёнка объектно-ориентированному программированию за полчаса".
Программы на Scratch состоят из графических блоков с текстовыми подписями. Чтобы составить программу, нужно перетащить блоки в специальное окно. Бесплатное (хотя и не совсем свободное) приложение с открытым кодом распространяется на условиях собственной лицензии и доступно для Windows, Linux и Mac OS X.
Программа на Scratch
За взаимодействие с реальным миром отвечает Arduino - набор электронных компонентов, очень популярный у "самодельщиков". "Изначально идея состояла в том, чтобы дать детям в школах поработать с Arduino, но потом мы поняли, что микроконтроллерный модуль там не выживет - его могут уронить, облить водой или положить в груду скрепок, - говорит Фролов. - Плату нужно упаковать в некую защитную среду, чтобы ребёнок её нечаянно не сломал".
Arduino в картридже - один из ключевых элементов ScratchDuino
Arduino и специальную плату расширения (так называемый shield, или шилд) для подключения внешних устройств убрали в прочный картридж из прозрачного органического стекла.
Добро пожаловать в робототехнику
Картридж с Arduino можно устанавливать в разные устройства, которым нужны компьютерные "мозги". Первой была выпущена ScratchDuino.Лаборатория, основанная на плате с открытыми спецификациями Scratchboard для среды Scratch. "Мы доделали Scratchboard так, чтобы она хорошо сочеталась с идеологией убранного в картридж модуля Arduino, и добавили туда дополнительные элементы", - рассказывает Фролов.
Плата ScratchDuino.Лаборатория также упакована в прочный корпус
Среда Scratch позволяет работать со стандартными датчиками платы ScratchDuino.Лаборатория, подключённой к компьютеру через порт USB, - встроенным микрофоном, датчиком света. Кроме того, имеется динамик (в стандартной версии Scratchboard он отсутствует), есть аудио- и видеовходы, кнопки и рычажок.
С помощью датчиков устройство получает информацию о том, что происходит вокруг. Самый простой пример - программа "Солнышко", меняющая координаты на экране в зависимости от освещённости в комнате. В другой программе можно дуть в микрофон, покручивая рычажок, и Scratch будет изображать саксофон.
Ко входам платы подключаются дополнительные датчики (влажности, температуры, сопротивления и т.д.) для создания более серьёзных программ взаимодействия Scratch с физической средой. Показатели датчиков переносятся в переменные среды разработки и нормализуются в значениях от 0 до 100.
ScratchDuino.Лаборатория с установленным в картридж модулем Arduino
ScratchDuino.Лаборатория соответствует стандартным спецификациям, и для её взаимодействия со Scratch не нужно прилагать усилия. Продукт работает со Scratch для Windows, Linux или Mac OS X. Впрочем, при желании устройство можно программировать через штатную среду разработки Arduino либо через Lazarus (IDE для Free Pascal). Из него можно сделать портативный детектор лжи, проверить с помощью датчика сопротивления, действительно ли растения радуются, когда их поливают, и т.д.
Самое главное, что всё это делается очень быстро - программы в Scratch короткие (десятки строк), объектно-ориентированные и пишутся на родном языке ребёнка. Это решает главную проблему с обучением младших школьников программированию: для освоения Scratch им не приходится запоминать англоязычные операторы. Здесь всё наглядно (создателям среды удалось решить проблемы Лого), так что дети начинают программировать практически сразу.
Павел Фролов
"Затем у нас возникла идея сделать к имеющемуся картриджу с модулем Arduino стандартную платформу для обучения детей азам робототехники, - говорит Павел Фролов. - Надо сказать, что и ScratchDuino.Лаборатория, и ScratchDuino.Робоплатформа были созданы из-за новых образовательных стандартов - взаимодействие с физическими средами детям нужно давать начиная с пятого класса школы".
Готовых средств для этого в России не выпускали, и компания "ТЫРНЕТ" их разработала. "Лаборатория" передает данные из внешнего мира в компьютер, а "Робоплатформа" решает обратную задачу, позволяя из программы воздействовать на внешний мир.
Программировать исполнителя можно через стандартную среду разработки Arduino, через Lazarus и даже через "Кумир", но проще всего это делать с помощью всё того же Scratch. Единственная проблема: в Scratch нет функций для взаимодействия с роботами, и программистам компании "ТЫРНЕТ" пришлось на его основе создать собственную открытую и бесплатную среду разработки Sduino. Программа доступна для Linux, Windows и Mac OS X. В основе решения всё тот же картридж с Arduino, но к нему добавляется двухколёсное шасси робота.
ScratchDuino.Робоплатформа
В прочный корпус из оргстекла установлена специальная плата. Кроме того, здесь есть разъём для картриджа Arduino и датчики, устанавливающиеся на магнитах без сложного монтажа. Система модульная, наборы датчиков могут быть самыми разными (контактные, световые, датчик линии, инфракрасный датчик). Нет никаких препятствий для изготовления и использования собственных датчиков.
LEGO MindstormПопулярные детские робоконструкторы серии LEGO Mindstorms были впервые представлены в 1998 году. В 2006 году вышел LEGO Mindstorms NXT, а в 2009 - LEGO Mindstorms NXT 2.0. ScratchDuino.Робоплатформа совместима с датчиками LEGO. Кроме того, сюда можно установить специальные штырьки и кубики LEGO. |
ScratchDuino.Робоплатформа программируется через порт USB, а управляется через USB или имеющийся на плате робота адаптер Bluetooth. Питание подаётся также через порт USB, но есть возможность установки на шасси аккумуляторов. Сзади находится разъём RoboBus - это шина для сопряжения с внешними устройствами, в числе прочих она поддерживает стандарт, по которому работают датчики LEGO.
Робоплатформа в действии
"Причина достаточно серьёзного успеха модуля Arduino в том, что он позволил не умеющим или не желающим паять и программировать на ассемблере людям быстро получать результат. Мы пошли дальше, развили эту концепцию до предела и сделали робота, которого ребёнок на уроке информатики в пятом классе может заставить поехать за пять минут", - говорит Павел Фролов.
Делай сам
Очень важный момент: все выпущенные в рамках проекта ScratchDuino продукты являются открытым железом (open hardware). Необходимая для их изготовления информация есть на сайте Edumandriva. Пользователям доступны не только списки необходимых элементов, принципиальные схемы и схемы разводки плат, но и раскрой лазерной резки для изготовления корпусов и тому подобная информация. "Мы надеемся, что люди будут делать эти устройства сами и как-то их улучшать, - говорит Фролов. - Сейчас и в нашей стране, и по всему миру MIT продвигает концепцию Fab Lab. Продукты ScratchDuino спроектированы таким образом, чтобы их почти полностью можно было произвести в подобной лаборатории".
Элементы робоплатформы можно печатать на 3D-принтерах
Есть и другие проекты, создающие открытые робоплатформы, но в российских продуктах упор сделан на простоту изготовления и модификации устройств - ScratchDuino можно назвать продолжателем идей Arduino. Хотя отечественный робоконструктор уступает по возможностям LEGO Mindstorms NXT, он более открытый и модульный - совершенствовать ScratchDuino можно как угодно. Никто не мешает, скажем, подключить к шилду более мощный вычислитель или создать собственного исполнителя.
"Мы ожидаем, что к проекту подключатся технические вузы и помогут сделать шагающую платформу, летающую платформу, плавающую платформу со множеством открытых датчиков, приводов и манипуляторов", - говорит руководитель "Мезон.Ру".