Вычислительные возможности робота
занятие мы посвятим изучению вычислительных возможностей модуля EV3 и разберем примеры практических решений задач на вычисление траектории движения.
Программные блоки, необходимые для выполнения различных операций над данными, сосредоточены в красной палитре среды программирования Lego mindstorms EV3.
Среда программирования Lego mindstorms EV3 позволяет нам обрабатывать в своих программах пять различных типов данных: "Текст", "Числовое значение", "Логическое значение", "Числовой массив", "Логический массив". На сегодняшнем уроке мы научимся оперировать с числовыми данными. Тип данных "Числовое значение" позволяет нам выполнять различные математические операции над числами.
Перед тем, как начать обрабатывать различные типы данных в наших программах, нам надо научиться их создавать и хранить. Для этих целей среда программирования Lego mindstorms EV3 предоставляет два вида программных блоков: "Переменная" и "Константа".
Программный блок "Константа" позволяет создавать ячейку памяти для хранения одного из пяти типов данных (1). Требуемое значение записывается в ячейку на этапе создания программы (2) и остается неизменным во время выполнения всей программы. Для получения значения, записанного в блок "Константа" используется "Вывод« (3)
в блоке "Переменная" присутствуют два режима "Считывание" и "Записать" (поз. 1). Перед первым использованием необходимо задать имя переменной, выбрав параметр блока "Добавить переменную" (поз. 2). Имя переменной может содержать только заглавные и строчные буквы латинского алфавита, цифры. Задать значение переменной можно, записав или передав число в параметр "Значение" (поз. 3).
Блок математика, блок округление.
Для выполнения математических вычислений служит программный блок "Математика". Он позволяет выполнить выбранную математическую операцию (поз. 1) над двумя числами, заданными параметрами "a" и "b".
В режиме Дополнение количество параметров для расчета увеличивается до четырех: "a", "b", "c" и "d". В параметр "Уравнение" (Рис. 5 поз. 1) можно вписать любую произвольную формулу, производящую вычисления с этими параметрами.
Программный блок " Округление "
Режимы "До ближайшего", "Округлить к большему" и "Округлить к меньшему" производят округление до целого значения. В режиме "Отбросить дробную часть" можно задать количество остающихся знаков дробной части после запятой.
Задача. Написать программу прямолинейного движения для проезда роботом расстояния в 1 метр.
За один полный оборот мотора робот проезжает расстояние, равное длине окружности колеса. Это расстояние можно найти, умножив число Пи (=3,14159) на диаметр колеса. Диаметр колеса из набора Lego mindstorms EV3 равен 56 мм. Если переведем расстояние в 1 метр в миллиметры (1000 мм) и разделим на расстояние, которое робот проходит за один оборот мотора, то узнаем: сколько оборотов мотора необходимо для проезда всего заданного расстояния.
- Используя программный блок "Константа", заведем в программу постоянное число Пи, равное примерно 3,14159.
- Используя программный блок "Переменная", создадим в программе переменную D и занесем в нее значение диаметра колеса
- Используя программный блок "Математика", умножим значение блока "Константа" на значение переменной D. Для передачи значения из переменной D в программный блок "Математика" используем второй программный блок "Переменная" в режиме "Считывание"!
Для передачи значений между программными блоками используются шины данных. Чтобы установить шину данных, необходимо "потянуть" выходной параметр одного программного блока и "присоединить" его к входному параметру другого программного блока
4. Используя программный блок "Математика", разделим значение пути (1000 мм) на значение, полученное в шаге 3.
5. Полученное в шаге 4 значение. округлив до двух знаков после запятой, выведем на экран модуля EV3.
6. Полученное в шаге 4 значение подадим в параметр "Обороты" блока "Рулевое управление"
Загрузим полученную программу в нашего робота. Поставим робота на ровную свободную площадку и запустим программу. Измерив расстояние, пройденное роботом, убедимся в правильности нашей программы!
Задача : необходимо написать программу, рассчитывающую значение параметра "Градусы" для разворота нашего робота на 180 градусов
Данная задача имеет сходство с предыдущей - нам только требуется найти расстояние, которое должны проехать колеса нашего робота. Для того, чтобы наш робот развернулся на 180 градусов - необходимо, чтобы правое и левое колеса, проехав определенный путь по окружности, поменялись местами. Как видим из Рис. 8 - каждое колесо при этом проедет ровно половину окружности с диаметром, равным расстоянию между центрами колес (красная линия). Подходящей линейкой померяем расстояние между центрами колес.
Следовательно, умножив это значение на число Пи (3,14159) и разделив на 2, мы найдем расстояние, которое должно проехать каждое из колес нашего робота. Как найти соответствующее этому расстоянию число оборотов мотора - мы разобрали в Задаче 1 данного урока. Для того, чтобы перевести полученное число оборотов в градусы - вспомним соотношение: 1 оборот мотора = 360 градусов. Следовательно, если мы, воспользовавшись программным блоком "Математика", умножим полученное значение оборотов на 360 и подадим результат в параметр "Градусы" программного блока "Независимое управление моторами«