робот. Учебное пособие по программированию в среде Lego Mindstorms ev3 Учебное пособие предназначено для обучающихся и педагогов, изучающих
Скачать 2.03 Mb.
|
Операции с данными.В красной палитре среды программирования Lego Mindstorms EV3 сосредоточены программные блоки, необходимые для выполнения различных операций над числовыми, логическими или текстовыми данными. Среда программирования Lego mindstorms EV3 позволяет нам обрабатывать в своих программах пять различных типов данных: «Текст», «Числовое значение», «Логическое значение», «Числовой массив», «Логический массив». Тип данных «Числовое значение» позволяет нам выполнять различные математические операции над числами. Числа в программе могут быть как положительными, так и отрицательными, быть целыми значениями или содержать десятичную дробь. Например: 3,14, -2,5, 20. Перед тем, как начать обрабатывать различные типы данных в наших программах, нам надо научиться их создавать и хранить. Для этих целей среда программирования предоставляет два вида программных блоков: «Переменная» и «Константа». Эти блоки позволяют создать в памяти робота специальные ячейки, позволяющие записывать, извлекать и редактировать различные типы данных. Программный блок «Константа» позволяет создавать ячейку памяти для хранения одного из пяти типов данных. Требуемое значение записывается в ячейку на этапе создания программы и остается неизменным во время выполнения всей программы. Для получения значения, записанного в блок «Константа» используется «Вывод». В программном блоке «Переменная» существует два режима «Считывание» и «Записать». Прежде чем использовать переменную, ей необходимо задать имя, выбрав параметр блока «Добавить переменную». Имя переменной может содержать только заглавные и строчные буквы латинского алфавита, цифры, а также символы _ и -. Задать значение переменной можно, записав или передав число в параметр «Значение». Блок математика Блок математика служит для выполнения математических вычислений. Он позволяет выполнить выбранную математическую операцию над двумя числами, заданными параметрами "a" и "b". В режиме «Дополнения» количество параметров для расчета увеличивается до четырех. В параметр «Уравнение» можно вписать любую произвольную формулу. Блок «Округление» Режимы «До ближайшего», «округлить к большему» и «округлить к меньшему» производят округление до целого значения. В режиме «Отбросить дробную часть» можно задать количество остающихся знаков дробной части после запятой. Блок «Сравнение» Блок предназначен для сравнения двух числовых значений, которые могут вписываться в окна блока или приходить по проводникам. На выходе появляется логическое значение «Истина» или «Ложь», в зависимости от результата сравнения. Блок «Интервал» Блок предназначен для определения нахождения числа относительно диапазона: внутри или снаружи. Значения могут, как непосредственно вписываться в окна блока, так и приходить по проводника. На выходе блока появляется логическое значение «Истина» или «Ложь», в зависимости от полученного результата. Блок «Случайное значение» Блок предназначен для генерирования случайного значения (числового или логического) в указанном диапазоне. Блок «Операции над массивом» Массив – это набор однотипных элементов, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу. Индекс первого элемента равен 0. В среде EV3 можно работать с одномерными числовыми и логическими массивами. Блок Операции над массивом позволяет определять длину массива, читать, записывать и удалять требуемые элементы массива. Прежде чем начать работу с массивами, необходимо их инициировать, т.е. указать тип (числовой или логический) и присвоить имя. Данные в массив можно вносить в ручном или автоматическом режиме (считывая показания с датчиков). Для создания массива необходимо использовать блок «Переменная». Например: необходимо написать программу прямолинейного движения для проезда роботом расстояния в 0,5 метра. Решение: За один полный оборот мотора робот проезжает расстояние, равное длине окружности колеса. Это расстояние можно найти, умножив число Пи (=3,14159) на диаметр колеса. Диаметр колеса из образовательного набора Lego mindstorms EV3 равен 56 мм. Если переведем расстояние в 0,5 метра в миллиметры (500 мм) и разделим на расстояние, которое робот проходит за один оборот мотора, то узнаем: сколько оборотов мотора необходимо для проезда всего заданного расстояния. Приступим к созданию программы: Используя программный блок «Константа», заведем в программу постоянное число Пи, равное примерно 3,14159. Используя программный блок «Переменная», создадим в программе переменную «d» и занесем в нее значение диаметра колеса. Используя программный блок «Математика», умножим значение блока «Константа» на значение переменной d. Для передачи значения из переменной d в программный блок «Математика» используем второй программный блок «Переменная» в режиме «Считывание». Для передачи значений между программными блоками используются шины данных. Чтобы установить шину данных, необходимо «потянуть» выходной параметр одного программного блока и «присоединить» его к входному параметру другого программного блока. Используя программный блок «Математика», разделим значение пути (500 мм) на значение, полученное в шаге 3. Полученное в шаге 4 значение подадим в параметр «Обороты» блока «Рулевое управление». Загрузим полученную программу в нашего робота. Поставим робота на ровную свободную площадку и запустим программу. Измерив расстояние, пройденное роботом, убедимся в правильности нашей программы. |