Как создавать программы для роботов Lego Mindstorms NXT 2.0 в среде NXT-G. Какие основные блоки и функции используются для программирования движения, работы с датчиками и выполнения различных действий роботом. Какие алгоритмы применяются для решения типовых задач робототехники.
Обзор конструктора Lego Mindstorms NXT 2.0
Конструктор Lego Mindstorms NXT 2.0 включает в себя следующие основные компоненты:
- Программируемый блок NXT — «мозг» робота, управляющий всеми его действиями
- Интерактивные сервомоторы для движения робота
- Датчики: касания, цвета, ультразвуковой, звука
- Детали LEGO Technic для сборки различных конструкций
Блок NXT имеет 4 входных порта для подключения датчиков и 3 выходных порта для моторов. Он оснащен монохромным LCD-дисплеем и 4 кнопками управления. Программирование осуществляется с помощью специальной графической среды NXT-G.
Основы программирования в NXT-G
NXT-G представляет собой графическую среду программирования, где программа собирается из блоков-команд. Основные типы блоков:
- Блоки действия — управляют моторами, воспроизводят звуки и т.д.
- Блоки датчиков — считывают данные с подключенных сенсоров
- Блоки управления выполнением — циклы, переключатели, ожидание
- Блоки данных — работа с переменными, математические операции
Программа создается путем перетаскивания нужных блоков на рабочее поле и соединения их в требуемой последовательности.
Программирование движения робота
Для программирования движения робота используются блоки управления моторами. Основные параметры:
- Направление вращения (вперед/назад)
- Мощность (от 0 до 100)
- Длительность работы (в градусах, оборотах или секундах)
- Способ остановки (плавное торможение или резкая остановка)
Пример простой программы движения вперед в течение 3 секунд:
- Блок «Движение» с параметрами: вперед, мощность 75, длительность 3 секунды
- Блок «Стоп»
Работа с датчиками
Для считывания данных с датчиков используются соответствующие сенсорные блоки. Основные датчики:
- Датчик касания — определяет нажатие/отпускание
- Датчик цвета — распознает цвета и измеряет яркость
- Ультразвуковой датчик — измеряет расстояние до объектов
- Датчик звука — определяет уровень громкости
Пример программы с использованием датчика касания:
- Блок «Ожидание» датчика касания
- Блок «Звук» — воспроизведение звукового сигнала
- Блок «Движение» — движение вперед
Циклы и ветвления
Для организации повторяющихся действий используются циклы. Основные виды циклов в NXT-G:
- Бесконечный цикл — выполняется постоянно
- Цикл со счетчиком — заданное число повторений
- Цикл с условием — выполняется, пока верно условие
Ветвления реализуются с помощью блока «Переключатель». Он позволяет выбрать одно из нескольких действий в зависимости от заданного условия.
Как разработать эффективный алгоритм движения по линии.
Движение робота по линии — одна из базовых задач в робототехнике. Существует несколько подходов к ее решению:
Релейный алгоритм
Самый простой алгоритм, основанный на принципе «все или ничего»:
- Если датчик над черной линией — поворачиваем в одну сторону
- Если над белым полем — поворачиваем в другую сторону
Недостаток: робот движется рывками, постоянно теряя линию.
Пропорциональный регулятор
Более плавный алгоритм:
- Вычисляем отклонение от линии
- Корректируем скорость моторов пропорционально отклонению
Формула расчета скорости: U = K * (Setpoint — Input)
Где:
- U — управляющее воздействие на моторы
- K — коэффициент усиления
- Setpoint — целевое значение датчика (на границе линии)
- Input — текущее показание датчика
Преимущество: более плавное движение, робот не теряет линию.
ПИД-регулятор
Наиболее совершенный алгоритм, учитывающий скорость изменения ошибки:
U = Kp*P + Ki*I + Kd*D
Где:
- P — пропорциональная составляющая
- I — интегральная составляющая
- D — дифференциальная составляющая
Позволяет добиться максимально плавного и быстрого движения по линии.
Примеры типовых программ для Lego Mindstorms NXT
Движение до препятствия
- Блок «Цикл» (бесконечный)
- Внутри цикла:
- Блок «Движение» (вперед)
- Блок «Ожидание» ультразвукового датчика (расстояние меньше 20 см)
- Блок «Стоп»
Движение по квадрату
- Блок «Цикл» (4 повторения)
- Внутри цикла:
- Блок «Движение» (вперед 3 оборота)
- Блок «Поворот» (на 90 градусов)
Подсчет перекрестков
- Блок «Переменная» (счетчик = 0)
- Блок «Цикл» (бесконечный)
- Внутри цикла:
- Блок «Движение» (по линии)
- Блок «Ожидание» датчика цвета (черный)
- Блок «Математика» (счетчик + 1)
- Блок «Звук» (сигнал)
Это лишь некоторые базовые примеры. На их основе можно создавать более сложные алгоритмы для решения различных робототехнических задач.
Базовые основы программирования роботов в среде NXT-G
—>
Автор:
Вязовов Сергей Михайлович, заведующий кафедрой информатики МАОУ «Лицей №14 имени Заслуженного учител Российской Федерации А.М.Кузьмина» г.Тамбова
1. ИСПОЛЬЗОВАНИЕ УЛЬТРАЗВУКОВОГО ДАТЧИКА ДЛЯ ОБНАРУЖЕНИЯ ОБЪЕКТОВ
Ультразвуковой датчик часто используется для обнаружения препятствия во время движения.
Для понимания сути вопроса рассмотрим задачу остановки робота в 10 сантиметрах от стены.
Реализация программы:
Настройка блока движения:
Настройка блока ожидания состояния ультразвукового датчика:
В последнем блоке задаётся отключение моторов робота.
Задачи:
- Реализуйте алгоритм работы робота, по которому, достигнув стены он разворачивается на 180°, и едет в течение 5 секунд в противоположном направлении.
- Реализуйте алгоритм работы робота, который движется вокруг коробки высотой 50 см.
Робот-охранник
Задача. Необходимо разработать алгоритм работы робота, охраняющего коробку, находящуюся на расстоянии не более 15 см, в соответствии с которым, как только коробку попытаются унести (расстояние от робота до коробки станет более 15 см), он должен начать издавать звуковой сигнал.
Реализация:
Решение задачи заключается в следующем:
В бесконечном цикле происходит выполнение двух блоков:
- Блок «Wait» (ожидание состояния ультразвукового датчика) с параметром «Until» расстояние до объекта («Distans») больше 15 см.
- Блок «Sound» (звуковой сигнал).
Как только расстояние от робота до коробки превысит 15 см (1), проигрываем звук (2) и снова переходим к ожиданию состояния ультразвукового датчика (1). Если объект на место не вернули, то снова издаём звуковой сигнал (2). И так до «бесконечности».
Задача:
В нашей программе робот охраняет объект, который находит в зоне его видимости. Сконструируйте механизм, который будет вращать ультразвуковой датчик вокруг робота и издавать сигнал при приближении к нему другого объекта.
2. ОРГАНИЗАЦИЯ ДВИЖЕНИЯ РОБОТА ПО ТРАЕКТОРИИ
Движение по прямой
Движение по прямой в течение некоторого периода организуется при помощи блока «Move». За продолжительность движения отвечает параметр «Duration», значение которого может быть задано в градусах, в оборотах мотора вокруг своей оси, и в секундах.
Организация поворота
Если одно колесо робота вращается быстрее другого, то есть смещён ползунок мощности моторов в сторону одного из них, то робот едет не по прямой, а по дуге. Чем больше смещение ползунка мощности мотора, тем меньше радиус дуги. При полном смещении ползунка робот начинает вращаться вокруг одного колеса, что лежит в основе решения задач поворота робота на заданный угол.
Задачи:
- Организуйте движение по окружности (подберите количество оборотов, которое необходимо задать, чтобы робот описал полную окружность).
- Организуйте поворот робота на одном колесе на угол 90 градусов.
- Организуйте движение робота по периметру квадрата.
Движение робота по спирали
Идея движения по спирали заключается в том, что через одинаковые промежутки времени робот начинает двигаться по окружности всё с большим и большим радиусом.
Программное это выглядит следующим образом:
Для каждого блока движения необходимо задать параметры:
- смещение мощности моторов;
- мощность моторов;
- продолжительность движения.
Мощность моторов для всех блоков одинакова, остальные параметры плавно увеличиваются от блока к блоку.
3. ОБНАРУЖЕНИЕ ЧЁРНОЙ ЛИНИИ
Задача заключается в реализации алгоритма движения робота до чёрной линии.
Для организации движения достаточно одного блока управления моторами со значением параметра продолжительности движения «Unlimited».
Следующим блоком в программе будет блок ожидания состояния датчика освещённости (или датчика цвета). Движение будет происходить до тех пор, пока не наступит состояние, задание в параметре «Until». Значение состояния, соответствующего положению датчика над чёрной линии, подбирается экспериментальным путём и зависит от многих факторов, таких как: уровень внешней освещённости, высота датчика над чёрной линией, генерируемый датчиком свет и др.
Если программа запущена с подключенным роботом к компьютеру, то для блока ожидания данных мы сможем наблюдать текущее значение, получаемое сенсором. Это позволит наиболее точнее отладить нашу программу.
Обратите внимание, что после достижения требуемого состояния (в нашем примере – уровень отражённого света стал меньшим 35%, то есть мы достигли чёрного цвета), робот должен перейти к следующему блоку. Если его нет, робот может не остановиться и продолжить движение ещё в течении небольшого времени. Чтобы этого не случилось, можно добавить блок управление движением моторов в режиме «Stop»:
Задачи:
- Робот движется до чёрной линии. После её достижения, он останавливается на 5 секунд, после чего продолжает движение до следующей чёрной линии, затем останавливается.
- Робот движется до чёрной линии. После её достижения он разворачивается на 360̊ и продолжает движение в течении 5 секунд.
4. РАБОТА С ПЕРЕМЕННЫМИ
Создание и удаление переменных
Создать и удалить переменные можно, вызвав диалоговое окно «Edit Variables» пункта меню Edit – Define Variables.
Для использования переменных (для записи в них значения и чтения из них значения для передачи в другой блок) в программе нам понадобятся контейнеры (блок «Variables»). Они расположены в группе блоков «Data».
Передача значений сенсоров в переменную
Для того чтобы передать текущее значение считанное сенсором уровня освещённости (или сенсором цвета, работающего в режиме сенсора освещённости) в переменную EtalonLight нам понадобится блок «Light Sensor» (или «Color Sensor»), расположенные в группе блоков «Sensor» и блок «Variables» с именем переменной EtalonLight.
Для того чтобы передать значение уровня освещенности, необходимо соединить параметр «Intensity» (для Ligth Sensor) или параметр «Detected Color» (для Color Sensor) с входом «Read» блока переменной путем протаскивания мыши.
В программе это выглядит следующим образом:
Для того, чтобы данные с датчика освещённости (или датчика цвета) успели передаться в переменную, часто после блока переменой помещают блок ожидания сенсора касания. На соревнованиях такая кнопка осуществляет старт робота, а все блоки, которые расположены до неё осуществляют калибровку робота под текущие внешние факторы.
Чтение данных из переменной
Очевидно, что данные в переменную можно не только записать (Write), но и считать (Read). Считанные данные из переменной можно передать в другую переменную, передать как параметр в условие или цикл, применить к ним математические или логические операции.
- Производится передача данных (то есть запись) значения ультразвукового датчика в переменную Etalon.
- Значение переменной Etalon считывается (выход «Read») и передаётся в переменную Double (вход «Write»).
- Значение переменной Double считывается (выход «Read») и передаётся в качестве аргумента А блока «Math» с операцией «Addition», осуществляющий сложение с константным значением аргумента B.
- Результат операции сложения (Addition) передаётся, как параметр, в блок Switch.
Значение логической переменной можно использовать в качестве параметра, определяющего время работы цикла.
Рассмотрим пример, в котором цикл завершает свою работу, как только значение ультразвукового датчика становится меньше 10.
- В процессе движения робота в цикле происходит постоянно считывание ультразвуковым датчиком расстояния до объекта, которое передаётся в качестве аргумента А в блок сравнений (Compare).
- Результат сравнения текущего значения ультразвукового датчика (аргумент А) с константным значением (аргумент В) передаётся в логическую переменную Logic1 (вход «Write»).
- Текущее значение логической переменной передаются как параметр в цикл. Если это значение истинно, то цикл завершает свою работу.
Значения переменных можно передавать в значения опций моторов или датчиков.
Рассмотрим пример управления скоростью моторов с помощью переменных, на примере организации равноускоренного движение робота.
- В переменную Power записываем начальное значение, равное 10.
- В бесконечном цикле значение переменной Power передаём (выход «Write») в параметр мощности моторов (вход «Power»).
- Затем значение переменной при помощи операции Addition блока Math к значению переменной Power добавляется константное значение аргумента B, равное 10.
- Через 2 секунды возвращаемся к началу цикла (2).
5. МОДИФИКАЦИЯ АЛГОРИТМА ОБНАРУЖЕНИЯ ЧЁРНОЙ ЛИНИИ
Идея реализации программного решения состоит в том, что робота сначала помещают датчиком освещённости над чёрной линией и берут, так называемую, эталонную пробу. Это позволит избежать конфликта с изменяющимся внешним освещением и необходимостью каждый раз менять программу. А затем уже текущее значение отражённого света сравнивают с эталонной пробой.
Очевидно, что эталонную пробу придётся где-то хранить. Для этого используются переменные.
Таким образом, полная программа движения до чёрной линии с остановкой будет выглядеть таким образом:
Порядок работы программы:
- Робот помещается так, чтобы датчик освещённости был расположен над чёрной линией и запускается программа, первые два блока которой выполняют калибровку робота и значение сохраняется в переменную EtalonColor.
- Робот переносится в место старта и ожидается нажатие кнопки на датчике касания, осуществляющей старт робота.
- В нашей программе старт будет осуществлён с пятисекундной задержкой.
- Движение робота осуществляется в бесконечном цикле. Постоянно считывается текущее показание датчика и оно сравнивается с эталонным. (Блок сравнения, математический блок и блок логических операций расположены в группе блоков «Data»).
- Результаты сравнения в виде логического параметра (истина/ложь) передаются в блок выбора «Switch».
- Если результат сравнения оказался истинным, то есть текущий уровень освещённости меньше эталонного, то мы достигли чёрной линии и нужно остановить моторы.
- В противном случае мы ещё не достигли чёрной линии и нужно продолжить движение.
6. ДВИЖЕНИЕ ВДОЛЬ ЧЁРНОЙ ЛИНИИ
Рассмотрим алгоритмы движения робота вдоль чёрной линии. Эти алгоритмы основаны на понятии регуляторов.
Под регулятором будем понимать некоторое программное решение, которое управляет моторами робота, не позволяя ему покидать чёрную линию. Робот, в процессе своего движения считывает показания датчика освещённости и при их изменении изменяет мощность моторов. В результате робот постоянно поворачивает то в одну, то в другую сторону.
Пусть переменная motor – это первоначальная скорость моторов. При старте робота эта мощность одинаковая для обоих моторов. Переменная UP – это управляющее воздействие на моторы робота. Тогда, для того, чтобы робот начинал поворачивать к чёрной линии или уходить с неё, необходимо на один мотор подать мощность motor + UP, а на другой мотор motor – UP.
В теории управления существует несколько видов регуляторов. Мы рассмотрим два самых простых: релейный регулятор и пропорциональный регулятор.
Для организации любого регулятора нам понадобится правильным способом разместить робота над чёрной линией.
Для начала обратим внимание, что человек и робот видят чёрную линию по-разному. У человека границы чёрной линии и белой чёткие, а у робота размытые.
Поэтому правильным размещением робота над линией является то, когда датчик расположен на границе чёрной и белой линии.
Релейный регулятор
Пусть S – это начальное значение, полученное с датчика при калибровке робота. Если текущее значение уровня отражённого света меньше S, то это означает, что датчик сильнее сместился на чёрную линию и его надо вернуть обратно, то есть робот должен двигаться влево. Если же текущее значение стало меньше S, то робот наоборот сместился ближе к белой линии и его надо вернуть на чёрную линию, то есть он должен двигаться вправо.
Реализация алгоритма выглядит следующим образом:
Настройки блока (1):
Настройки блока (2):
Такой регулятор позволяет роботу пройти по чёрной линии, однако на сильно изогнутой линии (на слаломе в случае «Биатлона») нет плавности движения и робот постоянно теряет скорость. Поэтому данное решение в соревнованиях не применяют.
Пропорциональный регулятор
Данный регулятор позволяет применить к мощностям робота управляющее воздействие, которое вычисляется по формуле:
UP – управляющее воздействие, k – коэффициент управляющего воздействия, S – начальное значение уровня отражённого света (эталон, полученный до старта робота), Light – текущее значение уровня отражённого света.
Задача достижения плавности движения робота на максимально возможной скорости сводится к верному подбору коэффициента k управляющего воздействия.
Управляющее воздействие UP также позволяет роботу поворачивать то влево, то вправо. Если датчик сместился на чёрную линию, то разность
Light – S < 0, а если на белую, то Ligth — S > 0. То есть, мощность одного мотора увеличиваем на UP, а другого уменьшаем.
Таким образом,
motorC = motor + UP
motorB = motor – UP
Реализация алгоритма:
Пропорциональный регулятор для робота с двумя датчиками освещенности.
Управляющее воздействие в случае пропорционального регулятора с использованием двух датчиков вычисляется по формуле:
где S1 – значение левого датчика освещённости, S2 – значение правого датчика освещённости. Напомним, что вместо датчиков освещённости можно использовать датчики цвета, работающие в режиме датчиков освещённости.
Однако, датчики при калибровке могут иметь разные начальные значения, поэтому формулу можно улучшить таким образом:
где Sleft – начальное значение левого датчика, а Sright – начальное значение правого датчика
НОУ ИНТУИТ | Лекция | Lego Mindstorms NXT 2.
0. Обзор< Лекция 9 || Лекция 1: 123
Аннотация: Проводится поверхностный обзор робототехнического комплекса, включающего конструктор Lego Mindstorms NXT 2.0 и среду программирования NXT-G. Цель: познакомиться с основными компонентами конструктора Lego Mindstorms NXT 2.0, интерфейсом среды NXT-G и научиться создавать простейшую программу «Hello, world!».
Ключевые слова: стоимость, ПО, программирование, робототехника, меню, информация, значение, файл, таймер, программное обеспечение, guide, software, overview, язык программирования, лист, отображение, координаты, программа, управляющие, контроллер, USB, поле, communications, memory
Введение
Учебник по этому курсу распространяется под лицензией Creative Commons Attribution-Noncommercial: lego-nxt-g.pdf
Изучение робототехники сегодня начинается уже со школьной скамьи. Однако не всем школам так повезло, и тому есть ряд объективных причин. Во-первых, стоимость одного робототехнического комплекса (здесь и далее имеется в виду Lego Mindstorms NXT 2.0) превышает стоимость средней компьютерной системы. Во-вторых, руководить занятиями робототехники должен высококвалифицированный педагог, одинаково хорошо разбирающийся и в техническом конструировании, и в микроэлектронике, и в программировании. Подготовка таких специалистов-педагогов сегодня только начинается. Ну и в-третьих, русскоязычные учебники, вышедшие из печати на сегодняшний день, можно пересчитать, по-видимому, на пальцах одной руки.
Настоящее пособие было подготовлено по результатам работы со студентами, получающими специальность учителя информатики. Авторы ставили перед собой задачу дать начальные понятия программирования роботов Lego Mindstorms NXT 2.0 на языке NXT-G. Кроме того, отдельные главы пособия были использованы на курсах по повышению квалификации и переподготовке учителей информатики на кафедре информатики и методики преподавания информатики Оренбургского государственного педагогического университета.
Не так давно появилась более новая версия робототехнического комплекса LegoMindstorms EV3. Однако имеющийся в российских школах и центрах технического творчества парк роботов Mindstorms NXT 2.0 так велик, что было бы неправильным сбрасывать его со счетов.
Программирование сегодня уже не так привлекательно для школьников как 15-20 лет назад. Это замечают многие школьные и вузовские преподаватели информатики. Нужны новые средства для мотивации учеников в этой области. По нашему мнению, робототехника сегодня как раз и является таким средством. Поэтому в пособии упор делается на алгоритмической составляющей робототехники.
Обращаем внимание студентов на то — и это очень важно! — что при работе с пособием следует не только выполнять задания, но и обязательно набирать и проверять задачи из примеров. Это поможет лучше понять язык и особенности программирования роботов.
Мы рассматриваем программирование роботов в англоязычной версии среды NXT-G, так как она распространяется свободно.
Идеи многих заданий были почерпнуты в [1, 4, 6], авторам которых мы выражаем глубокую признательность.
Состав конструктора 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 среды, гироскопический датчик, компас и др.
intuit.ru/2010/edi»>Все датчики и моторы подсоединяются к NXT-блоку через порты входа и выхода посредством чёрных шестипроводных кабелей. Сенсоры подключаются к входным портам под номерами 1 — 4, а моторы — к выходным портам, имеющим на блоке NXT названия A, B, C.Производитель рекомендует для подключения сенсоров и моторов использовать стандартные порты:
- Порт 1: Датчик касания
- Порт 2: Датчик касания
- Порт 3: Датчик цвета
- Порт 4: Ультразвуковой сенсор
- Порт A: Мотор для дополнительных функций
- Порт B: Мотор для движения
- Порт C: Мотор для движения
увеличить изображение
Рис. 1.1. Внешний вид блока NXT и его разъёмы
В нашем учебном курсе мы придерживаемся этих рекомендаций. На самом деле можно подключать сенсоры в произвольные порты. Соблюдать стандартные порты обязательно при работе с меню Try Me (см. ниже).
Блок NXT работает от шести батарей типа AA. В образовательную версию набора входит аккумуляторная батарея.
Работа с меню NXT происходит при помощи четырёх кнопок (Рис. 1.1):
- Серые треугольники — кнопки «вперёд» (вправо) и «назад» (влево) — позволяют перемещаться внутри меню до нужного пункта;
- Оранжевый квадрат соответствует клавише ввода; она же используется для включения робота;
- Тёмно-серый прямоугольник — «отмена» или переход назад к предыдущему пункту. Эта же кнопка используется для выключения робота. Для выключения NXT нажимайте кнопку до тех пор, пока на экране не появится надпись Turn off?, после чего для подтверждения выключения нажмите оранжевую кнопку. Также можно нажать и удерживать тёмно-серую кнопку до полного выключения NXT.
увеличить изображение
Рис.
1.2. Экран отключения блока NXT
Задание 1.1. Научитесь включать и выключать свой NXT. Попробуйте выключить NXT двумя способами, описанными выше.
Вся информация на дисплее NXT отображается на английском языке. При включении экран NXT выглядит как на Рис. 1.3:
увеличить изображение
Рис.
1.3. Экран блока NXT после включения
Bluetooth включен, но NXT не определяется другими устройствами Bluetooth. | |
Bluetooth включен, и NXT определяется другими устройствами Bluetooth. | |
Bluetooth включен, и NXT подключен к устройству Bluetooth. |
USB подключен и работает нормально. | |
USB подключен, но имеются неполадки. |
Если NXT работает нормально, то иконка рабочего состояния крутится. Если вращение иконки прекратилось, значит NXT завис и требует перезагрузки.
По умолчанию роботу присвоено имя NXT. Имя можно изменить. Как это сделать см. в п. 1.2.
ru/2010/edi»>Задание 1.2. Включите NXT. Изучите информацию, которая отображается на экране NXT. Перемещайтесь по главному меню NXT при помощи стрелок. Выключите NXT.Рассмотрим структуру меню NXT.
- My Files (Мои Файлы). Здесь хранятся все файлы NXT.
- Software files (Файлы программ). Здесь хранятся скомпилированные файлы программ, загруженных пользователем. Отсюда происходит запуск программ на выполнение.
- NXT files (Файлы NXT). Служебные файлы NXT.
- Sound files (Звуковые файлы). Здесь содержатся различные звуковые файлы, как встроенные, так и записанные пользователем. Вы можете записать собственные звуки, чтобы затем использовать их в программах.
- Datalog files (Файлы данных). Содержит данные, собранные NXT при помощи меню NXT Datalog. Данные можно считывать во время работы программы или передавать по Bluetooth другим устройствам.
intuit.ru/2010/edi»>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 (не забудьте про стандартные порты подключения сенсоров).
Работу с другими пунктами меню будем рассматривать по мере необходимости.
Дальше >>
< Лекция 9 || Лекция 1: 123
ПрограммыNXT — забавные проекты для вашего LEGO MINDSTORMS Программы
NXT — забавные проекты для вашего LEGO MINDSTORMSВеселье Проекты для ваш LEGO РАЗУМНЫЕ ШТОРМЫ |
Дом Проекты Помощь Контакты |
|
Какой Версия LEGO MINDSTORMS у вас есть?
| ||||||||||||||||||||||||||||||||
Дом Проекты Помощь Контакты |
Этот сайт содержит партнерские ссылки Amazon и мы можем получать комиссию за продукты, приобретенные по этим ссылкам. LEGO и MINDSTORMS
зарегистрированные торговые марки LEGO Group. |
Проекты для NXT 1.0
проектов для NXT 1.0Веселье Проекты для ваш LEGO РАЗУМНЫЕ ШТОРМЫ НХТ! |
Дом Проекты Помощь Контакты |
Проекты на этой странице предназначены для версии Комплекты 1.X NXT показаны справа. Никаких дополнительных деталей не требуется. Некоторые из этих проектов также можно построить с помощью Комплект NXT 2.0 с добавлением набора образовательных ресурсов. Для получения дополнительной информации нажмите здесь. |
|
|
|
Дом Проекты Помощь Контакты |
|