http://sulfurzona.ru/
News
Service
Magazine
Software (Battle City Game, Wallpaper manager, Superpad, VG-NOW, Puzzle Game, Netler Internet Browser, ..)
Wing-Thunder Game (fly simulator)
Dune Game (Dune III, Dune IV, Cheats, Forum, ..)
Games free
Turbo Pascal (Assembler, Docs, Sources, Debbugers, ..)
Books (Docs for developers)
Guest book
Компьютерная диагностика двигателя автомобиля (адаптер К-линии)Компьютерная диагностика двигателя автомобиля (адаптер К-линии)
 
 
Скачать игру Крыло-Гром (Wing-Thunder) бесплатно
 
 
 

Lego Mindstorms: Сделай робота сам

 
Жизнь пользователя довольно уныла и однообразна: оборудование и ПО покупает в магазине, осваивает и использует то, что придумано чужими заграничными дядями.
 
Lego Mindstorms: Сделай робота сам
 
А как же быть тем, кто с детства привык мастерить руками? Раньше хоть были всевозможные модели самолетов, вертолетов, танков из пластмассы. С благоговением открывал, помню коробку, а там, на первый взгляд непонятные слепки пластика, тюбик клея, и если повезет, пара наклеек с маркой модели и флагом страны. Или наборы радиоприемников, после сборки которого как-то сам становишься выше в собственных глазах.
 
Lego Mindstorms: Сделай робота сам
 
Но все это осталось в том, в 20-ом веке. Сейчас своему ребенку такого не купить, хотя радиоуправляемых моделей всевозможных машинок пруд пруди. Но все это со временем приедается из-за невозможности модернизации и реализации собственной творческой фантазии.
Что же нас может порадовать в 21-м веке? Думаю, конструктор Lego Mindstorms вас приятно удивит.
 

Lego Mindstorms

 
Это набор, развивающий желание самостоятельно творить, а не пользоваться чужим умом. Он позволяет исполнить самые дерзкие технические замыслы, разумеется, не само собой, а путем напряженной работы “клеток головного мозга”, называемой “мозговой атакой”.
 
Lego Mindstorms: Сделай робота сам
 
Производитель: компания LEGO (Дания)
Рекомендуемый возраст пользователя: 10..99 лет.
Процессорный блок NXT: процессор 32 бит ARM7, память 256 Кб ПЗУ, 64 Кб ОЗУ.
Второй 8-битовый контроллер AVR, память 4 Кб ПЗУ, 512 байт ОЗУ. Интерфейсы: порт USB (12 Мбит/с), 4 порта аналогово-цифрового ввода, 3 порта вывода управления сервомоторами (на специальных разъемах, сопрягаемых с разъемами датчиков и исполнительных механизмов), беспроводной канал Bluetooth, динамик и аудиоканал 8 бит, 8 кГц с частотой квантования 2..16 кГц.
Дисплей: ЖК-графический 2 дюйма, 100x64 пикселей.
Питание: 6 элементов АА (рекомендуются щелочные батарейки или Ni-MH аккумуляторы).
Другое: 4 кнопки управления блоком в автономном режиме.
Датчики (чувствительные элементы): датчик нажатия; микрофон с системой АРУЗ (автоматическая регулировка уровня записи); фотоприемник с измерителем уровня освещенности и цветности; ультразвуковой детектор расстояния (0..255 см с точностью 3 см); датчик угла поворота сервомотора; таймер; сигнал нажатия одной из кнопок на ЦПЭ; термометр.
Исполнительные механизмы: 3 шаговых серводвигателя со встроенным сенсором угла поворота (точность 1 градус); аудиосистема со встроенным динамиком; ЖК-дисплей для вывода алфавитно-цифровой и графической информации.
ПО: 1. Ручное программирование блока с помощью клавиш и экранного меню. 2. Управление блоком по каналу Bluetooth (мобильным телефоном или другим устройством на базе блока NXT. 3. Создание программ на стационарном компьютере (PC/Mac) и загрузка программ по кабелю USB или Bluetooth (диск с ПО прилагается).
Системные требования к стационарному компьютеру: процессор Pentium 800 МГц, 256 Мб ОЗУ, 300 Мб свободного места на жестком диске, ОС Windows XP, привод CD-ROM, свободный порт USB.
Механические элементы: набор сочленяемых элементов LEGO (штанги, оси, шестерни, тяги, обрезиненные колеса), обеспечивающих построение действующих подвижных моделей.
Комплектность: процессорный блок, датчики, сервомоторы, механические элементы, кабель USB, CD-ROM с ПО, 6 элементов АА, стикеры для наклеивания этикеток на детали комплекта, полигон (размеченный плакат для отладки ПО и настройки модели), руководство пользователя на русском языке.
Аксессуары: все детали комплекта (и новые разработки) могут быть по отдельности приобретены дополнительно для расширения возможностей конструктора или взамен утерянных.
 
Дополнительные программные продукты и средства разработки доступны бесплатно на сайте www.mindstorms.com.
 

Креатив

Компания LEGO выпускает множество механических конструкторов, позволяющих собирать модели начиная от  динозавров, и заканчивая НЛО. Их сборка более сложная, чем моделиmindstorms, но там творчество заканчивается, как только поставлена на место последняя деталь. Тут же это лишь начало увлекательной работы мысли. Методика программирования ничем не отличается от практики создания серьезных программно-аппаратных комплексов и состоит из:
  • проверки работоспособности блоков и их настройки (например, задание направления вращения, скорости и числа поворотов вала сервопривода или порогового расстояния срабатывания дальномера, уровня освещенности и т.п.);
  • тестирования настроек с помощью пошагового выполнения команд;
  • написания и отладки блоков управляющей программы на стационарном компьютере;
  • сохранения и загрузки программы в ЦПЭ;
  • комплексного тестирования настроек и программы на полигоне (плакат полигона имеет разметку, с помощью которой легко проверить правильность выполнения команд и работу датчиков);
  • “половых” (так как действие будет происходить на полу) испытаний модели и сдачи ее в эксплуатацию.
Наивно думать, что приведенную последовательность работы достаточно выполнить всего один раз. На каждом последующем этапе может выясниться, что выбранные настройки, алгоритм, а то и вся конструкция не годятся или могут быть усовершенствованы, и тогда начинаем сначала, стремясь устранить найденную ошибку и не наделать при этом новых. Найти и уничтожить ошибку в собственной программе доставляет ни с чем не сравнимое удовольствие.
 
Lego Mindstorms: Сделай робота сам
 
В окне программирования нужно перетаскивать мышью с панели инструментов элементарные команды (например, включить мотор) и задавать параметры каждой команды (например, сделать три оборота двигателя). Получится линейная (без ветвлений) программа: проехать на 10 см вперед, повернуться на 45° направо, проехать еще 5 см, подать звуковой сигнал, написать да дисплее текст “Остановился” и остановиться.
 
Всего три панели инструментов: простая, расширенная и пользовательская. Используя блоки простой панели, можно составлять не только неограниченно длинные последовательности действий, но писать разветвленные программы с условными переходами (например, если сработал тактильный датчик, то отъехать назад на 5 см и повернуть направо, а если нет, продолжать движение вперед). Несмотря на простоту, такая программа позволяет обходить препятствия. Условием, при котором происходит ветвление программы, может быть что угодно: достижение датчиком порогового значения (например, включился свет в помещении), совершение сервоприводом заданного числа оборотов, истечение заданного периода времени, появление сигнала от передатчика Bluetooth.
 
Lego Mindstorms: Сделай робота сам
 
Расширенная панель инструментов позволяет проводить арифметические и логические вычисления, сравнивать значения параметров датчика с пороговым значением и благодаря блоку генератора случайных чисел вводить в модель элементы непредсказуемости (что и отличает реальную жизнь от жесткой программы). ЦПЭ позволяет выполнять несколько программ одновременно в многопотоковом (multithead) режиме. Например, одна программа обеспечивает движение, а вторая отслеживает освещенность помещения и включает светодиод при заезде робота под стол, или исполняет мелодию. В набор инструментов программирования входит авторекордер, с помощью которого можно записать и программно воспроизвести все движения робота, которым был обучен в режиме ручной настройки (аналогично написанию макросов в пакете MS Office).
 
Панель пользовательских инструментов позволяет каждую созданную программу с нужными настройками записать в качестве самостоятельного пользовательского инструмента под своим именем и в дальнейшем включать ее в новые программы, не заботясь о ее проверке и настройке. Приведенные выше примеры работы линейной программы можно назвать “Поворот с остановом” и “Объезд препятствия”, а затем многократно использовать их в более сложной программе “Марш робота”.
 
Отличие от обычной заводной игрушки состоит в том, что его можно бесконечно совершенствовать. Например, изменить конструкцию и программу, позволяющую роботу плясать вприсядку. Возможно, что для этого придется добавить деталей и сервомоторов, не один вечер потратить на поиски верного решения, но тем приятнее будет его достичь. Например, инструмент “Динамик” имеет множественные настройки: он может говорить, используя слова из расширяемого звукового словаря, подавать звуки (чистый тон) и исполнять мелодии, для чего в его настройки вставлен миниатюрный электромузыкальный инструмент, на котором можно подобрать мелодию на слух или по нотам. Одновременно на дисплее робота можно высвечивать забавные пиктограммы из набора, меняя их размер и положение на экране.
 

Чего еще пожелать-то?

И вот, казалось бы, модель собрана, программа ее отлажена, испытана на полигоне и в реальной обстановке, то есть все задачи решены и пора подумать о том, как будет выглядеть следующая модель. Однако имеется еще несколько функций Mindstorms: непосредственное программирование ЦПЭ и управление им по каналам Bluetooth. Это более кропотливая работа, зато не требует компьютера. Практически тот же результат достигается с помощью полуторадюймового монохромного дисплея и четырех кнопок управления (“Влево”, “Вправо”, “ОК” и “Возврат на шаг назад”), установленных на корпусе ЦПЭ.
 
Имеется любопытная функция Try Me (испытай меня), которая позволяет протестировать датчики и исполнительные механизмы комплекта во всем диапазоне их действия. С помощью браузера можно просмотреть и исполнить все файлы, хранящиеся на данный момент в памяти ЦПЭ, а именно: файлы программ, загруженных из компьютера, файлы программ, созданных внутри ЦПЭ, и звуковые файлы. Функция Setup позволяет задать время автоматического отключения питания, громкость встроенного динамика, очистить встроенную память.
 
Помимо беспроводной связи с компьютером, его можно использовать для управления роботом с клавиатуры мобильного телефона, канал можно использовать в качестве дополнительного датчика (появления радиосигнала) для выполнения моделью программы оповещения о том, что в эфир вторглось чужое радиоустройство. При этом, не отключаясь от канала, робот может стать “невидимым” для других источников Bluetooth. Два робота могут обмениваться своими файлами без постороннего участия. Они могут создавать сообщества, влияя на поведение других роботов по трем независимым каналам передачи (в каждый отдельный момент можно общаться только с одним устройством, но их общее число и пароли хранятся в специальной папке “Мои контакты” и могут переключаться с одного на другой).
 
По каналу Bluetooth можно управлять роботом и отправлять SMS/MMS с мобильного телефона, получая на них осмысленные (в пределах оперативной памяти ЦПЭ) ответы. Логический блок позволяет анализировать полученный текст и, в зависимости от содержания послания и состояния генератора случайных чисел, формировать непредсказуемые ответные SMS. Только одна эта характеристика открывает неисчерпаемую игру с искусственным интеллектом.
 
Набор Mindstorms NXT – это игрушка, не предназначенная для выполнения каких-либо полезных действий, кроме как расширения технического кругозора подростка и воспитания специалиста в области конструирования и информационных технологий. Еще одно достоинство комплекта – электробезопасность, ведь автономное питание осуществляется от шести батареек типа АА, поэтому ни в самом блоке, ни поблизости нет опасных напряжений.
 
Чтобы реализовать все возможности комплекта Mindstorms, возможно, не хватит целой жизни. На сайте выложены бесплатные приложения, в том числе для разработки программного обеспечения, и описания аппаратной части ЦПЭ, а именно:
  • Software Developer Kit (SDK) – драйверы NXT, спецификации интерфейсов и необходимый инструментарий для адаптации (кросс-трансляции) стороннего ПО в среде NXT;
  • Hardware Developer Kit (HDK) – документация и принципиальные электрические схемы датчиков NXT, что позволяет разрабатывать собственные датчики и исполнительные механизмы;
  • Bluetooth Developer Kit (BDK) – документация и протоколы обмена Bluetooth ЦПЭ NXT, позволяющие создавать приложения, взаимодействующие с любыми устройствами по каналу Bluetooth.
Наверняка занятие с комплектом на долгие годы станет вашим хобби, а то и основной профессией. Это и есть главное достоинство набора – разбудить в человеке недостижимую мечту и добиться ее воплощения в жизнь. Надо полагать, что следующие поколения Mindstorms обрастут большей оперативной памятью, цветным дисплеем, более качественным звуком, фото- и видеокамерой. И все это можно будет докупить и задействовать.
 
Добро пожаловать в клуб интеллектуалов www.mindstorms.com, поддерживаемый безудержной фантазией компании LEGO и ее приверженцев.
 
 
На нашем сайте можно не только бесплатно скачать игры, но и документацию и книги по программированию на MIDLetPascal, Turbo Pascal 6, Turbo Pascal 7, Borland Pascal, по программированию устройств Sound Blaster, Adlib, VESA BIOS, справочник Norton Guide и много другой полезной информации для программистов, включая примеры решения реальных задач по созданию резидентных программ.
 

Журнал > Программирование > Lego Mindstorms: Сделай робота сам
 
 
 
 
 
 
На главную страницу На предыдущую страницу На начало страницы