Урок № 9
Использование шины данных
СОДЕРЖАНИЕ
Конфигурация с помощью шины данных . . . . . . . . . . .3Изменение скорости движения робота при приближении к объекту . . . . . . . . . . . . . . . . . . . . . 7Запуск алгоритма при определении заданного цвета . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3
Использование шины данных
Конфигурация с помощью шины данных
Для более сложного программирования робота используют шины данных. Шиной данных называют взаимосвязь между бло-
ками, которая позволяет передавать информацию от одного блока к другому . Процесс такой передачи назы-вается конфигурацией данных .
Давайте рассмотрим конкретный пример . Задание состоит в создании такой программы, в которой бы ско-рость езды робота зависела от степени освещенности комнаты . Именно слово «зависела» в задании подска-зывает нам, что нужно использовать шину данных .
Посмотрим на рисунок 1 . Как видим, в программу добавили блок датчика цвета и движения, соединив их с помощью шины данных . Таким образом, каждый раз, когда освещение в комнате будет меняться, робот тоже будет изменять скорость .
Рисунок 1
Существует большое количество шин данных, их выбор зависит от того, какие данные мы будем переда-вать .
Рассмотрим подробнее разные группы данных . ■ Числовые значения – группа данных, которая пред-
ставлена только числами (положительными, отрица-тельными, целыми, десятичными) . Например: 1, 25, 999, -80, 2.5 и так далее .
■ Логические значения. Мы сталкивались с ними, ког-да изучали логические операторы . Как вы помните, есть только два вида таких значений: Истина и Ложь .
■ Текстовое значение – это набор букв или предложе-ний, а также символов, поддерживаемых программой . Например, Aa123@#$%-+= .
■ Числовой массив – это перечень числовых значений (например, от 1 до 10) . Его можно подать в виде спи-ска чисел, разделенных точкой с запятой, который расположен в квадратных скобках – [ ] . Длина такого массива определяется количеством элементов . Таким образом, в массиве [1;5] будет 5 элементов .
■ Логический массив похож на числовой массив, но вместо чисел в нем используются логические значе-ния (Истина и Ложь) .
4
Урок № 9
Вернемся к шинам данных . Во время программирования можно заметить, что
шины отличаются по цвету, а блоки, которые мы соеди-няем, – по форме .
Блоком вывода называют блок, который передает данные другому блоку . Соответственно, блоком ввода считается тот, который принимает данные .
Рассмотрим таблицу .
Тип Блок вводаБлок
выводаШина данных
Логическое значение
Числовое значение
Текстовое значение
Числовой массив
Логический массив
Если мы вернемся к первому примеру (см . рис . 1), то сразу поймем, что передавались числовые значения . Вдобавок нам станет ясно, что блок цвета – это блок вы-вода, а блок движения – ввода .
5
Использование шины данных
Чтобы применить шину блока, нажмите на блок вывода данных и зажмите мышку, перетаскивая его к блоку ввода . Будьте внимательны: соединять можно только одинаковые блоки или доступные к конвертации (автоматической обработке) .
Из типа В тип Результат
Логическое значение
Числовое значение
Ложь = 0 Истина = 1
Логическое значение
ТекстЛожь = «0» Истина = «1»
Логическое значение
Логический массив
Стрелка с одним элементом
Логическое значение
Числовой массив
Стрелка с одной деталью (0 или 1)
Числовое значение
ТекстТекстовое представление числовых данных (Например, «3,5»)
Числовое значение
Числовой массив
Стрелка с одним элементом
Логический массив
Числовой массив
Стрелка одного размера с элементами, равными 0 или 1
6
Урок № 9
Изменение скорости движения робота при приближении к объекту
Рассмотрим конкретный пример применения шин данных .
Наша первая задача состоит в том, чтобы робот по-степенно снижал скорость, приближаясь к стене или любому другому объекту .
Как вы видите на рисунке 2, в Цикл мы добавили только два блока: цвет и движение . Кроме того, цвет на-строили с помощью значения Measure – Proximity, а для рулевого движения установили режим On . Шина дан-ных соединяет блок цвета (вывода) и движения (ввода) .
Таким образом, находясь рядом с каким-то предме-том или стеной, робот снижает скорость .
Рисунок 2
7
Использование шины данных
Рисунок 3
8
Урок № 9
Запуск алгоритма при определении заданного цвета
Теперь давайте настроим робота таким образом, чтобы при определении датчиками зеленого цвета, ин-дикатор модуля тоже загорался этим цветом .
Для этого добавим в цикл блок цвета (Measure – Compare – Color) и индикатор модуля (On) . В обоих блоках нужно установить зеленый цвет . Для блока цвета он принимает значение 3, а для индикатора – 0 (рис . 3) .
Перейдем к следующей задаче. Поставим на пути робота два объекта разного цве-
та (к примеру, красного и зеленого) . Робот должен ехать по прямой и, приближаясь к красному объекту, затор-мозить, при этом индикатор модуля должен загореться таким же цветом . После этого он должен продолжить путь и, по мере приближения к зеленому объекту, ско-рость робота должна возрасти, а цвет индикатора поме-няться на зеленый .
Урок № 9Использование шины данных
© Компьютерная Академия ШАГ www.itstep.org
Все права на охраняемые авторским правом фото-, аудио- и видеопроизведения, фрагменты которых использованы в материале, принадлежат их законным владель-цам. Фрагменты произведений используются в иллюстративных целях в объёме, оправданном поставленной задачей, в рамках учебного процесса и в учебных целях, в соответствии со ст. 1274 ч. 4 ГК РФ и ст. 21 и 23 Закона Украины «Про авторське право і суміжні права». Объём и способ цитируемых произведений соответствует принятым нормам, не наносит ущерба нормальному использованию объектов авторского права и не ущемляет законные интересы автора и правообладателей. Цитируемые фрагменты произведений на момент использования не могут быть заменены альтернативными, не охраняемыми авторским правом аналогами, и как таковые соответствуют критериям добросовестного использования и честного использования.
Все права защищены. Полное или частичное копирование материалов запрещено. Согласование использования произведений или их фрагментов производится с авторами и правообладателями. Согласованное использование материалов возможно только при указании источника.
Ответственность за несанкционированное копирование и коммерческое исполь-зование материалов определяется действующим законодательством Украины.