УДК 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
СОДЕРЖАНИЕ
Предисловие .......................................................................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
Стр.4
4
Содержание
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. ВП использования графика диаграмм для
отображения потока данных. Отслеживание показания датчика
Стр.5
Содержание
5
звука в режиме 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
Стр.6
6
Содержание
Урок 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. Описаны примеры
Стр.7
Содержание
передачи показаний датчиков от одного 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
7
Стр.8
8
Содержание
Урок 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
Стр.9