Программа для моделирования роботов nxt 2.0. Фирменные сенсоры и мотор

04.03.2019

Разбираем новейший планшет Apple iPad 2 Wi-Fi.

Это руководство является переводом статьи: http://www.ifixit.com/Teardown/iPad-2-Wi-Fi-Teardown/5071/1 .

Предупреждение

Эта статья не является руководством к действию! Вся ответственность за сбор и разбор вашего устройства лежит на вас.
Многие производители не несут гарантийных обязательств если устройство было разобрано пользователем. Если вы не хотите лишиться гарантии на вашее устройство уточните условия гарантийных обязательств в документации или у производителя устройства.

Используемые инструменты

Наконец-то!!! Плашет iPad снова в руках команды iFixit! И на этот раз в его названии присутствует цифра «2», т.е. это модель iPad 2!

Долгожданный iPad 2 призвать восполнить недостатки модели первого поколения iPad.

Технические характеристики:

Сравним планшеты Apple по толщине. По сравнению с предыдущей версией, нельзя не заменить скошенные края корпуса iPad 2.

Подозреваем, что в новой версии планшета фронтальная панель держится не на защелках, а приклеена а-ля iPod Touch 4th Gen.

Из-за новой формы корпуса iPad наверняка станут обзывать «большим айподом».

Фирма Apple подытожила изменения планшета шестью краткими фразами: «Тоньше. Легче. Быстрее. Видеозвонки FaceTime. Обложка Smart Cover. 10 часов работы от аккумулятора».

Оригинальный iPad тоже работает от аккумулятора 10 часов, но если учесть, что устройство стало тоньше, легче и быстрее, это впечатляет.

У iPad 2 новый номер модели: A1395. Спасибо, Apple! Так гораздо лучше, чем 100500 раз выпускать разные версии MacBook Pro под одним номером A1286.
Номер iPad 2 уж явно не перепутаешь с 1337, номером первой версии iPad.

С обратной стороны iPad 2 в левом нижнем углу расположена решетка динамика. Мы не фанаты моно-звука, но со стерео придется подождать до выхода iPad 3.

Итак, давайте без промедления приступим к разборке iPad 2!

Похоже, что, в отличие от оригинального iPad, здесь нам не снять лицевую панель без помощи термофена.

Хорошенько прогрев панель, чтобы размягчить клейкую основу, мы принимаемся поддевать панель пластиковым инструментом для вскрытия корпусов.

И вот панель отделилась! Никаких защелок, сплошной клей.

Как ни тяжко нам было возиться с защелками оригинального iPad, с клеем возни еще больше. Не удивляйтесь, если после вскрытия лицевой панели вам захочется ее разбить!

ЖК-дисплей держится на нескольких винтах тут и там. Не проблема – достаем отвертку.

Под дисплеем обнаруживаем аккумулятор напряжением 3,8 В и емкостью 25 Вт/ч. Это лишь чуть-чуть больше, чем 24,8 Вт/ч. оригинального iPad, так что улучшенная работа батареи связана с программным обеспечением и обновлением других компонентов устройства.

На аккумуляторе также указана емкость 6930 мАч, что вроде бы противоречит упомянутым 25 Вт/ч при напряжении 3,8 В ((25 Вт/3,8 В)*1000=6579 мАч), однако 3,8 В – это номинальное напряжение, а не среднее. Среднее напряжение аккумулятора в течение времени разряда ближе к 3,6 В, что приводит к более точной формуле ((25 Вт/3,6 ВV)*1000=6944 мАч).

Отсоединив кабель, можно снять дисплей iPad 2.

Отсоединяем шлейф сенсорной панели от разъема на материнской плате. Ну какое устройство Apple сможет обойтись без технологии Multi-Touch? Как же без этого.

Отсоединяем кабель дочерней платы камеры / регулировки громкости от разъема на материнской плате.

Затем мы отсоединяем шлейф для подключения док-станции от разъема на материнской плате.

После этого открепляем разъем динамика.

Выкручиваем винты крепления материнской платы к корпусу при помощи крестовой отвертки.

После этого материнская плата снимается без труда.

Снимаем электромагнитные щиты и рассматриваем интегральные схемы на материнской плате:

  • Микроконтроллер сенсорной панели Broadcom BCM5973KFBGH (обведен красным)
  • Емкостный контроллер сенсорной панели Broadcom BCM5974 CKFBGH (обведен оранжевым)

То же самое, что и в оригинальном iPad – тут ничего нового!

Интересно, что под одним из электромагнитных щитов к системной плате прикреплена плата Wi-Fi. Она легко извлекается из разъема.

Плата Wi-Fi; под управлением другого чипа Broadcom, BCM43291HKUBC. Этот комбо-чип Wi-Fi/Bluetooth/FM-тюнер фирмы Broadcom стал неотъемлемой частью смартфонов – на редкость удачное конструктивное решение.

Именно эту деталь Apple установила и в первом iPad, и в iPhone 4.

Чипы на системной плате:

  • Двухъядерный процессор Apple A5 с тактовой частотой 1 ГГц и 512 Мб оперативной памяти Samsung (обведен красным).
  • NAND-флеш память Toshiba TH58NVG7D2FLA89 16 Гб (обведена оранжевым).
  • Apple 343S0542 — судя по окружающим чип индукторам и конденсаторам, это похоже на контроллер питания Dialog Semiconductor, установленный в прошлогоднем iPad (обведен желтым).
  • Линейный драйвер сенсорной панели Texas Instruments CD3240B0 11AZ4JT G1, работающий с указанными выше чипами Broadcom BCM5973 и BCM5974 (обведен синим).
  • Интегральная схема управления питанием S6T2MLC N33C50V (обведена бирюзовым).

Выпуск процессора A5 датируется концом января – серединой февраля 2011 года. С его выпуском явно очень торопились. Похоже, что процессор A5 – это APL0498, сменивший A4/APL0398, установленный в iPad 1 и iPhone.

Чип с маркировкой Apple 338S0940 A0BZ1101 SGP. Это похоже на аудиокодек Cirrus, который наши коллеги с сайта Chipworks обнаружили в Verizon iPhone, но чтобы в этом удостовериться, им пришлось снять чип с материнской платы.

А вот так выглядит материнская плата с обратной стороны.

Именно так. Совершенно пусто, так что идем дальше!

Извлекаем из задней части корпуса литий-полимерный аккумулятор.

Чтобы обеспечить 10 часов работы от батареи, в iPad 2 она собрана из трех больших литий-ионных аккумуляторов.

Выкручиваем винт крепления к корпусу кнопки регулировки громкости.

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

Снимаем плату с кнопкой регулировки громкости и поворота экрана.

На этой маленькой плате расположились гироскоп AGD8 2103 и акселерометр LIS331DLH, оба производства STMicroelectronics.

Выкручиваем винт крепления модуля фронтальной камеры к корпусу, поддеваем модуль, чтобы отклеить, и снимаем.

1 Января. Раннее Утро. Мой 9 летний сын обнаружил под ёлкой подарок от Деда Мороза. Это оказалась огромная коробка с Lego Mindstorms NXT 2.0.

Распаковка
Размер коробки, как и качество исполнения на высоте. Первое время хочется просто рассматривать коробку. Откидная крышка показывает комплектацию набора и элементы программного обеспечения.

Итак, что мы имеем в коробке:

  • NXT программируемый блок (дальше просто кирпич) - ядро всей системы
  • 4x сенсора:
    • Ультразвуковой сенсор - позволяет роботу измерять расстояние до объекта и реагировать на движение
    • Два сенсора нажатия – позволяют роботу реагировать на прикосновения
    • Сенсор цвета – самый интересный сенсор, включает в себя сразу три функции: Умеет определять 6 цветов цвет - Белый, Черный, Желтый, Красный, Зеленый и Голубой, интенсивность освещения и быть лампой подсветки
  • 3x Интерактивных сервомотора – помимо обеспечения движения, они могут быть использованы как датчики, обеспечивая определение угла поворота колеса.
  • USB кабель для подключения кирпича к компьютеру
  • 7x соединительных кабелей
  • Инструкция
  • Диск с программным обеспечением для Windows и Mac OS
  • Тестовое поле для калибровки сенсоров и тестирования вашего детища
  • 613 различных Lego деталей

Это уже вторая версия набора Mindstorms. И он немного вырос по сравнению со своей первой версии. Добавились детали, появился новый датчик - Сенсор Цвета.

Кирпич может проигрывать заранее записанные звуки и отображать на своем экране подготовленные картинки и текст.

Интересная особенность кирпича это встроенный bluetooth, который можно использовать как для связи с другим кирпичом, так и для управления роботом с помочью телефона. В сети без проблем нашел софт для простых телефонов, Windows Mobile и Android.

Открыв коробку, понимаешь, что набор содержит много мелких деталей. А хранить их в коробке не очень удобно. Пригодился предыдущий опыт с лего. В использование пошла новая пластиковая коробка и пластиковые пакеты на молнии. Хоть коробка и хороша, но функционально ее больше не использовать.

Вот он какой великий и ужасный кирпич.

Инструкция в комплекте на английском языке, но в стиле Лего, все интуитивно понятно и просто. Бумажная инструкция дает пояснения по установке и настройке, заодно позволяет собрать базовый (тестовый) модуль. Остальные схемы доступны через программу Lego Mindstorm NXT.

Инструкцию на русском языке легко найти в сети, например .

Для работы кирпича потребуется 6 пальчиковых батареек AA. Рекомендую запастись аккумуляторами и зарядным устройством. Поискав, на сайте лего, был найден стандартный аккумулятор 54.95$ + блок питания 24.99$.

По мне так дороговато.

К стандартному программному обеспечению NXT-G тоже вопросов нет, все просто работает.

NXT-G это графическая среда программирования разработанная National Instruments для LEGO. Написание NXT-G программ очень похоже на создание блок-схем. Вы «пишете» программу путем перетаскивания блоков, которые описывают различные поведения, например, поворот двигателя. С использованием различных блоков, вы можете контролировать двигатели, определять расстояние до объекта или изменение цвета, а так же воспроизвести звук и выполнить код в зависимости от состояния датчиков и т.д.

Вы пишите программу, подключаете робота (кирпич) к компьютеру, заливаете программу, переносите робота на тестовый полигон и смотрите, как ваше детище начинает исследовать мир.

NXT-G предназначена для детей и взрослых, которые не имеют опыта программирования и по этой причине, она очень проста в использовании. Понятно, что возможности данной программы ограничены, но свои начальные задачи она решает превосходно. В интернете было обнаружено множество сторонних сред, которые позволяют писать непосредственно код. Постараюсь сделать обзор в скором времени.

Дальше пошло все по инструкции по маслу сборка моделей, обкатка программного обеспечения. Благодаря пошаговой инструкции Лего, сын все выполняет сам, я лишь изредка подглядываю и подсказываю правильное направление.

Что же дальше?
Сын собирает модель. Затем мы на тестовом полигоне тестируем различные варианты программ, например на скорость прохождение робота вдоль линии. Так что ближайшие несколько месяцев есть чем заняться. Главное подкидывать задачки.

Для себя скачал книгу “Extreme NXT”, которая дает массу идей по использованию кирпича и инструкцию по созданию и подключению новых датчиков. Так что самое интересное еще впереди.

Ну и на последок Monster Chess - очень большие шахматы с использованием LEGO MINDSTORMS для каждой шахматной фигуры.

Аннотация: Проводится поверхностный обзор робототехнического комплекса, включающего конструктор Lego Mindstorms NXT 2.0 и среду программирования NXT-G. Цель: познакомиться с основными компонентами конструктора Lego Mindstorms NXT 2.0, интерфейсом среды NXT-G и научиться создавать простейшую программу "Hello, world!".

Введение

Изучение робототехники сегодня начинается уже со школьной скамьи. Однако не всем школам так повезло, и тому есть ряд объективных причин. Во-первых, стоимость одного робототехнического комплекса (здесь и далее имеется в виду Lego Mindstorms NXT 2.0) превышает стоимость средней компьютерной системы. Во-вторых, руководить занятиями робототехники должен высококвалифицированный педагог, одинаково хорошо разбирающийся и в техническом конструировании, и в микроэлектронике, и в программировании. Подготовка таких специалистов-педагогов сегодня только начинается. Ну и в-третьих, русскоязычные учебники, вышедшие из печати на сегодняшний день, можно пересчитать, по -видимому, на пальцах одной руки.

Настоящее пособие было подготовлено по результатам работы со студентами, получающими специальность учителя информатики. Авторы ставили перед собой задачу дать начальные понятия программирования роботов Lego Mindstorms NXT 2.0 на языке NXT-G. Кроме того, отдельные главы пособия были использованы на курсах по повышению квалификации и переподготовке учителей информатики на кафедре информатики и методики преподавания информатики Оренбургского государственного педагогического университета.

Не так давно появилась более новая версия робототехнического комплекса LegoMindstorms EV3. Однако имеющийся в российских школах и центрах технического творчества парк роботов Mindstorms NXT 2.0 так велик, что было бы неправильным сбрасывать его со счетов.

Программирование сегодня уже не так привлекательно для школьников как 15-20 лет назад. Это замечают многие школьные и вузовские преподаватели информатики. Нужны новые средства для мотивации учеников в этой области. По нашему мнению, робототехника сегодня как раз и является таким средством. Поэтому в пособии упор делается на алгоритмической составляющей робототехники.

Обращаем внимание студентов на то - и это очень важно! - что при работе с пособием следует не только выполнять задания, но и обязательно набирать и проверять задачи из примеров. Это поможет лучше понять язык и особенности программирования роботов.

Мы рассматриваем программирование роботов в англоязычной версии среды NXT-G, так как она распространяется свободно.

Идеи многих заданий были почерпнуты в [ , , ], авторам которых мы выражаем глубокую признательность.

Состав конструктора Lego Mindstorms NXT 2.0. Технология NXT

В этом разделе приводятся краткие сведения о составе конструктора Lego Mindstorms NXT 2.0 и NXT-технологии, основанные на руководстве пользователя, входящем в комплект 8547. Если у Вас имеется указанное руководство, и Вы уже ознакомились с ним, то можно сразу перейти к разделу 1.2.

NXT является интеллектуальным, управляемым компьютером роботом на базе элементов LEGO и системы MINDSTORMS.

Система MINDSTORMS получила своё название благодаря книге Сеймура Пейперта "Переворот в сознании: Дети, компьютеры и плодотворные идеи", в которой автор анализирует способы формирования мышления детей и роль компьютеров в этом процессе.

Основа конструктора Lego Mindstorms NXT 2.0 - программируемый блок NXT (его ещё называют "кирпичом"), интерактивные сервомоторы и несколько датчиков. В состав комплекта 8547 входят:

  • два датчика нажатия - кнопки;
  • датчик цвета - RGB-датчик, позволяющий роботу различать цвета и измерять яркость окружающего света;
  • ультразвуковой датчик - "глаза" робота, позволяющие ему измерять расстояние до объекта.

В образовательной версии конструктора имеется также датчик звука, который измеряет уровень громкости звука, а вместо RGB-датчика присутствует датчик освещённости. Существуют и другие датчики, которые выпускаются отдельно от комплекта, например, для измерения температуры, pH среды, гироскопический датчик, компас и др.

Все датчики и моторы подсоединяются к NXT-блоку через порты входа и выхода посредством чёрных шестипроводных кабелей. Сенсоры подключаются к входным портам под номерами 1 - 4, а моторы - к выходным портам, имеющим на блоке NXT названия A, B, C.

  • Порт 1: Датчик касания
  • Порт 2: Датчик касания
  • Порт 3: Датчик цвета
  • Порт 4: Ультразвуковой сенсор
  • Порт A: Мотор для дополнительных функций
  • Порт B: Мотор для движения
  • Порт C: Мотор для движения

В нашем учебном курсе мы придерживаемся этих рекомендаций. На самом деле можно подключать сенсоры в произвольные порты. Соблюдать стандартные порты обязательно при работе с меню Try Me (см. ниже).

Блок NXT работает от шести батарей типа AA. В образовательную версию набора входит аккумуляторная батарея.

Работа с меню NXT происходит при помощи четырёх кнопок (Рис. 1.1):

  • Серые треугольники - кнопки "вперёд" (вправо) и "назад" (влево) - позволяют перемещаться внутри меню до нужного пункта;
  • Оранжевый квадрат соответствует клавише ввода; она же используется для включения робота;
  • Тёмно-серый прямоугольник - "отмена" или переход назад к предыдущему пункту. Эта же кнопка используется для выключения робота. Для выключения NXT нажимайте кнопку до тех пор, пока на экране не появится надпись Turn off? , после чего для подтверждения выключения нажмите оранжевую кнопку. Также можно нажать и удерживать тёмно-серую кнопку до полного выключения NXT.

Задание 1.1. Научитесь включать и выключать свой NXT. Попробуйте выключить NXT двумя способами, описанными выше.

Вся информация на дисплее NXT отображается на английском языке. При включении экран NXT выглядит как на Рис. 1.3 :

Если NXT работает нормально, то иконка рабочего состояния крутится. Если вращение иконки прекратилось, значит NXT завис и требует перезагрузки.

По умолчанию роботу присвоено имя NXT . Имя можно изменить. Как это сделать см. в п. 1.2.

Задание 1.2. Включите NXT. Изучите информацию, которая отображается на экране NXT. Перемещайтесь по главному меню NXT при помощи стрелок. Выключите NXT.

Рассмотрим структуру меню NXT.

  • My Files (Мои Файлы). Здесь хранятся все файлы NXT.
    • Software files (Файлы программ). Здесь хранятся скомпилированные файлы программ, загруженных пользователем. Отсюда происходит запуск программ на выполнение.
    • NXT files (Файлы NXT). Служебные файлы NXT.
    • Sound files (Звуковые файлы). Здесь содержатся различные звуковые файлы, как встроенные, так и записанные пользователем. Вы можете записать собственные звуки, чтобы затем использовать их в программах.
    • Datalog files (Файлы данных). Содержит данные, собранные NXT при помощи меню NXT Datalog. Данные можно считывать во время работы программы или передавать по Bluetooth другим устройствам.
  • NXT Program (Программа NXT). Этот раздел позволяет программировать NXT прямо на блоке, без помощи компьютера. Можно создавать короткие программы из не более чем пяти команд. Подходит для начального знакомства с возможностями NXT. Однако сколько-нибудь сложные задачи здесь не решаются.
  • NXT Datalog (Данные NXT). Получает, отображает на экране и записывает данные с внешних устройств (датчиков) в файлы, которые затем хранятся в меню Datalog files.
  • View (Обзор). Позволяет отображать на экране данные, полученные с внешних устройств. Но, в отличие от NXT Datalog, не записывает эти данные в файлы. Может использоваться для тестирования и калибровки датчиков.
  • Bluetooth. Позволяет создать канал беспроводной связи между NXT и другими устройствами с поддержкой Bluetooth. Служит для загрузки программ без помощи USB-кабеля, обмена программами с другими NXT, дистанционного управления другими NXT (не более трёх) или управления NXT при помощи других устройств, например, с телефона.
  • Settings (Настройки). Настройка различных параметров блока NXT.
    • Volume (Громкость). Устанавливает громкость динамиков.
    • Sleep (Сон). Настраивает параметры автоматического отключения при простое.
    • NXT Version. Позволяет узнать текущие версии программных и аппаратных средств.
    • Delete files (Удаление файлов). Служит для удаления файлов. Будьте осторожны: удаляет все файлы из выбранного каталога!
  • Try Me (Попробуй). Подключив датчики и моторы к соответствующим портам, можно выполнить несколько готовых программ и познакомиться с возможностями конструктора.

Пример 1.1. Настроим NXT так, чтобы он автоматически выключался через две минуты простоя. Для этого выберем из главного меню Settings\Sleep . Затем при помощи стрелок выбираем нужное значение (текущее значение отображается на экране) и нажимаем на ввод (оранжевая кнопка). Если теперь не работать с NXT в течении двух минут, то он выключится сам. Обратите внимание на вариант Never (Никогда): в этом режиме NXT не будет выключен, пока Вы сами этого не сделаете. Но это может привести к более быстрому разряду батарей.

Пример 1.2. Попробуем проиграть звуковые файлы на блоке NXT. Главное меню\My Files\Sound files\Good Job . В окне отображается имя выбранного файла и варианты работы с ним, которые можно пролистать при помощи стрелок:

  • Run - запустить выбранный файл на выполнение (иконка рабочего состояния). Если выбрать этот вариант, звуковой файл будет воспроизведён. В процессе работы файла на экран будет выведено сообщение Running , а по завершению - Done .
  • Delete - удалить выбранный файл (иконка корзины). Если выбрать этот вариант, появится предупреждающее сообщение Are you sure? (Вы уверены?). Вариант по умолчанию - иконка в форме креста (Нет). В случае, если выбранный файл всё же нужно удалить, то при помощи стрелки следует выбрать иконку с галочкой (Да).
  • Send - переслать (иконка письма). Для того, чтобы переслать файл другим устройствам, следует вначале настроить канал связи Bluetooth.

Задание 1.3. Установите максимальную громкость динамиков. Проверьте громкость, проиграв произвольный звуковой файл NXT. Установите комфортную для себя громкость.

Задание 1.4. Изучите различные варианты автоотключения NXT. Установите таймер автоотключения на 10 минут.

Задание 1.5. Протестируйте датчики касания, ультразвука, мотор при помощи меню Try Me (не забудьте про стандартные порты подключения сенсоров).

Работу с другими пунктами меню будем рассматривать по мере необходимости.

Mindstorms NXT - это официальное программное решение от крупнейшего датского производителя конструктора - компании LEGO. Данная программа предоставляет возможность программирования отдельных модулей и для роботов одноименной серии. В первую очередь ПО создано для того, чтобы обучить детей основам программирования и робототехники. Процесс написания инструкций здесь максимально облегчен, а для начала работы с Mindstorms NXT не требуется никаких специальных знаний.

Общая концепция

Разработчики называют данную программу средой пиктографической разработки. Говоря простыми словами, составление инструкция для роботов здесь происходит при помощи визуальных компонентов, которым требуется задать нужные параметры и объединить в одну сеть (просто перетащить в нужные места на рабочем экране). Каждый из таких вот модулей-пиктограмм отвечает за работу определенного модуля, который вы использовали при создании робота. Допустим, вы добавили двигатель, отвечающий за передвижение робота. Включив в цепь соответствующую пиктограмму, можно выбрать для двигателя количество оборотов, используемые мощности, а также компоненты, с которыми он будет взаимодействовать.

Для того, чтобы разобраться во всех тонкостях работы с Mindstorms NXT, можно пройти несколько обучающих уроков. Также у программы есть подробная документация, которая доступна, в том числе, на русском языке (как и само ПО).

Дополнительная информация

Как вы уже могли понять из данного обзора, программа будет полезная только тем, кто является обладателем робота соответствующей серии LEGO. Обратите внимание, что для конструкторов EV3 существует "собственная" программа - . По сути, она обладает тем же функционалом, что и Mindstorms NXT. Более того, оба решения имеют практически идентичную графическую оболочку.

Ключевые особенности

  • позволяет писать инструкции для роботов LEGO
  • обучает основам программирования и робототехники;
  • предлагает очень удобную рабочую среду, которая полностью переведена на русский;
  • дает возможность наблюдать за выполнением инструкций в режиме реального времени;
  • предлагает пройти несколько уроков при первом запуске.

Конструкторы Lego одноимённой датской компании прекрасно известны во всех странах. Их мировая слава и популярность не вызывает сомнений, однако, национальные отличия этой популярности, конечно, имеются.

Обзор робота Lego Mindstorms NXT 2.0: Терминатор из конструктора

Не секрет, что в Северной Америке существует настоящий культ Lego. Конструкции из пупырчатых кубиков постоянно становятся новостным поводом на сайтах посвященных науке и технике, а среди авторов этих конструкций вы редко когда встретите имена детей или подростков – а всё больше людей взрослых, увлечённых инженеров, программистов, архитекторов… Из деталей конструктора Lego делают модели космических кораблей, известных по популярным кинофильмам, дома и автомобили в натуральную величину, различного рода электронные устройства со сложным программированием и использованием сенсоров…

Lego - не только кубики с креплениями

В России, в отличие от Америки, конструктор Lego по-прежнему воспринимается как детская забава – по крайней мере, большинством. Типичный образ датской игрушки у нас – это либо скромного вида коробочка с парой десятков деталей, либо огромные тематические аттракционы, которые представляются этаким архитектурным феноменом, а не полем для конструкционного творчества.

При должном усердии из Lego можно собрать настоящий компьютер

Меж тем, Lego – конструктор с действительно великими творческими возможностями. Она основаны на двух главных принципах. Во-первых, все детали во всех наборах (кроме детской серии Lego Duplo) совместимы между собой. Во-вторых, под брэндом Lego выпущен огромное количество разнообразных наборов.

На все вкусы

За 60 с лишним лет работы компания Lego выпустила больше сотни различных наборов. Все их можно условно разделить на несколько групп.

Во-первых, это «составные» тематические конструкторы, выпуск которых длится уже много лет. К ним относятся такие наборы, как Town, Space или Castle.

Во-вторых, это тематические конструкторы с определённой идеей. К таким наборам можно отнести Sports, Friends, Fabuland…

Мечтать о джипе можно начать с покупки Lego

В-третьих, это конструкторы, темы которых лицензированы у популярных на момент выхода набора произведений масскульта: книг, комиксов, фильмов, анимационных лент. К этой группе относятся наборы Star Wars, Batman, Harry Potter…

Наконец, в-четвёртых, существует группа «творческих» конструкторов. Они посвящены различным темам, общее в которых – достаточная реалистичность и сложность явления. К таким наборам можно отнести Creator и Architecture, а также Technic – конструктор, позволяющий создавать различные машины и механизмы, использующие моторы.

К «творческим» конструкторам Lego стоит отнести и формально «тематический» набор Mindstorms – наиболее сложное, интересное и разнообразное по возможностям творение Lego.

Персональный робот - норма в XXI веке

История набора Mindstorms началась в 1998 году, когда в ассортименте конструкторов Lego появилась первая его версия. Она стала закономерным итогом сотрудничества компании Lego и компании MIT Media Lab по созданию универсального программируемого блока-процессора, который стал основой для конструктора. Потенциал набора был настолько огромен, что на протяжении десяти лет он оставался актуальной творческой площадкой различных конструкторских экспериментов. В 2008 году вышла вторая версия набора Mindstorms – NXT. А в 2009 – третья: Mindstorms NXT 2.0.

Ничего сложного

Конструктор Lego Mindstorms NXT 2.0 – это набор для создания роботов. Под роботом мы понимаем конструкцию, выполняющую ряд действий в соответствии с заранее написанной программой. Программа может быть как простой, состоящей из ряда последовательностей, так и сложной – имеющей несколько вариантов, которые запускаются в зависимости от наличия внешних факторов.

Всё это разнообразие обеспечивается набором стандартизированных деталей Lego, которые в Mindstorms NXT 2.0 можно разделить на четыре группы.

Коробка с набором Mindstorms NXT 2.0

Во-первых, это детали для сборки конструкции: приводные ремешки, гусеницы, шестерёнки, колёса, балки, кронштейны…

Во-вторых, это электронно-управляемые серводвигатели. В наборе их три штуки. Их вращающиеся головки имеют максимальную скорость 170 оборотов в минуту, а точность равна одному градусу.

В-третьих, разнообразные сенсоры, которые позволяют созданным роботам интерактивно реагировать на изменения условий внешней среды.

Наконец, в четвёртых, это блок-процессор Mindstorms NXT, который представляет собой функцию центра координации всех остальных составляющих конструкции.

Давайте теперь рассмотрим элементы каждой из групп конструктора подробнее.

Вокруг компьютера

В базовый набор Mindstorms NXT 2.0 входит более 600 деталей для сборки конструкции робота. Как уже было сказано, это шестерёнки и втулки, пластиковые балки различного размера, крепления, кронштейны, колёса, фиксаторы, пластины и так далее. Все они принципиально совместимы с деталями из других конструкторов Lego и могут использоваться совместно. Кроме того, в продаже имеются дополнительные наборы деталей – предназначенные для сборки особо сложных роботов.

Визуальный перечень деталей

Блок-процессор Mindstorms NXT позволяет подключить к себе три электродвигателя – именно столько их и входит в поставку конструктора. Двигатель Mindstorms NXT 2.0 – это сборное устройство, состоящее из оснащённого редукторами двигателя с датчиком угловых перемещений. В конструкции двигателя имеются ступицы колеса с отверстием под ось. Как уже было сказано выше, угловой датчик мотора имеет точность в 1 градус, а максимальная скорость вращения двигателя составляет 170 оборотов в минуту.

Фирменные сенсоры и мотор

Интеллектуальное поведение роботов, построенных с помощью конструктора Mindstorms NXT 2.0, обеспечивается сенсорами, входящими в состав набора и так же, как и моторы, подключаемыми к блокe-процессору. В базовый набор конструктора Mindstorms NXT 2.0 входят четыре сенсора – ровно столько, сколько позволяют подключить к блоку-процессору его порты ввода. Среди этих сенсоров два датчика нажатия, один ультразвуковой датчик для замера расстояний и дистанционного обнаружения препятствий и один датчик света (может быть использован как элемент подсветки). Кроме базовых сенсоров к набору Mindstorms NXT 2.0 также выпускаются датчики звука (микрофон с интерфейсом, совместимым с блок-процессором Mindstorms NXT. Наконец, по лицензии Lego дополнительные сенсоры выпускают компании Mindsensors и HiTechnic. Среди их продукции можно найти видеокамеры, таймеры, компасы, датчики давления, инфракрасные датчики, датчики ускорения (от 2 до 5 плоскостей), датчики наклона и гироскопы.

Небольшая часть сенсоров, производимых Mindsensors

Блок-процессор Mindstorms NXT, идущий в поставке конструктора Mindstorms NXT 2.0 в единичном экземпляре, представляет собой специализированный микрокомпьютер, основанный на двух микроконтроллерах с флэш-памятью. Его габариты составляют 14,5 на 9,6 и на 6,1 сантиметр, а масса (без батареек и аккумуляторов) равно 235 граммам. На корпусе блока-процессора выделяются четыре кнопки управления и монохромный жидкокристаллический дисплей с разрешением 100 на 60 точек. Задняя сторона блока представляет собой крышку батарейного отсека для установки 6 элементов питания размера AA. Верхнюю и нижнюю грань корпуса занимают порты ввода и вывода для подключения сенсоров и электромоторов. Также на корпусе имеется порт USB 2.0 для подключения устройства к компьютеру. Более универсальный тип подключения предоставляет встроенный адаптер Bluetooth, с помощью которого Mindstorms NXT может взаимодействовать с блоками других наборов Mindstorms NXT 2.0, с ноутбуками, планшетными компьютерами и смартфонами. Наконец, в корпусе Mindstorms NXT нашлось место и для динамика, позволяющего воспроизводить звуки с качеством в 8 бит и 16 килогерц.

Блок-процессор Mindstorms NXT

Как уже было сказано, вычислительной основой Mindstorms NXT являются два микроконтроллера. Оба они произведены компанией Atmel. Первый из них - AT91SAM7S256 – использует 32-битный процессор ARM7TDMI с частотой ядра 48 мегагерц. Микроконтроллер имеет 64 килобайта ПЗУ и использует в качестве ОЗУ Flash-память объёмом 256 килобайт.

Второй микроконтроллер ATmega48 на 8-битном AVR-процессоре с частотой 8 мегагерц. Объём его ПЗУ составляет 512 байт, а ОЗУ – 4 килобайта. Как и в случае с AT91SAM7S256, речь идёт о Flash-памяти.

Чистое творчество

Несмотря на всю свою впечатляющую техническую базу, конструктор Mindstorms NXT 2.0, возможно, не приобрёл бы столь огромную популярность, если бы не два обстоятельства.

Первое – это фактическое существование блока-процессора Mindstorms NXT в статусе Open Source. Lego давно открыла всю схемотехнику устройства, не забыв выложить в открытый доступ код фирменных прошивок. Любому желающему сейчас доступны Software Developer Kit, Hardware Developer Kit (HDK) и Bluetooth Developer Kit. Последний документирует и описывает протоколы обмена информации через встроенный адаптер Bluetooth.

С графической средой программирования NXT-G разберётся каждый

Второе обстоятельство – это богатый выбор языков программирования и инструментария для программирования Mindstorms NXT.

Основным языком программирования для Mindstorms NXT являются код RСX. Кроме того, Lego официально поддерживает пакеты графической разработки NXT-G и Robolab. Все остальные варианты считаются «сторонними».

Среди них есть языки, подобные Java, C, Visual Basic, Ada, Forth… Инструментарий для работы с ним широко представлен в сети и совместим со всеми современными операционными системами: Windows, MacOS и Unix.

Но слишком сложные программы в ней не нарисовать

Фактически, при должном уровне знаний и фантазии программные среды, совместимые с Mindstorms NXT вкупе с набором Mindstorms NXT 2.0 способны стать достаточной основой для реализации проекта любой сложности. Не даром же этот конструктор Lego стал базой для обучения программированию и конструированию во многих учебных заведениях мира. Он же – конструктор Mindstorms NXT 2.0 официально разрешён для использования в соревновании роботов World Robot Olympiad. Чтобы не быть голословными, в заключительной части материала мы рассмотрим несколько примеров удивительных конструкторских решений, созданных с помощью Mindstorms NXT 2.0.

Праздник начинается!

Хотя традиционным началом знакомства с конструктором Mindstorms NXT 2.0 становится сборка какого-нибудь интеллектуально-управляемого трактора или человекоподобного робота (первое – из-за наличия в деталях колёс, второе – по ассоциации с самими словом «робот»), некоторые умудряются быть достаточно оригинальными. В таком случае многие (в основном, конечно, взрослые владельцы набора) собирают робот-конвейер по открытию бутылок. Это могут быть пластиковые полуторалитровые фляжки или пивные бутылки американского образца (с винтовой крышкой) – главное, чтобы модуль-открывашка конвейера мог зацепиться за пробку по окружности и произвести вращательное движение.

Собираем вместе

Как уже было сказано в статье, блок-процессор весьма охотно соединяется со многими электронными устройствами через порт USB. Вариантов использования данной возможности масса: синхронизация действий с другими роботами Mindstorms NXT 2.0, управление роботом со смартфона как с дистанционного управления, создание сложных комплексов, где основную вычислительную задачу решает не блок-процессор, а устройство с большей мощностью. Последнее показалось актуальным группе конструкторов, объединивших робота-сборщика Mindstorms NXT 2.0 и смартфон Nokia N95 для решения задачи по сборке профессиональной (4 на 4 на 4) версии кубика Рубика.

Распределение заданий было таково: Nokia N95 с помощью своей фотокамеры фотографирует все грани кубика (который любезно переворачивается роботом сборщиком), анализирует получившуюся развёртку и формирует алгоритм сборки. По этому алгоритму создаётся алгоритм для блока-процессора Mindstorms NXT, который, в свою очередь, руководит механизмом робота сборщика. Среднее время сборки кубика в итоге составляет около получаса.

Проверка интеллекта

Впрочем, будем откровенны и скажем, что реальной вычислительной мощности блока-процессора Mindstorms NXT хватает и без сторонней помощи смартфонов для любых интеллектуальных задач. Группа конструктора Ханса Андерссона смогла это продемонстрировать с помощью решения их роботом традиционной японской головоломки судоку.

Важно отметить, что робот всё делал сам: анализировал таблицы судоку, решал их, составлял алгоритм движения и вписывал в пустые клеточки недостающие цифры.

Устройство предоставлено компанией re:Store.