Конспект урока на тему: «Робот lego mindstorms ev3 исполнитель циклических и условных алгоритмов. «Конспект занятия по робототехнике «Программирование робота EV3 Что в наборе? Классификация деталей, крепление деталей между собой, главный блок, моторы, дат

  • Дата: 09.04.2024

Ольховатская средняя общеобразовательная школа

«Программирование робота LEGO Mindstorms EV

учитель информатики и ИКТ

Меркулова Г. В.

р.п. Ольховатка, 2017 г.

Цели :

    ознакомление с робототехникой с помощью образовательного набора LEGO Mindstorms EV 3 (LEGO Education Mindstorms EV 3);

    систематизация знаний по теме « Алгоритмы » (на примере работы Роботов LEGO Mindstorms EV 3 );

    усвоение понятий исполнитель, алгоритм, циклический алгоритм, свойства циклического алгоритма, дать представление о составлении простейших циклических алгоритмов в среде LEGO Education . Дополнительно усваивается понятие геометрического узора.

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

    Регулятивные:

    систематизировать и обобщить знания по теме «Алгоритмы» для успешной реализации циклического алгоритма работы собранного робота;

    Научиться программировать роботов с помощью программы LEGO Education Mindstorms EV3.

    Познавательные:

    Изучение робототехники, создание собственного робота, умение программировать с помощью программы для LEGO Mindstorms EV 3;

    э кспериментальное исследование, оценка (измерение) влияния отдельных факторов .

    Коммуникативные: развить коммуникативные умения при работе в группе или команде.

    Личностные: развитие памяти и мышления, возможность изучения робототехники на старших курсах.

Тип урока: комбинированный

Вид урока: практическая работа

Оборудование : мультимедиа проектор, конструктор LEGO Mindstorms EV 3 45544 (4 шт.), в набор которого входят 541 элемент, включая USB ЛЕГО-коммутатор, 2 больших сервомотора, датчик ультразвуковой, датчик цвета, датчик касания.

План урока:

    Организационный момент (2 мин)

    Повторение теоретического материала предыдущего урока (10 мин)

    Практическая работа: разработка алгоритма для робота (23 мин)

    Подведение итогов урока. Рефлексия (3 мин)

    Этап информации о домашнем задании (2 мин)

Ход урока:

    1. Организационный момент.

Задача данного занятия - познакомить вас с конструктором Lego mindstorms. Научить программировать их под определенные задачи, разобрать с вами базовые решения наиболее распространенных задач.

Группа деталей служит для соединения балок между собой, с блоком и датчиками. Детали, имеющие крестообразное сечение, называются осями (иногда штифтами) и служат для передачи вращения от моторов к колесам и шестерням.

II . Повторение теоретического материала предыдущего урока.

Учитель : Каждый из нас ежедневно использует различные алгоритмы: инструкции, правила, рецепты и т.д. Обычно мы это делаем не задумываясь. Например, вы хорошо знаете, как сажать деревья. Но допустим, нам надо научить этому младшего брата или сестру. Значит, нам придется четко указать действия и порядок их выполнения.

Что это будут за действия и какой их порядок?

Учащиеся составляют правило посадки деревьев.

    Выкопать ямку.

    Опустить в ямку саженец.

    Засыпать ямку с саженцем землей.

    Полить саженец водой.

    Выкопать ямку.

    Опустить в ямку саженец.

    И т.д.

Теперь давайте ответим на следующие вопросы:

    Чем характеризуется циклический алгоритм?

    Для чего нужны циклические алгоритмы?

    Какими свойствами обладают циклические алгоритмы?

    Как исполнитель реализует циклический алгоритм?

Обучающиеся отвечают на предложенные вопросы, а учитель демонстрирует правильные ответы на слайдах.

III . Практическая работа: разработка циклического алгоритма для робота

Теперь давайте обратимся к нашим роботам (на данном уроке это «трехколесные боты с установленным маркером для рисования на поле», созданные по инструкции), которые мы собирали на прошлом занятии.

Попробуем в специальной программе составить циклический алгоритм, который они будут исполнять с помощью вот таких команд:

Повторение действия или набора действий

(цикл)

Пауза (в секундах)

Задание 1: написать линейный алгоритм, с помощью которого робот будет двигаться по прямой и поворачивать на угол (90 градусов).

Сначала определим, какие команды нам понадобятся, в какую сторону должен крутить мотор, промежуток времени работы мотора и последовательность выполнения команд.

Правильный вариант:

Примечание: время работы мотора в каждом отдельном случае будет разное, в зависимости от требуемого угла поворота подбираются значения работы мотора (время/мощность).

Задание 2: изменить созданный линейный алгоритм на циклический (возможно задать количество повторений цикла).

Правильный вариант:

Примечание: Проанализировать какую геометрическую фигуру нарисует робот маркером на поле. (Будет нарисован квадрат)

Задание 3: изменить алгоритм (изменяя параметры движения вперед НО! не изменяя угол поворота, и зациклив робота на конечное число повторений тела цикла - 4) и посмотреть какую фигуру будет рисовать робот. Пример:

Описание действий: проехать вперед 2 секунды, повернуть на угол 90 градусов, проехать вперед 4 секунды, повернуть на угол 90 градусов. В итоге получится прямоугольник.

Примечание: Проанализировать какую геометрическую фигуру нарисует робот маркером на поле. (Будет нарисован прямоугольник)

Задание 4: изменить алгоритм на свое усмотрение (изменяя параметры движения вперед и изменяя угол поворота, и зациклив робота на бесконечное число повторений тела цикла) и посмотреть какие фигуры будет рисовать робот. Поговорить с ребятами о термине «геометрический узор». Например:

Проанализировать получившиеся фигуры. Обратить внимание на алгоритм для каждой из них. Скорее всего, у каждой группы учеников получится какой-то свой узор.

IV . Подведение итогов урока. Рефлексия.

Итак, ребята, давайте подведем итоги нашей работы.

    Какой вид алгоритмов мы с вами сегодня рассмотрели на практике?

    Какими свойствами обладает циклический алгоритм?

    Какие задачи можно реализовывать с помощью циклических алгоритмов?

V . Этап информации о домашнем задании.

Запишите домашнее задание: разработать алгоритм движения робота, чтобы он нарисовал следующую фигуру.

Задание обязательно будет оценено!

Спасибо за урок! До свидания, ребята.

Список использованного УМК:

    Инструкция для работы с комплектом LEGO Mindstorms EV 3 45544.

    Вязовов С.М., Калягина О.Ю., Слезин К.А. Соревновательная робототехника: приемы программирования в среде EV 3: учебно-практическое пособие. – М. Издательство «Перо», 2014 г.

    Программа LabView для комплектов Lego EV 3 45544.

    Программа ПервоЛого 3.0.

    Интернет-ресурсы.

    Регулятивные:

    систематизировать и обобщить знания по теме «Алгоритмы» для успешной реализации циклического алгоритма работы собранного робота;

    Научиться программировать роботов с помощью программы LEGO Education Mindstorms EV3.

    Познавательные:

    Изучение робототехники, создание собственного робота, умение программировать с помощью программы для LEGO Mindstorms EV3;

    экспериментальное исследование, оценка (измерение) влияния отдельных факторов.

    Коммуникативные: развить коммуникативные умения при работе в группе или команде.

    Личностные: развитие памяти и мышления, возможность изучения робототехники на старших курсах.

Тип урока: комбинированный

Вид урока: практическая работа

Оборудование: мультимедиа проектор, конструктор LEGO Mindstorms EV3 45544 (4 шт.), в набор которого входят 541 элемент, включая USB ЛЕГО-коммутатор, 2 больших сервомотора, датчик ультразвуковой, датчик цвета, датчик касания.

План урока:

    Организационный момент (2 мин)

    Повторение теоретического материала предыдущего урока (10 мин)

    Практическая работа: разработка алгоритма для робота (23 мин)

    Подведение итогов урока. Рефлексия (3 мин)

    Этап информации о домашнем задании (2 мин)

Ход урока:

    1. Организационный момент.

Задача данного занятия - познакомить вас с конструктором Lego mindstorms. Научить программировать их под определенные задачи, разобрать с вами базовые решения наиболее распространенных задач.

Группа деталей служит для соединения балок между собой, с блоком и датчиками. Детали, имеющие крестообразное сечение, называются осями (иногда штифтами) и служат для передачи вращения от моторов к колесам и шестерням.

II. Повторение теоретического материала предыдущего урока.

Учитель: Каждый из нас ежедневно использует различные алгоритмы: инструкции, правила, рецепты и т.д. Обычно мы это делаем не задумываясь. Например, вы хорошо знаете, как сажать деревья. Но допустим, нам надо научить этому младшего брата или сестру. Значит, нам придется четко указать действия и порядок их выполнения.

Что это будут за действия и какой их порядок?

Учащиеся составляют правило посадки деревьев.

    Выкопать ямку.

    Опустить в ямку саженец.

    Засыпать ямку с саженцем землей.

    Выкопать ямку.

    Опустить в ямку саженец.

Теперь давайте ответим на следующие вопросы:

    Чем характеризуется циклический алгоритм?

    Для чего нужны циклические алгоритмы?

    Какими свойствами обладают циклические алгоритмы?

    Как исполнитель реализует циклический алгоритм?

Обучающиеся отвечают на предложенные вопросы, а учитель демонстрирует правильные ответы на слайдах.

III. Практическая работа: разработка циклического алгоритма для робота

Теперь давайте обратимся к нашим роботам (на данном уроке это «трехколесные боты с установленным маркером для рисования на поле», созданные по инструкции), которые мы собирали на прошлом занятии.

Попробуем в специальной программе составить циклический алгоритм, который они будут исполнять с помощью вот таких команд:

Повторение действия или набора действий

Пауза (в секундах)

Задание 1: написать линейный алгоритм, с помощью которого робот будет двигаться по прямой и поворачивать на угол (90 градусов).

Сначала определим, какие команды нам понадобятся, в какую сторону должен крутить мотор, промежуток времени работы мотора и последовательность выполнения команд.

Правильный вариант:

Примечание: время работы мотора в каждом отдельном случае будет разное, в зависимости от требуемого угла поворота подбираются значения работы мотора (время/мощность).

Задание 2: изменить созданный линейный алгоритм на циклический (возможно задать количество повторений цикла).

Правильный вариант:

Примечание: Проанализировать какую геометрическую фигуру нарисует робот маркером на поле. (Будет нарисован квадрат)

Задание 3: изменить алгоритм (изменяя параметры движения вперед НО! не изменяя угол поворота, и зациклив робота на конечное число повторений тела цикла - 4) и посмотреть какую фигуру будет рисовать робот. Пример:

Описание действий: проехать вперед 2 секунды, повернуть на угол 90 градусов, проехать вперед 4 секунды, повернуть на угол 90 градусов. В итоге получится прямоугольник.

Примечание: Проанализировать какую геометрическую фигуру нарисует робот маркером на поле. (Будет нарисован прямоугольник)

Задание 4: изменить алгоритм на свое усмотрение (изменяя параметры движения вперед и изменяя угол поворота, и зациклив робота на бесконечное число повторений тела цикла) и посмотреть какие фигуры будет рисовать робот. Поговорить с ребятами о термине «геометрический узор». Например:

Проанализировать получившиеся фигуры. Обратить внимание на алгоритм для каждой из них. Скорее всего, у каждой группы учеников получится какой-то свой узор.

IV. Подведение итогов урока. Рефлексия.

Итак, ребята, давайте подведем итоги нашей работы.

    Какой вид алгоритмов мы с вами сегодня рассмотрели на практике?

    Какими свойствами обладает циклический алгоритм?

    Какие задачи можно реализовывать с помощью циклических алгоритмов?

V. Этап информации о домашнем задании.

Запишите домашнее задание: разработать алгоритм движения робота, чтобы он нарисовал следующую фигуру.

Задание обязательно будет оценено!

Спасибо за урок! До свидания, ребята.

Список использованного УМК:

    Инструкция для работы с комплектом LEGO Mindstorms EV3 45544.

    Вязовов С.М., Калягина О.Ю., Слезин К.А. Соревновательная робототехника: приемы программирования в среде EV3: учебно-практическое пособие. – М. Издательство «Перо», 2014 г.

    Программа LabView для комплектов Lego EV3 45544.

    Программа ПервоЛого 3.0.

    Интернет-ресурсы.

Задача данного курса - познакомить вас с конструктором Lego mindstorms. Научить собирать базовые конструкции роботов, программировать их под определенные задачи, разобрать с вами базовые решения наиболее распространенных задач-соревнований.

Курс рассчитан на делающих первые шаги в мир робототехники с помощью конструктора Lego mindstorms. Хотя все примеры роботов в этом курсе сделаны с помощью конструктора Lego mindstorms EV3, программирование роботов объясняется на примере среды разработки Lego mindstorms EV3, тем не менее, владельцы Lego mindstorms NXT тоже могут присоединиться к изучению данного курса, и, надеемся, найдут для себя тоже полезное...

1.1. Что в наборе? Классификация деталей, крепление деталей между собой, главный блок, моторы, датчики

Давайте начнем знакомиться с конструктором Lego mindstorms EV3. Распечатав конструктор, мы найдем в нем множество разнообразных деталей. Если вы знакомы с традиционными кирпичиками Lego, но раньше вам не приходилось сталкиваться с наборами Lego серии Technic, ты, возможно, вы будете слегка обескуражены видом непривычных деталей. Однако, разобраться с ними совсем несложно. Итак, условно разделим все детали на несколько категорий. На рисунке представлены детали, называемые балками (иногда для этих деталей можно встретить название - бим (beam)) Балки исполняют роль каркаса (скелета вашего робота),

Рис. 1

Следующая группа деталей служит для соединения балок между собой, с блоком и датчиками. Детали, имеющие крестообразное сечение, называются осями (иногда штифтами) и служат для передачи вращения от моторов к колесам и шестерням. Детали, похожие на цилиндры (имеющие в сечении окружность) называются пинами (от англ. pin - шпилька),

Рис. 2

Представленный ниже рисунок демонстрирует вам различные варианты соединения балок с помощью пинов.

Рис. 3

Следующую группу деталей называют коннекторами. Их главная задача - соединение балок в различных плоскостях, изменение угла соединения деталей и подсоединение датчиков к роботу.

Рис. 4

Переходим к следующей группе деталей. Шестерни предназначены для передачи вращения от моторов к другим элементам конструкции робота. Как правило, это колеса, но в тоже время шестерни могут широко применяться и в различных конструкциях роботов, не предполагающих вращение. С ними мы непременно еще не раз встретимся при конструировании сложных механизмов.

Рис. 5

Ну и, конечно же, движение в пространстве нашему роботу обеспечивают различные колеса и гусеницы, представленные в наборе.

Рис. 6

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

Рис. 7

В набор Lego mindstorms EV3 входят два больших мотора. Моторы выполняют роль мышц или силовых элементов нашего робота. Большие моторы, наиболее часто используются для передачи вращения на колеса, тем самым, обеспечивая движение робота. Можно сказать, что эти моторы выполняют ту же роль, что и ноги человека.

Рис. 8

Один средний мотор, который также входит в набор Lego mindstorms EV3 выполняет роль движущей силы для различного навесного оборудования робота (клешни, модули захвата, различные манипуляторы) По аналогии с большими моторами отведем среднему мотору ту же роль, которую у нас выполняют руки.

Рис. 9

Датчики, входящие в набор Lego mindstorms, представляют роботу необходимую информацию из внешней среды. Главная задача программиста - научиться извлекать и анализировать информацию, поступающую с датчиков, а затем подавать верные команды на моторы для выполнения определенных действий.

Рис. 10

Ну и основным элементом нашего конструктора является главный блок EV3. В этом корпусе заключен мозг нашего робота. Именно здесь выполняется программа, получающая информацию с датчиков, обрабатывающая её и передающая команды моторам.

Рис. 11

1.2. Собираем робота, с помощью которого будем изучать данный курс

Настало время - собрать нашего первого робота.

На первом этапе конструкция нашего робота будет следующей:

  • Два больших мотора, для того чтобы мы смогли научить нашего робота поворачивать
  • Два ведущих колеса, на которые будут передаваться усилия моторов.
  • Одно свободно вращающееся колесо или шаровая опора, которая будет придавать устойчивость нашему роботу.
  • Один главный блок EV3, который будет хранить и выполнять нашу программу.
  • Некоторое количество деталей для придания конструкции законченного вида.

Такой простейший робот называется роботом-тележкой.

Вы можете попробовать поэкспериментировать или собрать робота по предложенной инструкции в зависимости от версии вашего набора EV3:

Как только наш робот будет готов - начнем изучение среды программирования.

1.3. Знакомство со средой программирования

Первым делом загружаем среду программирования Lego mindstorms EV3. В главном меню программы выбираем: "Файл" - "Новый проект" или нажимаем "+" , показанный на рисунке стрелкой.

Рис. 12

В одном проекте может находиться множество программ. Для того, чтобы проект корректно загружался в нашего робота необходимо в названии проекта и программ использовать только буквы латинского алфавита! Давайте назовем наш проект lessons (уроки), а первую программу - lesson-1 (урок-1). Для того, чтобы дать название проекту, воспользуемся главным меню программы: "Файл" - "Сохранить проект как..." Чтобы изменить название программы - следует сделать двойной щелчок мышью на её названии (program) и вписать свое название.

Включим центральный блок нашего робота. Для этого нажмем на центральную (самую темную) кнопку блока. С помощью USB-кабеля, идущего в комплекте с конструктором, подключим робота к компьютеру. Успешное подключение робота отразится на вкладке аппаратных средств программного обеспечения EV3 в правом нижнем углу программы.

Рис. 13

Если подключение робота прошло успешно, то приступим к программированию и создадим нашу первую программу.

1.4. Наша первая программа!

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

Рис. 14

Каждая программа состоит из цепочки блоков, задающих определенное действие или проверяющих различные условия. Каждый блок имеет множество различных параметров. Первый, оранжевый блок с зеленым треугольником внутри называется - "Начало" . Именно с него начинается любая программа для нашего робота. Второй блок установили мы. Повторю - он называется "Рулевое управление" . Его назначение - одновременное управление двумя моторами.

Рис. 15

Но, если вы собирали робота по инструкции, предложенной выше, то, наверное, обратили внимание, что в ней отсутствует схема подключения моторов и датчиков. Настало время с этим разобраться. Блок EV3 имеет 4 порта, обозначенных цифрами: 1 , 2 , 3 , и 4 . Эти порты служат для подключения только датчиков. Для подключения моторов служат порты, обозначенные буквами: A , B , C и D . Можно подключать моторы в любые свободные порты, предназначенные для них. Но в случае управляемой тележки рекомендовано подключать моторы в порты: B и C . Давайте сейчас возьмем два соединительных кабеля длиной 25 см, левый мотор подключим к порту B , а правый - к порту C . Именно это подключение выбрано по умолчанию в блоке "Рулевое управление". Специальная кнопка, обозначенная стрелкой, отвечает за режим работы блока. Для первой программы выберем режим: "Включить на количество оборотов" . Значение 0 под черной стрелочкой на блоке означает прямолинейное движение, когда оба мотора крутятся с одинаковой скоростью. Число 75 задает мощность моторов, чем больше это значение, тем быстрее поедет наш робот. Цифра 2 задает количество оборотов каждого из моторов, на которое они должны провернуться.

Итак, наша первая программа готова. Загружаем ее в нашего робота. Для этого нажимаем кнопку "Загрузить" на вкладке аппаратных средств и отсоединяем USB-кабель от робота.

Рис. 16

Устанавливаем робота на ровную поверхность. С помощью стрелок на блоке EV3 заходим в папку нашего проекта, выбираем программу lesson-1 и центральной кнопкой блока EV3 запускаем ее на выполнение.

На втором занятии мы детальнее познакомимся со средой программирования и подробно изучим команды, задающие движение нашему роботу-тележке, собранному на первом занятии. Итак, давайте запустим среду программирования Lego mindstorms EV3, загрузим наш проект lessons.ev3, созданный ранее и добавим в проект новую программу - lesson-2-1. Программу можно добавить двумя способами:

  • Выбрать команду "Файл"-"Добавить программу" (Ctrl+N) .
  • Нажать "+" на вкладке программ.

Палитры программирования и программные блоки

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

Зеленая палитра называется: "Действие" :

На данной палитре расположены программные блоки управления моторами, блок вывода на экран, блок управления индикатором состояния модуля. Сейчас мы начнем изучение этих программных блоков.

Зеленая палитра – блоки действия

Первый программный блок зеленой палитры предназначен для управления средним мотором, второй блок - для управления большим мотором. Так как параметры этих блоков идентичны - рассмотрим настройку на примере блока - большой мотор.

Для правильной настройки блока управления большим мотором мы должны:

  1. Выбрать порт, к которому подключен мотор (A, B, C или D) (Рис. 3 поз. 1)
  2. Выбрать режим работы мотора (Рис. 3 поз. 2)
  3. Настроить параметры выбранного режима (Рис. 3 поз. 3)

Чем же отличаются режимы? Режим: "Включить" включает мотор с заданным параметром "Мощность" и после этого управление передается следующему программному блоку программы. Мотор будет продолжать вращаться, пока не будет остановлен следующим блоком "Большой мотор" с режимом "Выключить" или следующий блок "Большой мотор" не будет содержать другие параметры выполнения. Режим "Включить на количество секунд" включает большой мотор с установленной мощностью на указанное количество секунд, и только по завершению времени мотор остановится, а управление в программе перейдет к следующему программному блоку. Аналогично поведет мотор себя в режимах "Включить на количество градусов" и "Включить на количество оборотов" : только после выполнения установленного вращения мотора, он остановится и управление в программе перейдет к следующему блоку.

Параметр мощность (на Рис. 3 мощность установлена в 75) может принимать значения от -100 до 100. Положительные значения мощности задают вращение мотора по часовой стрелке, отрицательные - против часовой. При значении мощности равном 0 мотор вращаться не будет, чем "выше" значение мощности, тем быстрее вращается мотор.

Параметр мощность задается только целыми значениями, параметры: секунды, градусы, обороты могут принимать значения с десятичной дробью. Но следует помнить, что минимальный шаг вращения мотора равен одному градусу.

Отдельно следует сказать о параметре "Тормозить в конце" . Данный параметр, если установлен в значение "Тормозить" заставляет мотор тормозить после выполнения команды, а если установлен в значение "Двигаться накатом" , то мотор будет вращаться по инерции, пока сам не остановится.

Следующие два программных блока "Рулевое управление" и реализуют управление парой больших моторов. По умолчанию левый большой мотор подключается к порту "В" , а правый - к порту "С" . Но вы можете в настройках блока поменять порты подключения в соответствии с требованиями вашей конструкции (Рис. 4 поз. 1 ).

Параметр "Рулевое управление" (Рис. 4 поз. 2 ) может принимать значения от -100 до 100. Отрицательные значения параметра заставляют робота поворачивать налево, при значении равном 0 робот движется прямо, а положительные значения заставляют робота поворачивать направо. Стрелка над числовым параметром меняет свою ориентацию в зависимости от значения, подсказывая тем самым направление движения робота (Рис. 5 ).

Программный блок "Независимое управление моторами" похож на программный блок "Рулевое управление" . Он также управляет двумя большими моторами, только вместо параметра "Рулевое управление" появляется возможность независимого управления мощностью каждого мотора. При равном значении параметра "Мощность" для левого и правого мотора робот будет двигаться прямолинейно. Если на один мотор подать отрицательное значение мощности (например -50), а на второй - положительное значение (например 50), то робот будет разворачиваться на месте (Рис. 6 ).

Режимы работы этих блоков аналогичны режимам блока управления одним мотором, поэтому дополнительного описания не требуют...

Прямолинейное движение, повороты, разворот на месте остановка

Итак, теперь мы можем написать программу движения робота по какому-либо маршруту.

Задача 1

Экран, звук, индикатор состояния модуля

Программный блок "Экран" позволяет выводить текстовую или графическую информацию на жидкокристаллический экран блока EV3. Какое это может иметь практическое применение? Во-первых, на этапе программирования и отладки программы можно выводить на экран текущие показания датчиков во время работы робота. Во-вторых, можно выводить на экран название промежуточных этапов выполнения программы. Ну а в-третьих, с помощью графических изображений можно "оживить" экран робота, например с помощью мультипликации.

Программный блок "Экран" имеет четыре режима работы: режим "Текст" позволяет выводить текстовую строку на экран, режим "Фигуры" позволяет отображать на экране одну из четырех геометрических фигур (прямая, круг, прямоугольник, точка), режим "Изображение" может вывести на экран одно изображение. Изображение можно выбрать из богатой коллекции изображений или нарисовать свое, используя редактор изображений. Режим "Окно сброса настроек" сбрасывает экран модуля EV3 к стандартному информационному экрану, показываемому во время работы программы.

Рассмотрим параметры программного блока "Экран" в режиме "Текст" (Рис. 9 поз.1) . Строка, предназначенная для вывода на экран, вводится в специальное поле (Рис. 9 поз. 2) . К сожалению, в поле ввода текста можно вводить только буквы латинского алфавита, цифры и знаки препинания. Если режим "Очистить экран" установлен в значение "Истина" , то экран перед выводом информации будет очищен. Поэтому, если вам требуется объединить текущий вывод с информацией уже находящейся на экране, то установите этот режим в значение "Ложь" . Режимы "X" и "Y" определяют точку на экране, с которой начинается вывод информации. Экран блока EV3 имеет 178 пикселей (точек) в ширину и 128 пикселей в высоту. Режим "X" может принимать значения от 0 до 177, режим "Y" может принимать значения от 0 до 127. Верхняя левая точка имеет координаты (0, 0), правая нижняя (177, 127)

Во время настройки программного блока "Экран" можно включить режим предварительного просмотра (Рис. 9 поз. 3) и визуально оценить результат настроек вывода информации.

В режиме "Фигуры" (Рис. 11 поз. 1 ) настройки программного блока меняются в зависимости от типа фигуры. Так при отображении круга необходимо будет задать координаты "X" и "Y" центра окружности, а также значение "Радиуса" . Параметр "Заполнить" (Рис. 11 поз. 2) отвечает за то, что будет отображен либо контур фигуры, либо внутренняя область фигуры будет заполнена цветом, заданным в параметре "Цвет" (Рис. 11 поз. 3) .

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

Чтобы отобразить прямоугольник следует задать координаты "X" и "Y" левого верхнего угла прямоугольника, а также его "Ширину" и "Высоту" .

Отобразить точку проще всего! Укажите лишь её координаты "X" и "Y".

Режим "Изображение" , наверное, самый интересный и самый используемый режим. Он позволяет выводить на экран изображения. Среда программирования содержит огромную библиотеку изображений, отсортированную по категориям. В дополнение к имеющимся изображениям вы всегда можете создать свой рисунок и, вставив его в проект, вывести на экран. ("Главное меню среды программирования" - "Инструменты" - "Редактор изображения") . Создавая своё изображение, вы можете также вывести на экран символы русского алфавита.

Как вы видите - отображению информации на экране главного модуля EV3 среда программирования придает огромное значение. Давайте рассмотрим следующий важный программный блок "Звук" . С помощью этого блока мы можем выводить на встроенный динамик блока EV3 звуковые файлы, тона произвольной длительности и частоты, а также музыкальные ноты. Давайте рассмотрим настройки программного блока в режиме "Воспроизвести тон" (Рис. 15) . В этом режиме необходимо задать "Частоту" тона (Рис. 15 поз. 1) , "Продолжительность" звучания в секундах (Рис. 15 поз. 2) , а также громкость звучания (Рис. 15 поз. 3) .

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

В режиме "Воспроизвести файл" вы можете выбрать один из звуковых файлов из библиотеки (Рис. 17 поз. 1) , либо, подключив к компьютеру микрофон, с помощью Редактора звука ("Главное меню среды программирования" - "Инструменты" - "Редактор звука") записать собственный звуковой файл и включить его в проект.

Давайте отдельно рассмотрим параметр "Тип воспроизведения" (Рис. 17 поз. 2) , общий для всех режимов программного блока "Звук" . Если данный параметр установлен в значение "Ожидать завершения" , то управление следующему программному блоку будет передано только после полного воспроизведения звука или звукового файла. В случае установки одного из двух следующих значений начнется воспроизведение звука и управление в программе перейдет к следующему программному блоку, только звук или звуковой файл будет воспроизведен один раз или будет повторяться, пока не его не остановит другой программный блок "Звук" .

Нам осталось познакомиться с последним программным блоком зеленой палитры - блоком "Индикатор состояния модуля" . Вокруг кнопок управления модулем EV3 смонтирована цветовая индикация, которая может светиться одним из трех цветов: зеленым , оранжевым или красным . За включение - выключение цветовой индикации отвечает соответствующий режим (Рис. 18 поз. 1) . Параметр "Цвет" задает цветовое оформление индикации (Рис. 18 поз. 2) . Параметр "Импульсный" отвечает за включение - отключение режима мерцания цветовой индикации (Рис. 18 поз. 3) . Как можно использовать цветовую индикацию? Например, можно во время различных режимов работы робота использовать различные цветовые сигналы. Это поможет понять: так ли выполняется программа, как мы запланировали.


Давайте используем полученные знания на практике и немного "раскрасим" нашу программу из Задачи 1.

Задача 2

Попробуйте решить задачу самостоятельно, не подглядывая в решение!

Муниципальное автономное общеобразовательное учреждение – средняя общеобразовательная школа № 111 город Пермь

Конспект урока

на тему:

« Движение по геометрическим фигурам и картам »

учитель информатики и ИКТ

Корепанова Т.А.,

Конспект урока на тему: « Движение по геометрическим фигурам и картам »

Урок из курса Робототехники, раздел – «Программирование в среде NXT-G.». На уроке, используя конструктор LEGO Mindstorms 9797 ученики строят модель колесного робота. Затем составляют в среде программирования NXT-G программу, загружают ее в робота и демонстрируют выполнение представленных алгоритмов. Рассмотренные на уроке алгоритмы движения визуально представляют собой различные геометрические фигуры и траектории.

Цели :

    ознакомление с робототехникой с помощью конструктора LEGO Mindstorms 9797;

    систематизация знаний по теме «Алгоритмы» (на примере работы Роботов NXT);

    усвоение понятий алгоритм, исполнитель, свойства алгоритма, дать представление о составлении простейших алгоритмов в среде программирования NXT-G.

В ходе занятия обучающиеся должны продемонстрировать следующие результаты в виде универсальных учебных действий:

    Регулятивные:

    систематизировать и обобщить знания по теме «Алгоритмы» для успешной реализации алгоритма работы собранного робота;

    Научиться программировать роботов с помощью среды программирования NXT-G.

    Познавательные:

    Изучение робототехники, создание собственного робота, умение программировать в среде NXT-G;

    экспериментальное исследование, оценка (измерение) влияния отдельных факторов.

    Коммуникативные: развить коммуникативные умения при работе в группе или команде.

    Личностные: развитие памяти и мышления, возможность изучения робототехники в старших классах.

Тип урока: комбинированный

Вид урока: практическая работа

Оборудование : мультимедиа проектор, конструктор LEGO Mindstorms 9797 (5 шт.), внабор которого входят 431 элемент, включая программируемый блок управления NXT, 3 сервомотора, датчики звука, расстояния, касания и освещенности, набор фигурок собранных из LEGO конструктора (экоград), поля, карты.

План урока:

    Организационный момент (2 мин)

    Повторение теоретического материала предыдущего урока (10 мин)

    Практическая работа: разработка алгоритма для робота (28 мин)

    Сборка робота для движения по картам (20 мин)

    Разработка алгоритма для робота(10 мин)

    Проверка работы алгоритма, исправление ошибок (10 мин)

    Контрольный запуск (5 мин)

    Подведение итогов урока. Рефлексия (3 мин)

    Этап информации о домашнем задании (2 мин)

Ход урока:

      Организационный момент.

Учитель : Добрый день, ребята! На прошлом уроке мы занимались конструированием роботов из конструктора NXT. Сегодня мы будем создавать для них программы, которые он будут выполнять. Также вы попробуете самостоятельно собрать колесного робота и напишите для него алгоритм так, чтоб он согласно карте, которую вы вытяните добрался до места назначения.

II . Повторение теоретического материала предыдущего урока.

    Учитель : Для начала давайте вспомним, какие виды алгоритмов мы знаем?

Дети отвечают на вопрос (линейный, циклический и разветвляющийся)- слайд 2 .

    Для какого вида алгоритмов используются следующие блоки из среды программирования NXT-G (блоки показаны на слайде 3)?

Дети отвечают на вопрос (движение, цикл, ветвление) .

3. Какие действия может выполнить робот NXT с помощью блока «Движение»?

Дети отвечают на вопрос (Ехать вперед, Ехать назад, Поворот влево, Поворот вправо, Свободный поворот (любой угол), Разворот.) – слайд 4.

4. Какие простейшие геометрические фигуры вы знаете?

Дети отвечают на вопрос (слайд 5)

5. Укажите, какие углы могут быть у указанных геометрических фигур:

Дети отвечают на вопрос (слайд 6).

6. Каким образом можно повернуть робота NXT на определенный угол?

Дети отвечают на вопрос (слайд 7).

Учитель демонстрирует правильные ответы на слайдах 2-7.

III . Практическая работа: разработка алгоритма для робота

Теперь давайте обратимся к нашим роботам (на данном уроке это колесные роботы, созданные без инструкций), которые мы собирали на прошлом занятии.

Задание 1: Составить линейный алгоритм для движения робота по квадрату с заданной стороной.

Сначала определим, какие команды нам понадобятся, в какую сторону должен вращаться сервомотор, промежуток времени работы сервомотора для движения по одной стороне и последовательность выполнения команд.

Правильный вариант (способ поворота – отключение одного сервомотора):

Примечание: время работы сервомотора в каждом отдельном случае будет разное, т.к. ученик настраивает вращение на свое время или количество оборотов. Соответственно для каждого случая сторона квадрата будет разной. И вариант поворота каждый обучающийся применяет свой.

После выполнения данного задания ученикам задается вопрос: какой еще вид алгоритмов можно использовать для выполнения предложенного задания?

Правильный ответ: циклический.

Задание 2: изменить созданный линейный алгоритм на циклический для выполнения этого же задания.

Правильный вариант:

Способ поворота в примере тот же, что и в предыдущем. Цикл настроен на Счетчик (количество повторений - 4).

Учитель: ребята, давайте сравним разработанные алгоритмы и сделаем вывод. Какой алгоритм вам больше нравится и почему?

Ребята отвечают на вопрос (циклический, потому что алгоритм компактнее) .

Задание 3: создать алгоритм для движения робота по треугольнику:

Правильный вариант для равностороннего треугольника:

Способ поворота в примере тот же, что и в предыдущем. Цикл настроен на Счетчик (количество повторений - 3).

Задание 4

    Получить карту с маршрутом

    Собрать робота

    Написать алгоритм

    Проверить на поле

    Контрольный запуск

IV . Подведение итогов урока. Рефлексия.

Итак, ребята, давайте подведем итоги нашей работы.

    Какие виды алгоритмов мы с вами сегодня использовали при составлении программ?

    Какой блок необходим для движения по геометрическим фигурам?

    Возможно ли использовать блок цикла для движения робота по разностороннему пятиугольнику и почему?

V . Этап информации о домашнем задании.

Запишите домашнее задание: подумать и изобразить схематично пример собственного робота-исполнителя и написать алгоритм его работы на естественном языке.

Задание обязательно будет оценено!

Спасибо за урок! До свидания, ребята.

Список использованных текстовых и графических источников:

    Инструкция для работы с комплектом LEGO Mindstorms 9797.

Приложение:

    Карты

    Доехать от центра до стадиона

    Доехать от стадиона до школы

    Доехать от школы до банка

Карта № 2

    Доехать от центра до зоопарка

    Доехать от зоопарка до кинотеатра

    Доехать от кинотеатра до больницы

Карта № 3

    Доехать от центра до бассейна

    Доехать от бассейна до парка

    Доехать от парка до школы

________________________________________________________________________________________

Корепанова Т.А. МАОУ СОШ № 111г. Пермь