Введение в программирование LEGO-роботов на языке NXT-G
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ИНТУИТ
Год издания: 2016
Кол-во страниц: 79
Дополнительно
В пособии рассматриваются основы программирования роботов LEGO на языке программирования NXT-G.
Курс рассчитан на студентов и школьников, также будет полезен учителям информатики для организации занятий по робототехнике.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 01.03.04: Прикладная математика
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
В.О. Дженжер Л.В. Денисова Введение в программирование LEGO-роботов на языке NXT-G ^ИНТУИТ / НАЦИОНАЛЬНЫЙ ОТКРЫТЫЙ УНИВЕРСИТЕТ
С.ИНТУ ИТ У НАЦИОНАЛЬНЫЙ ОТКРЫТЫЙ УНИВЕРСИТЕТ Введение в программирование LEGO-роботов на языке NXT-G 2-е издание, исправленное Дженжер В.О. Денисова Л.В. Национальный Открытый Университет “ИНТУИТ” 2016 2
Введение в программирование LEGO-роботов на языке NXT-G/ В.О. Дженжер, Л.В. Денисова - М.: Национальный Открытый Университет “ИНТУИТ”, 2016 В пособии рассматриваются основы программирования роботов LEGO на языке программирования NXT-G. Курс рассчитан на студентов и школьников, также будет полезен учителям информатики для организации занятий по робототехнике. (c) ООО “ИНТУИТ.РУ”, 2014-2016 (c) Дженжер В.О., Денисова Л.В., 2014-2016 3
Lego Mindstorms NXT 2.0. Обзор Проводится поверхностный обзор робототехнического комплекса, включающего конструктор Lego Mindstorms NXT 2.0 и среду программирования NXT-G. Цель: познакомиться с основными компонентами конструктора Lego Mindstorms NXT 2.0, интерфейсом среды NXT-G и научиться создавать простейшую программу “Hello, world!”. Введение Учебник по этому курсу распространяется под лицензией Creative Commons Attribution-Noncommercial: lego-nxt-g.pdf скачать: http://old.intuit.ru/department/expert/legonxtg/1/lego-nxt-g.pdf Изучение робототехники сегодня начинается уже со школьной скамьи. Однако не всем школам так повезло, и тому есть ряд объективных причин. Во-первых, стоимость одного робототехнического комплекса (здесь и далее имеется в виду Lego Mindstorms NXT 2.0) превышает стоимость средней компьютерной системы. Во-вторых, руководить занятиями робототехники должен высококвалифицированный педагог, одинаково хорошо разбирающийся и в техническом конструировании, и в микроэлектронике, и в программировании. Подготовка таких специалистов-педагогов сегодня только начинается. Ну и в-третьих, русскоязычные учебники, вышедшие из печати на сегодняшний день, можно пересчитать, по-видимому, на пальцах одной руки. Настоящее пособие было подготовлено по результатам работы со студентами, получающими специальность учителя информатики. Авторы ставили перед собой задачу дать начальные понятия программирования роботов Lego Mindstorms NXT 2.0 на языке NXT-G. Кроме того, отдельные главы пособия были использованы на курсах по повышению квалификации и переподготовке учителей информатики на кафедре информатики и методики преподавания информатики Оренбургского государственного педагогического университета. Не так давно появилась более новая версия робототехнического комплекса LegoMindstorms EV3. Однако имеющийся в российских школах и центрах технического творчества парк роботов Mindstorms NXT 2.0 так велик, что было бы неправильным сбрасывать его со счетов. Программирование сегодня уже не так привлекательно для школьников как 15-20 лет назад. Это замечают многие школьные и вузовские преподаватели информатики. Нужны новые средства для мотивации учеников в этой области. По нашему мнению, робототехника сегодня как раз и является таким средством. Поэтому в пособии упор делается на алгоритмической составляющей робототехники. Обращаем внимание студентов на то - и это очень важно! - что при работе с пособием следует не только выполнять задания, но и обязательно набирать и проверять задачи из примеров. Это поможет лучше понять язык и особенности программирования роботов. 4
Мы рассматриваем программирование роботов в англоязычной версии среды 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 среды, гироскопический датчик, компас и др. Все датчики и моторы подсоединяются к NXT-блоку через порты входа и выхода посредством чёрных шестипроводных кабелей. Сенсоры подключаются к входным портам под номерами 1 - 4, а моторы - к выходным портам, имеющим на блоке NXT названия A, B, C. Производитель рекомендует для подключения сенсоров и моторов использовать стандартные порты: • Порт 1: Датчик касания • Порт 2: Датчик касания 5
п Порт 3: Датчик цвета • Порт 4: Ультразвуковой сенсор • Порт A: Мотор для дополнительных функций • Порт B: Мотор для движения • Порт C: Мотор для движения Рис. 1.1. Внешний вид блока NXT и его разъёмы В нашем учебном курсе мы придерживаемся этих рекомендаций. На самом деле можно подключать сенсоры в произвольные порты. Соблюдать стандартные порты обязательно при работе с меню Try Me (см. ниже). Блок NXT работает от шести батарей типа AA. В образовательную версию набора входит аккумуляторная батарея. Работа с меню NXT происходит при помощи четырёх кнопок (Рис. 1.1): • Серые треугольники - кнопки “вперёд” (вправо) и “назад” (влево) - позволяют перемещаться внутри меню до нужного пункта; • Оранжевый квадрат соответствует клавише ввода; она же используется для включения робота; 6
• Тёмно-серый прямоугольник - “отмена” или переход назад к предыдущему пункту. Эта же кнопка используется для выключения робота. Для выключения NXT нажимайте кнопку до тех пор, пока на экране не появится надпись Turn off?, после чего для подтверждения выключения нажмите оранжевую кнопку. Также можно нажать и удерживать тёмно-серую кнопку до полного выключения NXT. Рис. 1.2. Экран отключения блока NXT Задание 1.1. Научитесь включать и выключать свой NXT. Попробуйте выключить NXT двумя способами, описанными выше. Вся информация на дисплее NXT отображается на английском языке. При включении экран NXT выглядит как на Рис. 1.3: 7
Иконка USB Иконка рабочего состояния Иконка Bluetooth ♦ Иконка предыдущего пункта меню Имя робота Заряд батареи Название текущего пункта меню Иконка следующего пункта меню Иконка текущего пункта меню Рис. 1.3. Экран блока NXT после включения Bluetooth включен, но NXT не определяется другими устройствами Bluetooth. Bluetooth включен, и NXT определяется другими устройствами Bluetooth. Bluetooth включен, и NXT подключен к устройству Bluetooth. U5B USB подключен и работает нормально. USB подключен, но имеются неполадки. Если NXT работает нормально, то иконка рабочего состояния крутится. Если вращение иконки прекратилось, значит NXT завис и требует перезагрузки. По умолчанию роботу присвоено имя NXT. Имя можно изменить. Как это сделать см. в п. 1.2. Задание 1.2. Включите NXT. Изучите информацию, которая отображается на экране NXT. Перемещайтесь по главному меню NXT при помощи стрелок. Выключите NXT. Рассмотрим структуру меню NXT. • My Files (Мои Файлы). Здесь хранятся все файлы NXT. ° Software files (Файлы программ). Здесь хранятся скомпилированные файлы программ, загруженных пользователем. Отсюда происходит запуск программ на выполнение. о NXT files (Файлы NXT). Служебные файлы NXT. ° Sound files (Звуковые файлы). Здесь содержатся различные звуковые файлы, 8