Программируем микрокомпьютер NXT в LabVIEW
Покупка
Тематика:
Информатика
Издательство:
ДМК Пресс
Год издания: 2017
Кол-во страниц: 281
Дополнительно
Вид издания:
Учебник
Уровень образования:
Среднее общее образование
ISBN: 978-5-97060-474-8
Артикул: 616106.02.99
Учебник по программированию микрокомпьютера NXT в LabVIEW написан специально для школьников. Эта книга может быть рекомендована для изучения темы «Алгоритмизация и объектно-ориентированное программирование» учащимися третей ступени общего образования в старшей школе в рамках федерального базисного учебного плана. Она может быть использована для работы в общеобразовательных классах и классах естественно-математического и информационно-технологического профиля. Структура книги во многом схожа с тематическим планированием изучения языка программирования в курсе школьного предмета «Информатика». Содержание книги поясняется многочисленными рисунками, примерами и упражнениями.
Тематика:
ББК:
УДК:
- 373: Дошкольное воспитание и образование. Общее школьное образование. Общеобразовательная школа
- 621: Общее машиностроение. Ядерная техника. Электротехника. Технология машиностроения в целом
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Белиовская Л.Г. Белиовский А.Е. Программируем микрокомпьютер NXT в LabVIEW Москва, 2017
УДК 621.38 ББК 32.973.26-108.2 Б43 Белиовская Л.Г., Белиовский А.Е. Б43 Программируем микрокомпьютер NXT в LabVIEW. – М.: ДМК Пресс. – 280 с.: ил. ISBN 978-5-97060-474-8 Учебник по программированию микрокомпьютера NXT в LabVIEW написан специально для школьников. Эта книга может быть рекомендована для изучения темы «Алгоритмизация и объектно-ориентированное программирование» учащимися третей ступени общего образования в старшей школе в рамках федерального базисного учебного плана. Она может быть использована для работы в общеобразовательных классах и классах естественно-математического и информационно-технологического профиля. Структура книги во многом схожа с тематическим планированием изучения языка программирования в курсе школьного предмета «Информатика». Содержание книги поясняется многочисленными рисунками, примерами и упражнениями. ББК 32.973.26-108.2 УДК 621.38 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. © Белиовская Л.Г., Белиовский А.Е. ISBN 978-5-97060-474-8 © Издание, оформление ДМК Пресс
ÑÎÄÅÐÆÀÍÈÅ Предисловие .......................................................................3 С чего начать ............................................................................................11 Урок 1. Некоторые сведения о NXT ..................................13 В этом уроке даются основные представления о том, как устроен NXT внутри. Рассказывается о возможных сценариях, стратегиях программирования NXT в LabVIEW. Представлен ряд датчиков, с которыми будем работать далее, а также перечислены датчики сторонних фирм. A. Как устроен NXT внутри .............................................................................. 13 B. Датчики и мотор, с которыми будем работать ...................................... 16 C. Датчики сторонних фирм для NXT ............................................................ 17 Урок 2. Введение в LabVIEW ...........................................21 В этом уроке даются основные представления о программной среде LabVIEW. A. Программная среда LabVIEW ................................................................... 21 B. Виртуальные приборы (ВП) ........................................................................ .22 C. Пример оформления ВП в среде LabVIEW ............................................ 24 Урок 3. Создание ВП ..................................................... 40 В этом уроке более подробно представлены основы создания и редактирования ВП. Материал данного урока может стать подробным справочным материалом для знакомства с инструментальными панелями и палитрами LabVIEW. К уроку можно обращаться по мере необходимости использования инструментария LabVIEW. Для быстрого старта этот урок можно пропустить. A. Инструментальная панель лицевой панели ........................................... 40 B. Компоненты ВП ............................................................................................. 49
Содержание C. Создание ВП.................................................................................................. 53 D. Редактирование ВП ..................................................................................... 54 E. Упражнение 3-1. ВП Редактирование ...................................................... 61 Урок 4. Простые программы для NXT.......................... .......66 В этом уроке рассказывается, как настроить NXT для подготовки его работы с LabVIEW. Здесь рассмотрены два примера программ для NXT, работающего автономно. A. Настроим NXT для работы с LabVIEW ....................................... ..............67 B. Простые программы для NXT в среде LabVIEW......... ............................ 69 Упражнение 4-1. Вывод информации на дисплей NXT ........................ 69 Упражнение 4-2. Движение робота по простой программе ............. 73 Урок 5. Данные в LabVIEW .............................................. 78 В этом уроке рассматриваются основные типы данных. Обсуждается вопрос соединения различных терминалов данных, установки точности и формата представления числовых данных. Подробнее изучается логический тип данных. A. Последовательность обработки данных в LabVIEW ............................ 78 B. Типы и проводники данных ......................................................................... 80 C. Упражнение 5-1. ВП с данными логического типа ............................... 83 D. Упражнение 5-2. ВП с данными логического типа для NXT ................ 86 Урок 6. Алгоритмическая структура «цикл» While в LabVIEW ................................................................... 90 В этом уроке рассмотрена структура цикл While (по условию), разобран простой пример программы для робота с бесконечным циклом, разобран пример программы с циклом While (по условию), с установкой диапазона изменения данных и количества знаков после запятой в данных. A. Использование цикла While (по условию) бесконечный цикл............. 91 Упражнение 6-1. ВП отслеживания одиночного показания энкодера мотора ........................................................................................ 91 Упражнение 6-2. ВП отслеживания показания энкодера мотора в режиме online ............................................................................. 92 B. Использование цикла While (по условию) ....................................95 C. Упражнение 6-3. ВП использования графика диаграмм для отображения потока данных. Отслеживание показания датчика
Содержание звука в режиме online ................................................................................... 98 D. Упражнение 6-4. ВП для робота следующего заданной траектории .................................................................................................101 Инструкция, как загрузить программу с РС на NXT ................................105 Урок 7. Алгоритмическая структура «цикл» со счетчиком. Доступ к значениям предыдущих итераций цикла в LabVIEW ........................................................ 110 Структура цикл While (по условию) подробно была рассмотрена в уроке 6. В этом уроке рассмотрены цикл For (с фиксированным числом итераций), а также функции доступа к значениям предыдущих итераций. В этом уроке познакомимся с функцией Shift Register (сдвиговый регистр) и со стеком сдвиговых регистров и упомянем о Feedback Node (узле обратной связи). A. Использование цикла For (с фиксированным числом итераций) ......................................................................................................111 B. Организация доступа к значениям предыдущей итерации цикла ...........................................................................................115 Упражнение 7-1. Подсчет суммы цифр в записи целого числа .......117 Упражнение 7-2. Радар для определения скорости ..........................120 C. Организация доступа к значениям предыдущих итераций цикла .............................................................................................................124 Упражнение 7-3. Использование графика диаграмм для отображения нескольких потоков данных. ВП отслеживания показания датчика звука и «бегущего среднего» в режиме online .............................................................................................................126 Урок 8. Основные типы структур. Логическая структура «выбор» .................................................................... 130 В этом уроке рассматриваются основные типы структур LabVIEW при программировании NXT. Изучаются подробно логическая функция «выбор» и логическая структура «выбор». Приведены примеры использования этих структур. A. Основные типы структур. Структуры для NXT ......................................130 B. Логическая функция «выбор» ...................................................................133 Упражнение 8-1. ВП деления чисел .......................................................134 C. Логическая структура Case «выбор» .....................................................136 Упражнение 8-2. ВП подсчета числа нажатий датчика касания .....138 D. Использование вложенных структур Case «выбор» ...........................142 Упражнение 8-3. Робот обходит препятствия, получая сигналы от двух датчиков касания ...............................................................................142
Содержание Урок 9. Кластеры ........................................................ 148 В этом уроке рассказывается об объединении элементов различных типов данных в кластеры. Описано, как создать кластер из элементов управления или отображения данных, каков порядок элементов в кластере. Описана процедура создания кластера констант. A. Что такое кластеры ....................................................................................148 B. Использование функций работы с кластерами ...................................151 C. Упражнение 9-1. ВП работы с кластерами на NXT ............................155 Урок 10. Строки и файловый ввод/вывод ........................ 162 В этом уроке рассказывается о функциях работы с файлами, которые обеспечивают ввод данных в файл и вывод данных из файла. Будем рассматривать работу с файлами, которые расположены непосредственно на NXT, и с файлами с данными на РС. A. Строки. Создание строковых элементов управления и отображения данных .................................................................................162 B. Функции работы со строками ..................................................................164 Упражнение 10-1. ВП компоновки строки для NXT ............................165 C. Функции файлового ввода на NXT ..............................................168 Упражнение 10-2. Запись значений в файл на NXT ...........................170 D. Функции файлового ввода/вывода в LabVIEW ..................................173 Упражнение 10-3. Запись значений в файл на РС .............................176 Упражнение 10-4. Чтение из файла и запись в файл ........................177 Урок 11. Локальные переменные .................................. 181 В этом уроке продемонстрируем, как создавать, сохранять и манипулировать локальными переменными. Опишем, как сделать элементы управления и индикации более гибкими и удобными. A. Локальные переменные ............................................................................181 Упражнение 11-1. Использование локальной переменной для управления параллельными циклами ....................................................183 B. Упражнение 11-2. Счетчик для голосования на NXT ..........................186 C. Упражнение 11-3. Система автоматической регистрации результатов для соревнований роботов ..............................................189 D. Упражнение 11-4. Программа для игры «Тир» ....................................194 Урок 12. Передача данных между NXT ............................ 198 В этом уроке рассказывается о возможности организации процесса обмена данных между двумя или несколькими NXT. Описаны примеры
Содержание передачи показаний датчиков от одного NXT другому. Отображение результатов исследования оформляется с помощью многостраничного контейнера Tab. A. Связь компьютера с несколькими NXT ...................................................198 B. Упражнение 12-1. Совместная работа двух NXT ............................... 201 C. Упражнение 12-2. Совместная работа двух NXT. Графопостроитель ....................................................................................207 Урок 13. Создание подпрограмм ВП ............................... 214 В этом уроке представлена последовательность действий по редактированию иконки ВП, а также настройки соединительной панели (области полей ввода/вывода данных), что позволяет использовать виртуальный прибор как подпрограмму в других ВП. A. Модульный принцип построения программ. Узел Формула ............214 Упражнение 13-1. ВП содержит узлы формул ....................................217 B. Подпрограмма ВП. Создание иконки ВП и настройка соединительной панели ............................................................................219 Упражнение 13-2. Управление роботом-сортировщиком с тремя степенями свободы ........................................................................225 C. Использование виртуального прибора в качестве подпрограммы ВП ......................................................................................232 Упражнение 13-3. Панель управления для робота-сортиров- щика ............................................................................................................. 232 D. Превращение выделенной секции блок-диаграммы ВП в подпрограмму ВП ...................................................................................................236 Урок 14. Структура данных массивы ................................237 В этом уроке рассказывается об объединении элементов одного типа данных в массивы. A. Типы и объявление массивов ....................................................................237 B. Создание массивов с помощью цикла .................................................. 238 Упражнение 14-1. Запись показаний датчика в числовой массив ...........................................................................................................243 C. Двумерные массивы и вложенные циклы ...............................................245 D. Использование функций работы с массивами ....................................247 E. Полиморфизм...............................................................................................248
Содержание Урок 15. Графические возможности языка....................... 251 В этом уроке рассмотрены способы визуализации данных с помощью графика с постоянным шагом (Waveform Graph) и двухкоординатного графика (XY graph). В общем случае графики диаграмм следует использовать для вывода на экран скалярных точек, а графики Waveform Graph – для вывода массивов данных. A. Использование графика с постоянным шагом ....................................252 Упражнение 15-1. Вывод массива показаний датчика света на график .....................................................................................................253 Упражнение 15-2. Вывод нескольких графиков ..................................255 B. Двухкоординатный график для отображения данных .........................258 Упражнение 15-3. ВП графика окружности ........................................258 Упражнение 15-4. ВП отображения нескольких зависимостей на одной области графика ......................................................................262 Урок 16. Режим прямого обмена ....................................265 В этом уроке рассказывается о режиме прямого обмена между компьютером РС и NXT. Описан пример синхронизированной работы компьютера РС одновременно с несколькими NXT. A. Режим прямого обмена .............................................................................265 Упражнение 16-1. Запускаем программу на NXT из ВП на РС .............................................................................................................267 B. Упражнение 16-2. Совместная работа четырех NXT, управляемых компьютером РС ........................................................................................270 C. Упражнение 16-3. Синхронизированная работа четырех NXT, управляемых компьютером РС ...............................................................274 Заключение .....................................................................277
Ïðåäèñëîâèå Сейчас вы держите в руках замечательную книгу, которая поможет вам сделать первые шаги по интересному, трудному, но очень увлекательному пути объектно-ориентированного программирования. Эта книга написана для начинающих, для самых начинающих – для школьников. Мы будем постигать основы программирования на LabVIEW, используя замечательный микрокомпьютер NXT с датчиками и активными устройствами, из которых получается робот, автономное, мобильное устройство, работающее по программе, которую мы составим на языке LabVIEW. Нам повезло. Из LEGO MINDSTORMS NXT оборудования можно создать реальное устройство, которое будет действительно выполнять наши задания. Сразу внесем ясность. Нашей задачей не является научить строить роботы. Конструировать научить довольно трудно. Каждый идет своей дорогой, у каждого есть свои предпочтительные узлы крепления конструкции и этапы создания самой конструкции. Многому можно научиться только многократным переделыванием конструкции. Некоторые, таланты, видят конструкцию сразу. По многолетнему опыту работы с ребятами – робототехниками разных возрастов, можем сделать вывод: сборка модели по инструкции отвергается в 90% случаев. Молодые амбициозны, у них нет авторитетов. Они уверены в себе и считают, что сделают все сами лучше. Поэтому в книге приведены лишь каркасы моделей и не описывается, как их собрать. Наша задача – научить тому, как заставить роботов выполнять задания и упражнения, как написать программу. Написание программ – процесс творческий. И для одного и того же задания можно составить несколько вариантов работающих программ. Но, освоив принципы программирования, разобрав примеры, можно
Предисловие самому пуститься в увлекательное творчество и что-то упростить, быть может, или придумать свой, нетривиальный код. Язык LabVIEW не похож на другие известные языки программиро вания. У него графический интерфейс. И все наши программы – рисунки-схемы, приводящие в движение роботов. Что же это за язык – LabVIEW? Среда LabVIEW совершенству ется уже почти двадцать лет. В соответствии со своим названием LabVIEW, или Laboratory Virtual Instrument Engineering Workbench (среда разработки виртуальных приборов), первоначально использовалась в исследовательских лабораториях. В настоящее время наряду с этим традиционным применением в фундаментальной науке она используется и в отраслевых промышленных лабораториях и все более широко в образовании – в университетских лабораторных практикумах. А такое свойство LabVIEW, как возможность дистанционного управления экспериментом (по корпоративной сети, или через Интернет), делает эти практикумы теоретически общедоступными, что, в свою очередь, радикально увеличивает доступность качественного образования. Замечательной особенностью этой среды является то, что основной идеей процесса создания программ будет не КАК – как описать переменные, согласовать типы, описать и инициализировать окошки и задать их свойства и т.д. и т.п. И за всей этой подготовительной работой и многочисленными сложностями, с ней связанными, уже и забыл, что хотел ПРОСТО ВЫВЕСТИ ЗНАЧЕНИЕ на экран в удобной форме. Нашей основной идеей программирования станет – ЧТО МЫ ХОТИМ ПОЛУЧИТЬ. Да, все и сразу. Никакой долгой работы и труда, чтоб получить ту рыбку, золотую рыбку из пруда. А если еще потратить совсем немного сил, чтоб всю нашу работу раскрасить и оформить, как душе угодно, то процесс создания программ совсем будет в радость. В этом месте уже возникает у многих ухмылка, опять адаптация под детей: «рисовалки», наглядность, отсутствие «мохнатого» кода, так радующего глаз профессионалов-программистов. Нет, а управление Марсоходом, не хотите? В 1997 году, когда NASA рассекретила свою программу SOJOURNER ROVER’S, выяснилось, что для обеспечения ориентации, приземления и функционирования космических аппаратов применялась программа LabVIEW National Instruments. Распространение LabVIEW лавинообразно идет по тем направле