Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программируем микрокомпьютер NXT в LabVIEW

Покупка
Артикул: 616106.02.99
Доступ онлайн
239 ₽
В корзину
Учебник по программированию микрокомпьютера NXT в LabVIEW написан специально для школьников. Эта книга может быть рекомендована для изучения темы «Алгоритмизация и объектно-ориентированное программирование» учащимися третей ступени общего образования в старшей школе в рамках федерального базисного учебного плана. Она может быть использована для работы в общеобразовательных классах и классах естественно-математического и информационно-технологического профиля. Структура книги во многом схожа с тематическим планированием изучения языка программирования в курсе школьного предмета «Информатика». Содержание книги поясняется многочисленными рисунками, примерами и упражнениями.
Белиовская, Л. Г. Программируем микрокомпьютер NXT в LabVIEW : учебник / Л. Г. Белиовская, А. Е. Белиовский. - Москва : ДМК Пресс, 2017. - 281 с. - ISBN 978-5-97060-474-8. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2012547 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Белиовская Л.Г.
Белиовский А.Е.

Программируем

микрокомпьютер 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 лавинообразно идет по тем направле
Доступ онлайн
239 ₽
В корзину