Лабораторная работа 2
.pdf
Программирование СКС. Лабораторная работа № 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.На защите лабораторной работы быть готовым конструировать простые алгоритмы из нескольких блоков с циклами и ветвлениями.
