- Учителю
- Конспект занятия элективного курса 'Мой первый робот или 33 эксперимента' по теме 'Датчики касания'
Конспект занятия элективного курса 'Мой первый робот или 33 эксперимента' по теме 'Датчики касания'
Знакомство с датчиками. Датчик касания
Анна ГРЯЗНОВА,
учитель информатики и ИКТ средней школы № 60 г. Набережные Челны
Курс Робототехники разработан сотрудниками университета Иннополис (Innopolis University Learning Management System) для учащихся IT-классов. Цель данного курса - популяризация технических специальностей и подготовка к обучению специальностям инженера и конструктора в технических вузах. Курс разработан в виде ролевой игры из 17 модулей. Каждый модуль включает в себя изучение теоретического материала, анализ видеороликов и создание собственных решений на поставленные задачи. В течение каждого модуля учащиеся заполняют инженерные журналы по специально приведенной форме. Итог занятия представлен в виде оформления опросных листов по выполненному заданию, по совместной работе.
Данная методическая разработка занятия робототехники предназначена для учащихся 10 класса (профиль IT-класс). Учащиеся во время занятий делятся по группам по 4 человека. Каждая группа оснащена ноутбуками с выходом в Интернет на сайт , установленным программным обеспечением RobotC, базовым комплектом конструктора Lego Mindstorm EV3.
Участники группы имеют свои роли: руководитель, администратор, программист и контролер времени. Роли периодически меняются, чтобы каждый участник группы «примерил» их на себе. Ребята ведут инженерные журналы определенного образца, в которых записывают весь теоретический, практический материал и ответы на вопросы учителя и на вопросы из соответствующих модулей курса Робототехники на сайте Innopolis University Learning Management System.
Итог занятия оценивается всеми участниками учебного процесса: учениками (взаимооценка, самооценка) и учителем. В соответствующих формах все проставляют не оценки (что важно!), а баллы усвоения материала исходя из разработанных ранее критериев.
Окончанием занятия является анализ и общее восприятие командой и в целом класса данного на уроке материала.
Цель:
-
применять такую синтаксическую конструкцию языка ROBOTC, как ;
-
писать простейшие логические конструкции на языке ROBOTC и понимать их смысл;
Задачи:
-
кратко формулировать, почему датчики являются важной составляющей роботехнических систем;
-
использовать для управления роботом модель «восприятие-планирование-действие»;
-
настраивать и использовать датчик касания робота;
-
сравнивать и сопоставлять программы с циклом while с программами, не имеющими этой конструкции, управляющей потоком программы;
Средства обучения:
-
Интерактивная доска;
-
Ноутбуки, с установленным программным обеспечением RobotC;
-
Курс робототехники от Innopolis University Learning Management System - (Модуль 13);
-
базовым комплектом конструктора Lego Mindstorm EV3;
-
Мультимедийная презентация «Датчики касания»;
-
Инструкция по сборке EV3.
Ход урока
Оргмомент
Приветствие. Подготовка к занятию.
Актуализация знаний
Учитель: На предыдущих уроках мы с вами говорили о роботах, которые отличаются по внешнему виду, их функциональным возможностям и т.д.
Вспомним роботов, которых мы конструировали с вами на предыдущих занятиях. Как двигаются роботы, собранные нами на предыдущих занятиях?
Ученики: Роботы двигаются по времени, на заданное расстояние; по заданной траектории, переносят предметы с определенного месторасположения.
Учитель: Предлагаю просмотреть изображения и сделать анализ, ответив на вопросы…
Учитель: Чем отличаются собранные ранее вами роботы от тех, которые представлены вам?
Ученики: Роботы, которые раньше собирали, работали только в зависимости от времени или четко выверенных формул углов поворота, движений вперед и механических захватов. У роботов с фотографий есть датчики: касания, расстояния, цвета/света/освещенности.
Учитель: Почему нельзя обойтись без датчиков?
Ученики: Потому что без датчиков будет долгая и трудоемкая работа, мы не можем знать размеров исследуемого объекта, расстояния до него. Датчики позволяют определять дополнительные параметры исследуемого объекта.
Объяснение нового материала
Учитель: Итак, определим ключевые датчики, используемые при работе роботов?
Ученики: Датчики касания, определения расстояния, цвета/света/освещенности, температуры и т.д.
Учитель: Перед вами датчики, которые входят в базовый комплект EV3
- датчик касания;
- датчик расстояния;
- датчик цвета/света/освещенности.
Учитель: Сегодня мы познакомимся с датчиком касания. Прикрепите его к своим тележкам (ученики прикрепляют датчики касания к своим тележкам).
Для чего нужен данный датчик? Каков принцип работы датчика касания?
Ученики: В зависимости от нажатия кнопки касания на датчике, робот может двигаться вперед или назад, останавливаться или выполнять другие манипуляции. Все зависит от условий, предъявляемых к датчику.
Учитель: Иначе говоря, робот работает, ПОКА нажата или отжата кнопка касания. Делая аналогию с языком программирования Pascal, работа датчика касания зависит от организации цикла ПОКА (WHILE).
Организация цикла ПОКА очень похожа на известный цикл в ЯП Pascal (изображено на доске).
Язык программирования Pascal
Язык программирования RobotC
While (<���������
�in
<�����������
�������
��������������
{
<Тело цикла>
}
Учитель: Выясним, что должно быть в <���������������������
��ники: В условии должно отображаться состояние датчика касания- нажата или отжата кнопка.
Учитель: Совершенно верно, для того, чтобы идентифицировать датчик касания, необходимо войти во вкладку Motors and Sensors Setup и просмотреть индекс датчика (см. рисунок).
Условие будет выглядеть так: SensorValue(touchSensor) = = 0 или SensorValue(S1) = = 0
Учитель: Давайте подробно разберем организацию цикла While. Что происходит в результате выполнения программы к примерам 1, 2. (Каждый пример рассматривается отдельно с подробным объяснением учителя. После разбора каждого примера учащиеся пробуют программы на своих тележках).
-
Цикл с условием выхода
-
Бесконечный цикл
Условия, при которых цикл станет бесконечным: 1= =1 или true
task main()
{
while (SensorValue(touchSensor) = = 0)
{
motor[motorB]=60;
motor[motorC]=60;
}
motor[motorB]=0;
motor[motorC]=0;
}
task main()
{
while (true)
{
while (SensorValue(touchSensor) = = 1)
{
motor[motorB]=-60;
motor[motorC]=-60;
}
}
motor[motorB]=0;
motor[motorC]=0;
}
Робот движется, пока датчик касания не нажат. Наталкиваясь на препятствие, робот останавливается.
Робот движется при нажатой кнопке касания и останавливается, если кнопка отжата. (Имитация пульта управления)
Закрепление материала
Пример: Используя два датчика касания, создайте робота, который будет поворачивать налево или направо в зависимости от нажатой кнопки датчика.
Примерная программа учеников:
task main()
{
while (true)
{
while (SensorValue(S4)==1)
{ motor[motorB]=0;
motor[motorC]=-60;}
motor[motorB]=0;
motor[motorC]=0;
while (SensorValue(S1)==1)
{ motor[motorB]=-60;
motor[motorC]=0;}
motor[motorB]=0;
motor[motorC]=0;
}
}
Рефлексия. Итог занятия
Итоги занятия учащиеся подводят самостоятельно, заполняя инженерные журналы и опросные листы по выполненному заданию, по совместной работе.