Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа 2

.pdf
Скачиваний:
28
Добавлен:
10.02.2016
Размер:
1.84 Mб
Скачать

Программирование СКС. Лабораторная работа № 2

11

 

 

Рассмотрим свойства блока «Wait». Задержку можно запрограммировать на определенное время (в секундах) или до наступления определенного условия. В качестве условия может выступать поступивший сигнал из сенсора, нажатие кнопки на контроллере или сообщение, переданное или принятое через Bluetooth.

Рассмотрим блок «Loop». Он позволяет организовать цикл в программе.

Перетащим блок в рабочую область.

Блок можно расширить. Для этого нужно навести мышку на область внутри цикла, зажать и перетащить область вправо.

Программирование СКС. Лабораторная работа № 2

12

 

 

Тело цикла программируется путем перетаскивания нужных блоков внутрь цикла. Также можно строить вложенные циклы, перетащив в тело цикла еще один блок

«Loop».

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

Рассмотрим блок «Switch». Он позволяет организовать ветвления в программе, и аналогичен конструкции if … else.

Перетащим блок в рабочую область.

Программирование СКС. Лабораторная работа № 2

13

 

 

Блок можно расширить аналогично блоку «Loop» (зажать кнопку внутри блока и перетащит вправо).

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

В свойствах блока необходимо выставить условие ветвления. Это может быть результат считывания данных из сенсора (true, если полученные данные совпали с

Программирование СКС. Лабораторная работа № 2

14

 

 

ожидаемыми, иначе – false), а также полученные данные из других блоков, логические выражения или полученное сообщение.

Рассмотрим набор блоков, отвечающий за сенсоры. Первый рассматриваемый блок – блок сенсора нажатия Touch Sensor.

Перетащим блок на «рельс». Результаты показаний сенсора можно использовать в качестве входных данных для других блоков (true, если полученные данные совпали с ожидаемыми, иначе – false).

В свойствах необходимо указать ожидаемую реакцию от сенсора. В качестве реакции можно указать нажатие кнопки, отжатие кнопки или щелчок.

Программирование СКС. Лабораторная работа № 2

15

 

 

Следующий блок – блок ультразвукового сенсора Ultrasonic sensor.

Перетащим блок на рабочую область.

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

Следующий блок – блок сенсора цвета Color Sensor. Сенсор цвета может воспринимать 6 цветов или измерять интенсивность освещения.

Программирование СКС. Лабораторная работа № 2

16

 

 

Перетащим блок на рабочую область.

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

Последний блок сенсоров – блок кнопок на контроллере NXT Buttons.

Перетащим блок на рабочую область.

Программирование СКС. Лабораторная работа № 2

17

 

 

В свойствах блока необходимо выставить одну из трех кнопок (Enter», «влево» или «вправо»), а также нажатие, отжатие или щелчок.

В панели блоков также представлены блоки категории «Data», которые можно использовать для манипуляции данными, введения переменных, генерации случайных чисел и т.д.

Еще одна категория блоков – блоки категории «Advanced». Данные блоки позволяют откалибровать сенсоры, использовать Bluetooth адаптер и т.д.

Задание на лабораторную работу:

1.Ознакомиться с устройством робота, контроллером, сенсорами и сервомоторами.

2.Ознакомиться с набором блоков программной среды;

3.Изучить блоки категории «Common», особое внимание уделить блокам

«Move», «Wait», «Loop», «Switch».

4.Изучить блок «Motor» в категории «Action».

5.Рассмотреть работу с сенсорами (категория «Sensors»), особое внимание уделить «Touch sensor», «Color sensor», «Ultrasonic sensor».

6.Научиться строить циклы, ветвления, устанавливать задержки с условиями.

7.На защите лабораторной работы быть готовым конструировать простые алгоритмы из нескольких блоков с циклами и ветвлениями.