Программирование сродни магическим пассами шаманов, взывающих к духам и просящих их выполнить разнообразные пожелания. Те, кто постиг таинство машинного кода, обладает поистине безграничными возможностями в современном мире. К сожалению, сам процесс обучения и написания программ не так красочен, как это принято показывать в фильмах. Увы, язык сухих цифр абсолютно не интересен, например, детям, да и многим взрослым… Что же, постараюсь вас переубедить вместе с новым жильцом нашей квартиры – забавным mBot-ом.
Попытки заинтересовать детей программированием не новы: LEGO, например, выпускает наборы серии Mindstorms, работающие под управлением созданных пользователем программ. Интересный проект, имеющий существенные для меня недостатки: стоимость превышает все мыслимые пределы; конструкции не отличаются надёжностью из-за мягкого пластика; интерфейс программирования слишком «детский», не позволяющий писать настоящий код, и так далее…
Так как дочка в данный момент изучает информатику и будет сдавать по ней экзамен, то подобный наглядный обучающий материал пришёлся бы как нельзя кстати. Что же, самое время обратить свой взор на Восток…
Makeblock - открытая платформа, разработанная в Шэньчжэнь (Китай), одноимённая компания выпускает наборы, из которых можно смастерить разнообразные механизмы. Комплекты Makeblock совместимы с элементами LEGO Mindstorms, что позволяет комбинировать конструкторы. Примечательно, что детали Makeblock изготовлены из покрашенного анодированного алюминия, выдерживающего нагрузку до 60 килограмм!
После изучения готовых наборов (вы можете купить модули и детали отдельно, но выйдет дороже), я остановил свой выбор на базовой модели Makeblock Mbot V1.1. Сразу отмечу отличия v.1.1 от v.1.0: в комплекте идёт пластиковый кейс для LiPo аккумулятора, наличие пластикового защитного кожуха на плате управления, опорное колесо имеет новый дизайн. Стоимость - 94$,
продавец попался общительный и порядочный (рекомендую), так что буквально через месяц увесистая посылка была у меня в руках…
К моему искреннему удивлению, коробка с откидной магнитной крышкой соответствовала «мировым стандартам»: можете смело дарить её искушённым друзьям, им даже в голову не придёт, что конструктор изготовлен в Китае.
Сердце робота – микрокомпьютер на Arduino, имеющий четыре разъёма RJ11 для подключения периферийных устройств и два коннектора для двигателей. Программируется плата через стандартное USB-подключение, либо посредством беспроводной связи. Плата защищена полупрозрачным кожухом, который крепится на двух защёлках.
Робот собирается на металлическом шасси, которые являются произведением искусства: идеальная покраска, идеально вымеренные и обработанные отверстия, идеально симметричная форма.
В отдельном пакетике находится ремкомплект для передаточных шестерёнок двигателя, а также качественная универсальная отвёртка со сменным жалом: с одной стороны - стандартный phillips, с обратной – robertson.
Управлять роботом можно посредством инфракрасного пульта, батарейку к которому необходимо докупить отдельно (используется элемент CR2025). Также это устройство используется в уроках по программированию (подробнее читайте в конце статьи).
Робот разъезжает на пластиковых колёсах с мягкими резиновыми шинами. Зубья по радиусу – дань универсальности, позволяющей вместо покрышек использовать гусеницы. Два мотора посредством шестерёночной передачи производят вращательное движение, колёса прикручиваются к осям с помощью двух саморезов. «Телефонные» провода RJ11 позволяют присоединять дополнительные модули.
Питание модели происходит либо от LiPo аккумулятора, располагающегося в прозрачном кейсе, либо от четырёх полутора вольтовых батареек типа AА. Рекомендую выбрать модель с батарейками, так как вместо них можно использовать стандартные аккумуляторы – обойдётся дешевле и универсальнее («пальчиковые» аккумуляторы можно использовать и для других устройств). Тем более, что LiPo можно докупить позже, вместе с дополнительными модулями.
Глаза робота - ультразвуковой дальномер Me-Ultrasonic Sensor V3.0, при виде которого сразу же приходит на ум небезызвестный робот Wally. Также в комплекте присутствует очень полезный датчик «края стола», оберегающий механизм от падений, а также позволяющий роботу придерживаться линии, начерченной на полу (в комплекте идёт огромный лист бумаги с изображённым на ней треком в виде «восьмёрки»).
При заказе существует возможность выбрать беспроводной интерфейс коммуникации: двух диапазонный Bluetooth, либо модуль 2.4G с донглом. Первый вариант предпочтителен для дома, второй подойдёт для учебных аудиторий.
Опорное колесо выполнено в виде скошенного ромба (первый вариант был в виде шара). Крутится «средне», слегка замедляя передвижение - на мой взгляд, требуется доработка. Россыпь крепежа и шпилек бережно расфасована по пакетикам. Справа – «липучки» с клейкой основой, предназначенные для фиксации блока батареек.
Сборку робота рекомендую проводить под чутким руководством взрослого – некоторые элементы можно «перетянуть», повредив их. Подробный буклет с картинками прилагается, правда в нём нет ни слова даже по-английски…
Модуль Bluetooth настоятельно рекомендую установить взрослому, дабы избежать повреждения штырьков. Ошибиться при фиксации невозможно – ключи не дадут этого сделать.
Защитный кожух очень полезен: во-первых, он предотвращает контакт посторонних предметов с платой, во-вторых, позволяет положить робота вверх тормашками при программировании (иначе требовался самодельный постамент).
Около 15 минут потребовалось нам с дочкой, чтобы полностью собрать шасси. Отмечу, что детали очень приятно держать в руках: пластик гладкий, металл слегка шершавый, всё соединяется просто идеально. Честно говоря, я в восторге от элементов – не ожидал от китайцев такого высокого уровня качества.
Всё готово! Изначально в память робота загружена программа, позволяющая управлять mBot с пульта, а также через Bluetooth. Нетрудно догадаться, что минут двадцать мы просто гоняли механизм по квартире. Оказалось, что буква «С» вызывает подпрограмму, при которой робот передвигается по квартире, отслеживая препятствия (по аналогии с роботом-пылесосом)…
Яркие светодиоды переливаются всеми цветами радуги, из динамика льются незамысловатые мелодии. Красиво, конечно, но… не для этого мы тебя купили.
… а затем имеем возможность управлять устройством, и отслеживать состояние датчиков. Собственно, программа заменяет инфракрасный пульт.
Интерфейс настраиваемый, позволяет вывести на экран множество ползунков и датчиков. Приложение интересно с точки зрения визуального отображения показаний модулей, а также «поиграться» с забавной машинкой.
Для продвинутых пользователей существует
программа mBlockly (только для iOS), содержащая базовый набор команд. Она позволяет создавать собственные программы без участия компьютера.
Созданные шедевры можно записывать в память планшета, а затем загружать либо в "мозги" робота по Bluetooth, либо передавать на компьютер для последующей обработки и редактирования. Полезный и практичный мобильный инструмент программиста.
Перейдём непосредственно к программированию…
С
официального сайта можно загрузить
бесплатное программное обеспечение, которое, к чести разработчиков, постоянно обновляется. Интерфейс частично на русском языке (можно даже команды отображать с переводом, чего я вам категорически не советую делать). Выберите английский язык и работайте с ним – именно на нём пишут программы, именно он понадобится при сдаче экзаменов.
Первым делом установите драйверы Adruino (они загрузятся из интернета), затем включите питание робота и подключите его по USB к компьютеру. После «поиска устройств» появится виртуальный COM-порт, по которому и будут передаваться данные. Робот «пискнет» и будет готов отрабатывать команды. Подключение можно также организовать через Bluetooth, либо посредством донгла по частоте 2.4G. (поставляется в комплекте с роботом при выборе данной опции).
А теперь - самое интересное: с чего начать, и каким образом обучать ребёнка программированию? Всё очень просто… Западные коллеги издали две книги, посвящённые mBot.
Они есть в свободном доступе на английском языке и распространяются абсолютно бесплатно. Безусловно, вы можете непосредственно перейти к Adruino (по нему огромное количество литературы), но рекомендую начать с книг The Adventures Of Mike (Приключения Майка) и mBlock kids.
Обе переведены на русский язык и также выложены в свободном доступе. Работа переводчиками проведена титаническая, но документы содержали некоторое количество «огрех» и ошибок, которые я частично исправил (пока глаза в кучу не сошлись, ибо это более 150 страниц текста)…
Книги великолепные (авторам и переводчикам мои искренние благодарности), говорю это, как человек, непосредственно занимающийся программированием. Данные буклеты рассказывают «от и до» про алгоритмы, программный код, операторы и циклы, описывают работу датчиков и дают основы анализа их показаний. И, самое главное – это примеры и практические задания, связанные непосредственно с роботом и языку программирования Scratch 2.0!
Пока мы с дочкой лишь в начале пути, нам предстоит создать множество программ, решить десятки заданий и освоить сотни команд. Я уже присматриваю дополнительные модули к роботу – судя по интересу дочери к данному виду развлечения, они могут понадобиться… Да и сам я с большим удовольствием пишу несложные блоки для странного существа, разъезжающего по квартире.
Забавная это штука – программирование…