Конспект внеурочного занятия по робототехнике

Автор публикации:

Дата публикации:

Краткое описание: ...


Конспект внеурочного занятия по образовательной робототехнике

для учащихся 5-6 классов


Подготовила учитель информатики: Котова О. И.


Тема урока: «Движение робота вперёд»

Учебные цели:

  • научить учащихся открывать среду программирования NXT и настраивать её;

  • изучать основные возможности блоков Мотор, Ожидание, стоп

  • загружать и запускать программы

  • заставлять робота двигаться назад

  • «учить» робота выполнять два последовательных действия

Подготовка к занятиям:

  • обеспечить каждой группе конструктор;

  • установить на все компьютеры программное обеспечение LEGO MINDSTORMS Edu NXT;

  • Презентация для урока «Полный вперёд»


Содержание занятия:

  • Сборка базовой модели;

  • работа в среде программирования;

  • загрузка и запуск программ;

  • программирование основных движений робота


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

LEGO MINDSTORMS Edu NXT и на этом уроке мы научим робота двигаться.

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

Соберите по инструкции базовую модель робота

Итак, наш робот готов.

Все действия , которые выполняет робот , составляют его поведение. Движение, повороты, остановки, захват предметов и возвращение их на место, звуковые сигналы. Доставка сообщений или рассказывание анекдотов – всё это возможные действия роботов. Чтобы иметь возможность выполнять полезные для людей домашние дела, робот должен уметь перемещаться внутри дома, например, по коридору. На нашем занятии мы рассмотрим основные этапы составления программ движения робота вперёд.


Движение робота определяется тем, как он запрограммирован.

Программа будет постоянно сообщать роботу, что ему делать - шаг за шагом.

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


Какие пять действий должен совершить робот, чтобы продвинуться «вперёд на 2 оборота валов моторов»?

  1. включить левый мотор

  2. включить правый мотор

  3. дождаться когда валы совершат два оборота

  4. остановить левый мотор

  5. остановить правый мотор

Давайте теперь проверим, как выглядела бы такая программа в среде программирования NXT.

  1. Включить левый мотор.

  2. 2. Включить правый мотор.

  3. 3. Дождаться, когда валы моторов совершат по два оборота.

  4. Остановить левый мотор.

  5. Остановить правый мотор.


[pic]


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

[pic]









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


Комментарии служат всего лишь как памятки для редактирования программы. Так, например, с комментарием «ожидать 1440 градусов» моторы повернутся только на 720 градусов, потому что Блок Ожидание фактически настроен на ожидание вращения на 720 градусов.

[pic]














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

[pic]


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



[pic]













Начнём работу с меню «Пуск». Откройте все программы и выберите среду программирования NXT. Появится окно загрузки программы. Выделите текст в поле «Запустить новую программу» и замените на название программы. В название программы вставим свои инициалы вставив их за словом « Forward» Вперёд.

Нажмите кнопку перейти, чтобы создать новую программу. Чтобы увеличить рабочее пространство, щёлкните на красном крестике, чтобы закрыть окно самоучителя. Щёлкните на закладке в нижней левой части экрана, чтобы открыть полную палитру.


Итак, начнём создавать нашу первую программу.

Установите указатель мышки над значком группы команд действия. Откроется меню блоков действия. Перетащите блок Мотор на рабочее поле и оставьте его в области помеченной надписью «начать». Настроим блок на выполнение нужного нам действия.

Поскольку мотор подключен не к порту А, а к порту С на панели надстроек выбираем порт С. Зададим продолжительность работы мотора. Откройте группу команд операция и найдите в ней блок Ожидание, перетаскиваем его справа от блока мотор и настраиваем его. Настраиваем его, пока мотор не совершит заданное количество оборотов. Выбираем датчик оборотов. Настраиваем на 720 градусов.

Загружаем программу в робота, нажимая кнопку загрузить в правом нижнем углу экрана.

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


Включаем робота и наблюдаем за его движением.


Наблюдения

  1. Что происходит при запуске программы?

  2. Который из моторов включился?

  3. В каком направлении вращается этот мотор?

  4. Может ли мотор остановиться самостоятельно?

  5. Соответствует ли такое поведение робота ожидаемому?


Наша программа не завершена, нужно добавить в неё управление вторым мотором.

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


Ответьте на следующие вопросы

  1. Зачем нужно управлять вторым мотором?

  2. В чём заключается различие между загрузкой программы и ее запуском? Что необходимо сделать в первую очередь? Как часто это требуется?

Загрузка – это пересылка программы из компьютера в блок NXT. При загрузке программа не выдаёт роботу никаких команд для выполнения, а просто сохраняется в памяти для использования в будущем. При запуске программы микрокомпьютер NXT фактически получает приказ выполнять загруженные в него команды.

Обязательно загружайте программу с компьютера в NXT каждый раз после написания новой программы или изменения старой, в противном случае в NXT просто не будет новой/модифицированной программы для исполнения. Запустить программу можно в любой момент после того, как она загружена.

2Спрогнозируйте поведение робота, если в него загружена и запущена следующая программа


[pic]


Робот двигаться не будет, потому что сразу же после выполнения команды включения моторов, поступившей от первых двух блоков Мотор, программа перейдёт к двум следующим блокам Мотор, от которых поступит команда выключения моторов. А поскольку между этими парами блоков Мотор нет блока Ожидание, команда сразу же будет выполнена, и моторы выключатся. То есть моторы включатся, затем моментально выключатся, и в результате робот не сделает никакого движения.

Учащиеся могут предположить, что робот будет вибрировать при включении моторов на доли секунды. При этом робот будет едва заметно передвигаться – на расстояние, которое зависит от того, насколько быстро он «отреагирует» на команду отключить электромоторы. В роботе с NXT это произойдёт практически мгновенно, так что никакого заметить не удастся. Однако другие роботы, с другим программным обеспечением, действительно могут вибрировать при запуске такой программы. Над этим ответом, хотя и неверным в отношении данного робота, ученикам полезно поразмышлять. А самый простой способ найти правильный ответ – это написать программу и проверить её работу.


  1. Что определяет порядок, в котором блоки выполняются в программе?

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

б. Последовательность расположения блоков: программа начинает выполняться из начальной точки (маленький значок NXT) – в порядке их размещения на цепочке.

в. Тип блока: программа всегда будет запускать Блоки Мотор первыми, затем Блоки Ожидание и после этого Блоки Стоп.

4. Кратко, одним-двумя предложениями, опишите функции, выполняемые каждым блоком в программе:


Датчик оборотов 720 градусов

[pic]



1 блок

2 блок

3 блок

4 блок

5 блок

5. Проверьте свою программу.

1). Какие блоки (один или несколько) управляют дальностью продвижения робота до его остановки?

2). Объясните, как можно изменить программу, чтобы робот прошел большее или меньшее расстояние.

3) Набросайте на листе бумаги новую программу, которая заставила бы робота пройти заданное расстояние дважды. Прокомментируйте или проиллюстрируйте эту программу таким образом, чтобы можно было понять, что это за блоки и для чего они предназначены.


  1. Опишите, как будет перемещаться робот, если подсоединить мотор к порту А вместо порта В, но при этом оставить программу без изменений. Как следовало бы изменить программу, чтобы робот снова двигался вперёд?

  2. Опишите поведение робота при запуске данной программы.

[pic]










8. Насколько далеко продвинется робот под управлением приведенной ниже программы? Будьте внимательны, ответить правильно сложнее, чем может показаться на первый взгляд!

[pic]















9.Какими блоками различаются программы движения робота вперёд и движения обратно?