Автор:

Вязовов Сергей Михайлович, заведующий кафедрой информатики МАОУ "Лицей №14 имени Заслуженного учител Российской Федерации А.М.Кузьмина" г.Тамбова

 

 

Графическая среда NXT-G используется для программирования микрокомпьютера NXT. Данный софт имеет интуитивно понятный интерфейс, создание программ управления роботами напоминает создание блок-схем и осуществляется с помощью специальных блоков, размещаемых на LEGO-балках вдоль оси последовательности действий. Порядок выполнения программы определяется порядком следования блоков. Подключение новых компонентов выполняется путем их «перетаскивания» с палитры программирования на LEGO-балку.

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

Среди основных достоинств среды визуального программирования – наглядность и простота в использовании, позволяющая быстро освоить программное обеспечение без особых усилий. Однако диапазон функциональных возможностей NXT-G весьма ограничен и требует для работы значительных ресурсов персонального компьютера. Последнее в свою очередь является существенной преградой при разработке сложных проектов.

 

 1. РАБОЧЕЕ ПОЛЕ NXT-G

Для создания новой программы для NXT необходимо выполнить команду File – New.

Рабочее пространство разработки программы для NXT выглядит следующим образом:

Создание программы для NXT представляет собой перемещение необходимых блоков (с точки зрения логики работы программы) из основной или расширенной палитры блоков на рабочее поле, а также настройка блоков.

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

 

 2. ГРУППА БЛОКОВ «COMMON»

Блок «Move» - блок управления движением. Используется для программирования синхронной работы двух или трех сервомоторов. Однако, его можно использовать и для управления движением только одного мотора.

Блок «Display» - вывод информации на экран блока NXT.

Часто требуется вывести значение того или иного параметра на экран программируемого блока NXT, для проверки отслеживания состояния датчиков и переменных. Блок «Display» позволяет выводить текстовые сообщения, картинки или графические объекты (точка, линия, окружность).

 

3. БЛОК ОЖИДАНИЯ СОСТОЯНИЯ – «WAIT»

Параметрами блока «Wait» являются значения датчиков или таймер.

Для соревнований «Hello, robots!» нам понадобится датчик освещённости, датчик цвета (работающий в режиме датчика освещённости), ультразвуковой датчик и кнопка.

 

Датчик освещённости – Light Sensor

 

Обратите внимание, что датчик определяет уровень отражённого от объекта (поверхности) света. Чем значение ближе к 100, тем больше света отражено (то есть цвет поверхности ближе к идеальному белому). И наоборот, чем ближе к 0, тем больше света было поглощено (то есть цвет поверхности ближе к идеальному чёрному).

Пример:

Датчик цвета – Color Sensor

 

Кроме параметров настройки, датчик цвета в режиме Light Sensor работает точно также, как и датчик Light Sensor.

 

Ультразвуковой датчик – Ultrasonic Sensor

Ультразвуковой датчик используется для определения расстояния до объектов. Его можно использовать для поиска банок в соревнованиях «Кегельринг» и «Биатлон».

 

При такой настройке сенсора (как на рисунке выше), предыдущий блок будет выполняться до тех пор, пока расстояние до объекта не окажется меньшем 111 см.

 

Кнопка – Touch Sensor

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

 

4. Блок цикла «LOOP»

Цикл «Loop» позволяет обеспечить многократное выполнение одной и той же группы блоков.

 

В качестве параметра «Control», определяющего число итераций цикла (количество повторений блоков) может выступать одно из следующих значений:

Forever – бесконечное количество итераций цикла (цикл никогда не завершится).

Sensor – работа цикла продолжается до тех пор, пока не будет получено заданное состояние датчика.

Time – цикл работает в течение заданного количества секунд.

Count – реализации цикла со счётчиком – задаётся точное количество итераций цикла.

Logic – в цикл как параметр передаётся логическое значение, в зависимости от которого цикл либо продолжает свою работу, либо завершает. Возможно сравнение логического значения как с истиной, так и с ложью.

 

5. Блок «SWITCH» - Выбор

Блок «Switch» позволяет реализовать ту или иную группу блоков, в зависимости от значений принятых параметров. В качестве принимаемых параметров могут быть:

  1. Состояние сенсора
  2. Значение логического, числового или текстового типов

Яндекс.Метрика