Афанасова М.С. Воронежский государственный педагогический университет, Россия, г. Воронеж, ул. Ленина, 86, магистр 2 курса, [email protected] Лабораторный практикум по работе с конструктором Lego Mindstorms NXT Ключевые слова: робототехника, лабораторные работы, практикум, конструктор Lego mindstorm NXT. Аннотация: в данной работе рассматривается способ обучения школьников и студентов азам робототехники. В ней приведен пример курса лабораторных работ, направленных на освоение базового набора универсальных учебных действий, которые в дальнейшем могут быть применены для развития навыков робототехники и создания глобальных технических инноваций в этой области. Одной из дидактических задач образовательного учреждения является формирование мышления учащегося, развитие его интеллекта с учетом развития информационной сферы общества. Важной составляющей интеллектуального развития человека является алгоритмическое мышление, помогающее более быстрому достижению поставленных целей. Наибольшим потенциалом, способствующим формированию алгоритмического мышления школьников и студентов среди естественнонаучных дисциплин, обладает информатика. Анализ развития стандарта образования по информатике позволяет сделать вывод: формирование алгоритмического мышления учащихся – важная цель образования на разных этапах изучения информатики. Алгоритм является важнейшим аспектом решения научных и бытовых задач. Умения решать задачи, разрабатывать стратегию ее решения, выдвигать и доказывать гипотезы опытным путем, прогнозировать результаты своей деятельности, анализировать и находить рациональные способы решения задачи путем оптимизации, детализации созданного алгоритма, представлять алгоритм в формализованном виде на языке исполнителя позволяют судить об уровне развития алгоритмического мышления учащихся. Поэтому необходимо особое внимание уделять формированию алгоритмического мышления у подрастающего поколения. Поскольку алгоритмическое мышление в течение жизни развивается под воздействием внешних факторов, то в процессе дополнительного воздействия возможно повышение уровня его развития. Необходимость поиска новых эффективных средств развития алгоритмического мышления обусловлена его значимостью для дальнейшей самореализации личности в информационном обществе. В методической литературе по информатике отмечены различные способы формирования алгоритмического мышления школьников: проведение систематического и целенаправленного применения идей структурного подхода (А.Г. Гейн, В.Н. Исаков, В.В. Исакова, В.Ф. Шолохович); повышение уровня мотивированности задач (В.Н. Исаков, В.В. Исакова); постоянная умственная работа (Я.Н. Зайдельман, Г.В. Лебедев, JI.E. Самовольнова) и другие. Объектом исследования является процесс формирования алгоритмического мышления посредством внедрения робототехники в процесс обучения информатике. Предметом исследования являются способы формирования алгоритмического мышления школьников при помощи робототехники. Цель работы – разработать методику обучения использования робототехники, способствующую формированию алгоритмического мышления. Исходя из определенных выше объекта, предмета и были решены задачи: 1. изучены особенности и способы формирования алгоритмического мыш- ления; 2. исследованы различные комплекты робототехники, предлагаемые для развития алгоритмического мышления; 3. разработан дидактический материал (лабораторные работы) по обуче- нию основам робототехники. Лабораторное занятие № 1 "Программирование микроконтроллера NXT Brick" Робототехника – динамично развивающаяся отрасль как с точки зрения прикладного использования, так и в научных исследованиях. Появившийся в последние годы новый вид товара – робототехнические комплекты – позволяют реализовать проекты роботов с различной функциональностью, провести тестирование задуманного, использовать в обучении. Одним из наиболее популярных робототехнических комплектов в мире является LEGO Mindstorms NXT. Разработанный совместно с сотрудниками Масачусетского технологического института он представляет собой большой набор конструктивных деталей (более 600 шт.), 3 сервопривода, набор датчиков и микрокомпьютер NXT Brick. Комплект является базовым при проведении многих робототехнических мероприятий в мире, в том числе соревнований WRO (World Robotic Olympiad). С комплектом поставляется среда визуального программирования NXT-G, созданная компанией National Instruments на основе своего продукта LabView. Таким образом, комплект NXT представляет собой прекрасный полигон для реализации на его основе комплекса лабораторных работ при изучении робототехники. Цель занятия Познакомиться с основными возможностями робототехнического микрокомпьютера NXT Brick, его блоками управления, системой меню, познакомиться со средой визуального программирования NXT-G, произвести программирование базовых функций: вывод на экран, воспроизведение звуков. Задание Изучить органы управления NXT Brick Изучить систему меню NXT Brick Изучить назначение портов NXT Brick Запустить среду программирования NXT-G Познакомиться с базовой палитрой инструментов NXT-G Познакомиться с расширенной палитрой инструментов NXT-G Написать следующие программы: ◦ издает одиночный звуковой фрагмент из файла ◦ издает одиночный звук определенной тональности ◦ издает однократно серию звуков из файлов ◦ издает однократно серию звуков различной тональности (программируем мелодию) ◦ издает непрерывно серию звуков различной тональности (блок "Цикл") ◦ выводит на экран изображение из файла ◦ выводит на экран текст в одной строке Ход выполнения работы Внешний вид микрокомпьютера NXT Brick приведен на рис. 1. Питание осуществляется от 6 батарей формата AA. Блок оснащен ЖК дисплеем с возможностью отображения текста и графики. Для перемещения по разделам меню служат клавиши на лицевой панели: оранжевая OK, темно серая - Отмена. Блок может воспроизводить звуки как из заранее записанных файлов, так и различной тональности. Подключение к компьютеру осуществляется по интерфейсу USB. Есть модуль связи Bluetooth, что позволяет как управлять блоком с компьютера, так и связывать блоки друг с другом. NXT Brick имеет три порта для приводов. помеченных буквами A, B и C (для движения обычно используются B и C, A - для манипулятора), четыре порта для датчиков, помеченных цифрами. Рис. 1. NXT Brick Для программирования NXT Brick может использоваться среда визуального программирования NXT-G. Внешний вид среды со стандартной палитрой инструментов приведен на рис. 2. Здесь программа строится из блоков, размещаемых на балках LEGO. Допустимо использовать циклы, условные переходы, взаимодействовать с датчиками, приводами, управлять приемопередатчиком Bluetooth, осуществлять вывод на экран и воспроизводить звуки. Рис. 2. Интерфейс визуальной среды программирования NXT-G Рис.3 Название программы Для включения нового блока в программу его необходимо «перетащить» мышкой с панели инструментов на балку LEGO. Порядок следования элементов будет определять порядок выполнения программы. У каждого блока есть набор параметров, которые определяют его "поведение". Так, например, у блока "Движение" можно выбрать направление движения, его продолжительность, мощность, подаваемую на двигатели. 1.1 издает одиночный звуковой фрагмент из файла 1) Запустите программу NXT 2.1 Programming 2) В поле «Новая программа» введите название Zvuk (рис. 3) 3) Нажмите «Далее» 4) С левой стороны выберите знак звук и перетащите его в рабочее поле программы Рис. 4 Выбор звукового модуля 5) В нижней части окна выберите понравившейся вам звуковой файл Рис.5 Выбор звукового файла 6) Далее выберите модуль «Операторы», а в нем модуль «Стоп» Рис. 6 Выбор модуля «Стоп» 7) Теперь необходимо написанную программу загрузить в микрокомпь- ютер NXT (Рис. 1). Для этого подключите USB к микрокомпьютеру и компьютеру, на котором набрана программа. Далее в нижнем правом углу активного окна нажмите кнопку «Загрузить в NXT» (Рис.7) Рис.7 Загрузка в NXT 8) После загрузки программы в микрокомпьютер NXT запустите программу. Для этого включите микрокомпьютер и при помощи клавиш влево, вправо выберите написанную вами программу. После чего нажмите на среднюю оранжевую кнопку. 1.2. Издание одиночного звука определенной тональности 1) Проделайте пункты 1)- 4) предыдущего задания 2) Далее в нижней части переставьте выбор с «Файл» на «Звук»(Рис. 8) Рис. 8 Выбор одиночного звука 3) При помощи появившихся клавиш выберите звук необходимой то- нальности. 4) Проделайте пункты 6) – 8) предыдущего задания. 1.3. издание однократной серии звуков из файлов 1) Проделайте пункты 1)–5) из первого задания 2) Вставьте еще несколько модулей «Звук» и выберите другие звуковые файлы (Рис. 9) Рис. 9 Построение однократной серии звуков 3) Выполните пункты 6) – 8) первого задания. 1.4 Однократная серия звуков различной тональности (программируем мелодию) 1) Выполните пункты 1) – 3) задания номер 1.2. 2) Вставьте еще несколько модулей «Звук» (Рис. 9) и выберите для каждого модуля свою ноту, с помощью появившихся клавиш 3) Выполните пункты 6) – 8) задания 1.1. 1.5. издает непрерывно серию звуков различной тональности (блок "Цикл") 1) Выполните пункты 1) – 2) задания номер 1.1. 2) В активное поле вставьте блок «Цикл» (Рис. 10) Рис. 10 Блок «Цикл» 3) Вставьте в блок «Цикл» модуль «Звук» (Рис. 11) Рис. 11 Непрерывная серия звуков 4) Для каждого модуля «Звук» выберите свою ноту. 5) Теперь необходимо написанную программу загрузить в микрокомпь- ютер NXT (Рис. 1). Для этого подключите USB к микрокомпьютеру и компьютеру, на котором набрана программа. Далее в нижнем правом углу активного окна нажмите кнопку «Загрузить в NXT» (Рис.7) После загрузки программы в микрокомпьютер NXT запустите про- 6) грамму. Для этого включите микрокомпьютер и при помощи клавиш влево, вправо выберите написанную вами программу. После чего нажмите на среднюю оранжевую кнопку. 1.6 Выводит на экран изображение из файла 1) Создайте новую программу под названием «изображение», так же как в пунктах 2) – 3) задания 1.1. 2) Выберите модуль «Экран» и перетащите его в поле программы (Рис. 12) Рис. 12 Подключение модуля «Экран» В нижней части окна выберите понравившееся вам изображение и 3) нажмите на его название. (Рис. 13) Рис. 13. Выбор изображения Загрузите программу в микрокомпьютер NXT и протестируйте ее. 4) 1.7. Вывод на экран текста в одну строку Создайте программу под названием «Текст» (аналогично пунктам 2) - 3) 1) задания 1.1) 2) Добавьте модуль экран (Рис. 12) 3) В нижней части программы измените «Изображение» на «Текст». В поле просто текст напишите «Hello World!» (микрокомпьютер воспроизводит только английский текс). В поле строка выберите «1» (Рис. 14) Рис. 14 Текст в одну строку 4) Загрузите программу в микрокомпьютер NXT и протестируйте ее. Лабораторное занятие № 2 "Основные приемы управления движением мобильного робота" Цель занятия Освоить практические навыки построения мобильного робота, освоить практические навыки программирования различных видов движения мобильного робота. Задание На основе предложенной схемы собрать конструкцию мобильного робота. Написать следующие программы: ◦ Прямолинейное движение вперед на расстояние 1 метр ◦ Движение по "квадрату" ◦ Движение по "окружности" Ход выполнения работы Собрать конструкцию мобильного робота. Окончательный вид конструкции представлен на рисунке 15. Эта конструкция – типичная компоновка для мобильных роботов. Два ведущих колеса привода обеспечивают движение, поворотное колесо делает возможным повороты. Поворот робота осуществляется подачей разных мощностей на правый и левый двигатели. Рис. 15 Тележка мобильного робота с поворотным колесом При сборке особое внимание необходимо уделить такому понятию как «развесовка». Дело в том, что основную нагрузку в такой тележке должна нести ось ведущих колес. Самым тяжелым элементом конструкции является NXT Brick. Если на поворотное колесо будет приходится слишком большой вес, то конструкция будет плохо поворачиваться. Рис. 16. Вид снизу. Способ крепления двигателей Двигатели в данной тележке крепятся к днищу микрокомпьютера посредством прямых балок (рис. 16). Особое внимание следует уделить конструкции поворотного колеса (рис. 17). Оно должно свободно поворачиваться как вокруг своей оси, так и вокруг оси крепления. При этом конструкция должна быть достаточно прочной. Рис. 17. Конструкция поворотного колеса 2.1. Прямолинейное движение вперед в течении 40 секунд. 1) Запустить программу NXT 2.1 Programming 2) В поле «Новая программа» ввести название программы 3) Нажмите «Далее» 4) С левой стороны выберите блок «Основные» в этом блоке выберите модуль «Движение» и перетащите его в рабочее поле программы (Рис. 18) Рис.18 Модуль «Движение» 5) В нижней части окна выберите в поле «Время» секунды и установите таймер на 40 секунд (Рис.19). Рис. 19 Установка таймера движения 6) Загрузите программу в микрокомпьютер NXT. 7) Протестируйте программу. 2.2 Движение по "квадрату" 1) Запустить программу NXT 2.1 Programming 2) В поле «Новая программа» ввести название программы 3) Нажмите «Далее» 4) С левой стороны выберите блок «Основные», в этом блоке выберите модуль «Движение» и перетащите его в рабочее поле программы (Рис. 16) 5) В нижней части окна выберите в поле «Время» секунды и установите таймер на 40 секунд (Рис.17). 6) В поле «Следующее Действие» выберите. 7) Перетащите в рабочее поле еще 1 модуль «Движение». 8) В нижней части окна перетащите стрелку к блоку «С», в поле «Время» поставьте секунды, и установите таймер на 0,111 (Рис.20). Рис.20 Поворот на 900 градусов. 9) Перетащите в рабочее поле модуль «Движение», в нижней части окна выберите в поле «Время» секунды и установите таймер на 40 секунд (Рис.20). В поле «Следующее Действие» выберите катиться. 10) Перетащите в рабочее поле модуль «Движение». В нижней части окна перетащите стрелку к блоку «С», в поле «Время» поставьте секунды, и установите таймер на 0,111 (Рис.20). 11) Перетащите в рабочее поле модуль «Движение», в нижней части окна выберите в поле «Время» секунды и установите таймер на 40 секунд (Рис.20). В поле «Следующее Действие» выберите катиться. 12) Перетащите в рабочее поле еще 1 модуль «Движение». В нижней части окна перетащите стрелку к блоку «С», в поле «Время» поставьте секунды, и установите таймер на 0,111 (Рис.20). 13) Перетащите в рабочее поле модуль «Движение»,в нижней части окна выберите в поле «Время» секунды и установите таймер на 40 секунд (Рис.19). В поле «Следующее Действие» выберите катиться. 14) Выберите в блоке «Операторы» модуль «Стоп» и перетащите его в ра- бочее поле. (Рис.21) Рис.21 Модуль «Стоп» 15) Загрузите программу в микрокомпьютер NXT. 16) Протестируйте ее. 2.3 Движение по окружности. 1) Запустить программу NXT 2.1 Programming 2) В поле «Новая программа» ввести название программы 3) Нажмите «Далее» 4) С левой стороны выберите блок «Основные», в этом блоке выберите модуль «Движение» и перетащите его в рабочее поле программы (Рис. 15) 5) В нижней части окна в поле «Поворот» перетащите курсор к краю блока «С». 6) В поле «Следующее действие» выберите «Тормозить» 7) В поле «Время» выберите градусы и установите значение на 360 (Рис. 22) Рис. 22 Движение по окружности. 8) Загрузите программу в микрокомпьютер NXT и протестируйте ее. Лабораторное занятие № 3 "Изучение сенсорных датчиков Mindstroms NXT" Цель занятия Познакомиться с сенсорами комплекта NXT, освоить способы их подключения, диагностики, освоить практические навыки программирования робота с использованием сенсоров. Задание На основе предложенной схемы собрать конструкцию мобильного робота (2 варианта: робот на гусеничной платформе, робот на колесной платформе с поворотным колесом) Оснастить робота бампером на основе датчиков касания Написать следующие программы: ◦ Прямолинейное движение вперед до момента столкновения со стеной, по- сле этого отъезд назад, случайный поворот направо или налево, продолжение движения К исходному варианту робота добавить датчик расстояния Написать следующие программы: ◦ Прямолинейное движение вперед до момента столкновения с препят- ствием после этого отъезд назад, поворот, продолжение движения Комплект LEGO Mindstorms NXT поставляется со следующим набором датчиков: два датчика касания, ультразвуковой датчик расстояния и цветовой датчик. Все они имеют стандартный вид крепления. Рис. 23. Датчик касания NXT Датчик касания NXT фактически представляет собой кнопку. Мы можем отслеживать три состояния: "нажата", "отпущена", "нажата и отпущена". В зависимости от логики работы программы необходимо анализировать одно из этих трех расстояний. С помощью датчика касания можно решать, например, такие задачи, как детектор столкновений, два датчика могут помочь определить размер объекта и т.д. Рис. 24."Заготовка" для бампера Подготовьте согласно рисунку "заготовку" для бампера. Закрепите датчик на днище робота, подключите провод к микрокомпьютеру. Из кривых балок LEGO соберите собственно сам бампер. Смонтируйте его на мобильном роботе. Рис. 25. Мобильный робот с бампером Напишите программу для робота с бампером согласно заданию на лабораторную работу. Рис. 26. Ультразвуковой датчик расстояния Датчик расстояния NXT использует ультразвуковой метод определения расстояния до объекта. Имеет излучатель и микрофон. Эффективно работает на расстоянии в пределах от 10 до 100 см до объекта. Рис. 27. Мобильный робот с бампером и ультразвуковым датчиком расстояния. Дополните конструкцию робота ультразвуковым датчиком расстояния и напишите программу согласно заданию. 3.1. Прямолинейное движение вперед до момента столкновения с препятствием после этого отъезд назад, поворот направо или налево, продолжение движения 1) Запустить программу NXT 2.1 Programming 2) В поле «Новая программа» ввести название «Dvigenie» 3) Нажмите «Далее» 4) С левой стороны в блоке «Основное» выберите модуль «Переключатель» и перетащите его в основное окно программы (рис. 28). Рис.28. Модуль «Переключатель» 5) В нижней части окна в пункте «Датчик» выберите «Касание». В пункте «Действие» выберите «Нажать» (Рис. 29) Рис. 29. Выбор датчика 6) В верхнюю ветвь вставьте модуль «Движение», в нем отрегулируйте поворот (Лабораторная 2). Далее в блоке «Операторы» выберите модуль «Стоп» и вставьте его после модуля «Движение». 7) В нижнюю ветвь вставьте модуль движение и отрегулируйте его на движение вперед. (Рис. 30) Рис.30. Движение до столкновения. 8) Загрузите программу на микрокомпьютер NXT. 9) Протестируйте программу. Лабораторное занятие № 4 "Движение мобильного робота по черной линии" Цель занятия Познакомиться со световым и цветовым сенсором комплекта NXT, освоить базовые алгоритмы движения по черной линии. Задание На основе предложенной схемы собрать конструкцию мобильного робота (два варианта: робот на гусеничной платформе, робот на колесной платформе с поворотным колесом). Оснастить робота цветовым датчиком. Написать программу: ◦ Движение вдоль черной линии Ход выполнения работы Для выполнения данной работы понадобится цветовой датчик NXT. Цветовой датчик может работать в двух режимах: датчик цвета и датчик света. Для решения задачи движения по линии больше подходит режим светового датчика. В этом случае значение находится в пределах от 0 до 255 и соответствует яркости отраженного света от освещаемого объекта. Для движения по черной линии целесообразно освещать ее красным светодиодом. Рис. 31. Цветовой сенсор NXT. Удалите с мобильного робота датчик расстояния и бампер и оснастите его датчиком освещенности. Расположение сенсора – по осевой линии робота, чуть впереди оси колес. 4.1.Программа движения робота по черной линии 1) Запустить программу NXT 2.1 Programming 2) В поле «Новая программа» ввести название «Dvigenie po linii» 3) Нажмите «Далее» 4) С левой стороны в блоке «Основное» выберите модуль «Цикл» и перетащите его в основное окно программы 5) В блоке «Основное» выберите модуль «Переключатель» и вставьте его в модуль «Цикл» (Рис. 32) Рис.32. Вставка «Переключателя» в «Цикл» 6) В нижней части окна в пункте «Датчики» выберите датчик «Освещенности» (Рис. 33) Рис. 33. Датчик «Освещенности» 7) В верхнюю часть «Переключатель» вставьте «Мотор» (Рис. 34) Рис. 34. Модуль «Мотор» 8) В пункте «Порт» выберите «А», в пункте «Направление» выберите знак « » (Рис. 34) 9) Вставьте рядом еще «Мотор». 10) В пункте «Порт» выберите «В», в пункте «Направление» выберите «Стоп». 11) В нижнюю часть также вставьте два модуля «Мотор». Но теперь в первом модуле «Мотор» в нижней части выберите порт «В» движение (знак « порта «А» «Стоп». (Рис. 35) ») . А для Рис.35 Модуль «Мотор»; Движение; Торможение 12) В конце «Цикл» вставьте модуль «Стоп» (Рис. 36) Рис.36 Программа движения по черной линии 13) Загрузите программу на микрокомпьютер и протестируйте ее. Заключение В данной работе была поставлена цель – исследовать возможные способы формирования алгоритмического мышления у учащихся при помощи робототехники. В ходе исследования были изучены различные наборы по робототехнике, одним из наиболее актуальных и доступных наборов считается набор от компании Lego. Он соответствует всем требованиям, предъявляемым к наборам такого рода. Актуальность работы обусловлена широким внедрением робототехнических устройств в школах, что позволяет учителям обмениваться опытом, а также устраивать локальные соревнования и чемпионаты среди своих воспитанников. Практическую часть данной работы можно использовать на уроках информатики. Она представляет собой разработанную систему лабораторных работ, направленных на введение в робототехнику, а также позволяет ученикам освоить азы программирования. Программирование в среде NXT отличается его визуальностью и интуитивной понятностью, так как в качестве синтаксиса языка используются не слова и лексические конструкции, а модули с изображениями процессов. Список литературы 1. Гребнева Д. М. Изучение элементов робототехники в базовом курсе информатики // Фестиваль педагогических идей «Открытый урок». URL: http://festival.1september.ru/articles/623491Рубинштейн.С. Л Основы общей психологии. Под ред. Издательский дом "Питер", 2000. 2. Злаказов А. С., Горшков Г. А., Шевалдина С. Г. Уроки Лего-конструирования в школе. М. : БИНОМ 3. Копаєв.О.В. Алгоритм як модель алгоритмічного процесу. // Комп'ютерно-орієнтовані системи навчання: Зб. наук. праць / Редкол. – К.: НПУ ім. М. П. Драгоманова. – Випуск 6. – 2003. – 290 с. [C. 206213] 4. Малясова С.В. Деловая игра "Профессии компьютера". // Инфо. - 2004. - №6. 5. Мустафин С. В. Курс «Робототехника» в урочной и внеурочной деятельности //Международные состязания роботов : мат-лы семинара по ФГОС. URL: http://www.wroboto.ru/netcat_files/71l_139.pdf. 6. Основы мехатроники : монография / Ю. М. Осипов [и др.] Федеральное агентство по образованию, Томский государственный университет систем управления и радиоэлектроники. - Томск : ТУСУР, 2007. - 162 с.(90 экз. в библиотеке ТУСУР) 7. Подласый И.П. Педагогика. Новый курс: Учебник для студентов пед. вузов: В 2 кн. - М.: Гуманит. изд. центр ВЛАДОС 1999, - кн.1: общие основы. Процесс обучения. 8. Рубинштейн.С. Л Основы общей психологии. Под ред. Издательский дом "Питер", 2000. 9. Федеральный государственный образовательный стандарт основного общего образования. URL: http://минобрнауки.рф/документы/938. 10. Филиппов С. А. Робототехника для детей и родителей.– СПб.: Наука, 2011 11. Юревич Е. И., Игнатова Е. И. Основные принципы мехатроники. // Мехатроника, Автоматизация, Управление, №3, 2006. 12. Юревич Е.И. Основы робототехники. Учеб.пособие. – СПб.: БХВ-Петербург, 2005. 13. LEGO Education. Продукция. URL: http://education.lego.com/ru-ru/products.