Робот Lego Mindstorms NXT в Москве
Робот Lego Mindstorms NXT в Москве – магазин «Техно 3D»Робот Lego Mindstorms NXT
Lego Mindstorms – это набор, содержащий датчики, моторы и вычислительный модуль. Он позволяет детям (и взрослым) использовать кубики Lego для создания и программирования автономных роботов. Пайка не требуется! Состоит из 619 деталей, графической среды программирования, Bluetooth для беспроводной работы.
Характеристики Видео
цена по запросу
Запросить цену
Обращаем ваше внимание на то, что данный интернет-сайт носит информационный характер и ни при каких условиях не является публичной офертой, определяемой положениями Статьи 437 (2) Гражданского кодекса Российской Федерации. Для получения подробной информации о наличии и стоимости указанных товаров и (или) услуг, пожалуйста, обращайтесь к менеджеру сайта с помощью специальной формы связи.
Бесплатное обучение
Доставка по России
Сервисная служба
Гарантия на все модели
Любая форма оплаты
Нашли дешевле?
Ваш e-mail
Ваш телефон
Адрес страницы с дешевым товаром
Нажимая на кнопку, вы соглашаетесь с политикой конфиденциальности
Заказать обратный звонок
Телефон
Нажимая на кнопку, вы соглашаетесь с политикой конфиденциальности
Товар добавлен в корзину
Перейти в корзинуТовар добавлен в сравнение
Сравнить товары
В сравнении не может быть больше 4 товаров
Запрос счёта или коммерческого предложения
Название организации:
Ваш e-mail
Ваш телефон
Имя контакного лица:
Юридический адрес:
Комментарий:
Нажимая на кнопку, вы соглашаетесь с политикой конфиденциальности
В пути, узнайте когда поставка
Мы ответим по E-mail или Whatsapp
Ваше имя:
Ваш e-mail
Ваш телефон
Нажимая на кнопку, вы соглашаетесь с политикой конфиденциальности
Связаться с нами
Как позвонить
По телефону +7(495)155-45-19.
- Написать в Telegam @techno3dru
- Написать в Whatsapp +74951554519
- Написать Email [email protected]
В наличии ли?
На странице товара, под названием товара 3 статуса:
- В наличии – У нас на складе. Оформляйте покупку кнопкой Купить.
- Предзаказ – В пути, скоро доставка. Узнайте о сроках поставки, кликнув на ‘Сроки поставки’ или оформите покупку кнопкой Купить.
- Под заказ – Привозится по вашему заказу по частичной предоплате. Оформляйте заказ по кнопке Заказать.
Как получить счёт на оплату для юридических лиц
Добавьте товары в корзину, перейдите к оформлению заказа. Способ оплаты: Организация → Укажите реквизиты → Получите счет на оплату
Как получить коммерческое предложение
На странице товара кликните по ссылке Запросить КП
Сколько стоит доставка
На странице товара блок Доставка. С точным расчетом стоимости и сроков в ваш город. На странице Доставка и оплата более подробно о всех способах доставки.
Если вы не нашли среди вопросов своего, обратитесь к нам через
Whatsapp или Telegam
Контактное лицо (ФИО):
Контактный телефон:
Email:
Комментарий:
Базовые основы программирования роботов в среде 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 – начальное значение правого датчика
ПрограммыNXT — забавные проекты для вашего LEGO MINDSTORMS Программы
NXT — забавные проекты для вашего LEGO MINDSTORMSВеселье Проекты для ваш LEGO РАЗУМНЫЕ ШТОРМЫ |
Дом Проекты Помощь Контакты |
|
Какой Версия LEGO MINDSTORMS у вас есть?
| ||||||||||||||||||||||||||||||||
Дом Проекты Помощь Контакты |
Этот сайт содержит партнерские ссылки Amazon и мы можем получать комиссию за продукты, приобретенные по этим ссылкам. LEGO и MINDSTORMS
зарегистрированные торговые марки LEGO Group. |
введение в программирование роботов NXT на C с помощью RobotC
Роботы Lego Mindstorms NXT
Робот Lego Mindstorms NXT — это доступная программируемая робототехническая платформа, подходящая как для начинающих, так и для более опытных в области мобильной и программируемой робототехники. Робот Lego Mindstorms NXT используется во многих школах и университетах по всему миру.
Одной из особенностей роботов NXT является большое количество датчиков и аксессуаров, доступных на рынке (веб-сайт Génération Robots поставляет почти все эти роботизированные датчики). Робот NXT также может быть запрограммирован с использованием многих языков программирования:
- NXT-G — графическая среда разработки, поставляемая с роботом NXT. Он основан на программном обеспечении National Instrument LabView;
- LabView от National Instrument;
- Lejos — библиотека Java, используемая для программирования роботов NXT;
- NXC — библиотека на C; и
- Матлаб.
И, наконец, RobotC, который мы здесь представляем.
RobotC, среда программирования для роботов Lego NXT
Программное обеспечение для программирования роботов RobotC было создано и поддерживается престижным Университетом Карнеги-Меллона в США. Любой, кто интересуется робототехникой, слышал об этом университете, который является эталоном в этой области по ту сторону Атлантики.
RobotC — это среда программирования, используемая для программирования роботов Lego Mindstorms NXT на C. Существует также версия RobotC для роботов Vex Robotics.
RobotC — это полная IDE, предлагающая очень практичный и высокоэффективный интерактивный отладчик в реальном времени. RobotC может быть многозадачным — он может выполнять до 10 задач одновременно на роботе. Более того, как мы увидим ниже, RobotC устанавливает на робота собственную прошивку, более эффективную, чем стандартная прошивка. Программы RobotC являются самыми быстрыми по сравнению с программами, созданными с помощью другого программного обеспечения для программирования.
По умолчанию RobotC поддерживает все стандартные датчики Lego. Доступна сторонняя библиотека с открытым исходным кодом, которая включает в себя все датчики и аксессуары, представленные на рынке. Таким образом, RobotC обеспечивает неограниченное программирование робота NXT.
Инструмент 3D-моделирования, совместимый с RobotC, в настоящее время разрабатывается в Университете Карнеги-Меллона (этот инструмент будет включен в версию 3.0 RobotC).
Презентация интерфейса RobotC
Интерфейс RobotC показан на следующем рисунке:
Рисунок 1: Программный интерфейс RobotC
Интерфейс программирования RobotC достаточно традиционен для всех, кто знаком со средами программирования. Левая панель используется для поиска стандартных структур кода, а зона ошибок внизу содержит список выходных данных компилятора.
Во время программирования RobotC запускает IntelliSense, который автоматически дополняет термины, введенные программистом, для повышения эффективности и производительности.
Наконец, в меню «Справка» доступна относительно обширная онлайн-поддержка и, наконец, представлены многочисленные примеры программ.
Перед использованием RobotC для программирования роботов NXT
Верно! Итак, с представлениями покончено, приступим к делу. Как мы уже говорили ранее, чтобы программы, созданные с помощью RobotC, могли работать на роботе, лучше всего заменить прошивку (или операционную систему робота, если хотите) на версию RobotC. Это нужно сделать только один раз и очень легко.
Для этого просто зайдите в меню «Робот» и нажмите «Загрузить прошивку». Откроется новое окно, показанное ниже:
Рисунок 2. Интерфейс обновления прошивки
Сообщение очень четкое: не может найти блок NXT (мозг робота). Поэтому вам необходимо подключить робота NXT к компьютеру с помощью прилагаемого USB-кабеля и включить робота. Затем просто нажмите кнопку «Обновить списки», чтобы позволить RobotC найти робота.
Для обновления прошивки остается нажать кнопку «F/W Download» и выбрать прошивку в открывшемся окне. Вы услышите, как кирпич издает небольшой шум, а затем перезагружается. Все сделано!!
Затем в окне появится сообщение «Загрузка микропрограммы завершена», и вы готовы к работе!
Рисунок 3. Прошивка, загруженная на NXT
Если после работы с RobotC вы хотите снова работать с NXT-G (программное обеспечение для графического программирования, поставляемое с вашим набором Lego), вам нужно будет повторить ту же процедуру в интерфейсе NXT-G, который вернется к исходному прошивка. Это так просто.
Написание первой программы на RobotC для роботов NXT
900:30 Теперь мы готовы к нашей первой программе. Вернемся к программе, показанной на рис. 1, которая используется для управления двухколесным мобильным роботом с дифференциальным приводом, что является наиболее распространенным сценарием в робототехнике.В этой программе двигатели, подключенные к портам A и C вашего робота, управляются с помощью функции двигателя . Значение, присвоенное этой функции, указывает скорость, с которой работает двигатель:
- +100: двигатель работает вперед на максимальной скорости
- 0: двигатель остановлен
- -100: двигатель работает в обратном направлении на максимальной скорости
В зависимости от вашей конструкции (направления двигателя вашего робота) вам придется использовать положительное или отрицательное значение.
Эта первая простая программа также использует два метода, позволяющих запускать программу с временной задержкой:
- wait1Msec(): ничего не делать в течение периода, кратного одной миллисекунде
- wait10Msec(): ничего не делать в течение периода, кратного 10 миллисекундам
Компиляция и запуск
В меню «Робот» есть два варианта компиляции программы, либо можно использовать клавиши F5 и F7 как ярлыки.
F7 просто компилирует программу. Это позволяет обнаружить любые ошибки компиляции.
F5 компилирует и передает скомпилированный код роботу. Естественно, эта функция работает только в том случае, если робот подключен, т.е. если кирпич включен и подключен (через USB или Bluetooth) к вашему компьютеру.
Нажмите F5, и откроется окно, показывающее ход загрузки программы на робота. Затем он закрывается, и открывается другой. Это окно «Отладка программы».
Рисунок 4. Окно «Отладка программы»
Если вы нажмете кнопку «Пуск», программа, которую вы только что загрузили на компьютер, запустится.
Кнопка «Шаг внутрь» позволяет вам запускать программу шаг за шагом и активировать другие кнопки отладки, «Приостановить», «Шаг с обходом» и «Шаг с выхода», которые позволяют вам переходить к функции или выходить из нее.
Использование датчиков и переменных для роботов NXT
Давайте немного усложним нашего робота и нашу программу. Мы собираемся добавить ультразвуковой датчик Lego Mindstorms NXT, который, как следует из его названия, использует ультразвуковой сонар для определения расстояния до препятствий, а затем мы подключим его к порту № 4 на нашем блоке NXT.
Рисунок 5: Ультразвуковой датчик
Поэтому нам необходимо сообщить нашей программе RobotC о наличии этого датчика. Для этого зайдите в меню «Робот» и нажмите «Настройка двигателей и датчиков». Позже вы узнаете, что этот шаг является необязательным и что датчик можно объявить в коде, но наша цель здесь — представить RobotC и некоторые из его многочисленных возможностей.
В открывшемся окне перейдите на вкладку «Датчики». Попутно вы также заметите, что положение двигателей на роботе также может быть объявлено.
Рисунок 6: Интерфейс объявления датчика
Как показано на рисунке выше, вы можете дать имя вашему датчику и выбрать его тип из выпадающего списка. Убедитесь, что вы делаете это на порту, к которому подключен ваш датчик, иначе ваша программа будет вести себя странно.
Затем нажмите «ОК».
Затем интерфейс автоматически добавляет в ваш код следующую инструкцию:
#pragma config(Sensor, S4, MySonar, sensorSONAR)
//*!!Код, автоматически сгенерированный мастером настройки «ROBOTC»
Мы собираемся разработать программу, которая заставит его двигаться вперед по прямой до тех пор, пока он не встретит препятствие, после чего он повернет направо. Есть гораздо более эффективные алгоритмы обхода препятствий (и это еще мягко сказано), но цель данной статьи не в этом. На следующем рисунке показан рассматриваемый код.
Рис. 7: Простой код обхода препятствия
Этот код вводит функцию SensorValue , которая используется для извлечения последнего значения, измеренного настроенным датчиком, в данном случае значения, измеренного ультразвуковым датчиком расстояния.
Прежде чем проверять, как программа ведет себя на роботе, давайте посмотрим на различные возможности, предлагаемые RobotC, чтобы понять, что происходит при запуске программы. Для этого заходим в меню «Робот/Отладка Windows» и нажимаем «Глобальные переменные». Повторите эту операцию для «Параметры системы».
Это открывает вкладки рядом с вкладкой «Ошибка», которая была открыта во время первой компиляции. Теперь скомпилируйте и посмотрите, что происходит в окнах, которые мы только что открыли.
В окне «Глобальная переменная» представлены значения всех переменных и констант вашей программы в режиме реального времени. Если значение не обновляется, нажмите кнопку «Продолжить» в окне «Отладка программы».
Рис. 8. В окне «Глобальные переменные» отображаются значения всех программных переменных в реальном времени
Это окно очень полезно для выяснения состояния системы и хода выполнения программы в режиме реального времени: ваш компьютер отображает в реальном времени значения, измеренные различными датчиками, а также значения всех переменных и констант, а также значения мощности, присвоенные двигателям.
В то же время в окне «Системные параметры» отображаются общие данные о состоянии системы.
Заключение
Эта статья является первой в серии, посвященной некоторым аспектам RobotC. Мы представили программное обеспечение здесь для тех, кто не знаком с ним, и показали некоторые возможности отладки. RobotC действительно представляет собой высокопроизводительное простое программное приложение для программирования роботов Lego Mindstorms NXT и первых шагов в робототехнике.