Слайд 1
Занятие по робототехнике
Тема: «Датчик касания».
Слайд 2 В состав конструктора «Lego Мindstorms EV3» входят различные датчики.
Главная задача датчиков - представлять информацию из внешней среды модулю
EV3, а задача программиста - научиться получать и обрабатывать эту информацию, подавая необходимые команды моторам робота. На протяжении ряда занятий мы будем последовательно знакомиться со всеми датчиками, входящими и в домашний, и в образовательный наборы, научимся взаимодействовать с ними и решать наиболее распространенные задачи управления роботом.
Слайд 3 Для подключения датчиков к модулю EV3
предназначены порты, обозначенные цифрами "1", "2", "3" и "4".
Таким
образом, к одному модулю EV3 одновременно можно подключить до четырех различных датчиков. Все порты абсолютно равнозначны и вы можете подключать датчики к любым портам, главное - будьте внимательны при указании номера порта для соответствующих датчиков в ваших программах.
Слайд 6
Первым датчиком, который мы изучим, будет датчик касания
Слайд 7 Этот датчик, по сути, представляет собой специальную кнопку,
которая может находиться в двух состояниях:
«Нажатие» или «Освобождение».
Также, последовательный переход в состояние «Нажатие», а затем «Освобождение» называется: «Щелчок» и может обрабатываться программой, как самостоятельное событие.
Слайд 8Режим измерения
Задача:
Включить
мигание красной подсветки , если датчик нажат , и непрерывную
красную подсветку, если датчик касания не нажат.
Не забудьте поставить паузу, иначе подсветка никогда не будет мерцать, так как скорость выполнения цикла выше, чем скорость мерцания.
Слайд 9Режим сравнения
Режим сравнения позволяет определить три состояния датчика
Кнопка нажата
Не
нажата
Произошло нажатие и отпускание кнопки
Слайд 11Управление операторами
Какие же инструменты представляет нам среда
программирования для получения информации с датчиков и реагирования на эту
информацию в программе? Давайте начнем знакомиться с программными блоками, расположенными в Оранжевой палитре, которая называется "Управление операторами".
Слайд 13 Программные блоки Оранжевой палитры, не смотря на
свою малочисленность, очень важны! С помощью этих блоков мы можем
обрабатывать массу событий и условий и сложно представить практическую программу, которая может обойтись без этих блоков.
Слайд 14С самым первым блоком Оранжевой палитры мы уже с вами
знакомы: он называется "Начало". Именно с него начинаются все программы
для роботов.
Второй программный блок называется "Ожидание". Этот блок заставляет программу ожидать выполнения какого-либо условия или наступления какого-либо события. Пока не выполнится условие, установленное в этом блоке, программа не перейдет к выполнению следующих программных блоков! Если перед тем, как начнется выполнение блока "Ожидание" были включены, какие-либо моторы, то они будут продолжать вращаться с установленной скоростью.
Слайд 15 Третий программный блок называется "Цикл". Этот блок многократно
выполняет программные блоки, вложенные внутрь его, пока не будет выполнено
условие завершения цикла, заданное в настройках блока.
Следующий программный блок называется "Переключатель". Он служит для того, чтобы в зависимости от заданных условий - выполнить одну последовательность программных блоков, вложенных в один из своих контейнеров.
Заключительный программный блок называется "Прерывание цикла". Его предназначение - досрочное прекращение выполнения заданного цикла.
Слайд 16 Программные блоки "Ожидание", "Цикл" и "Переключатель" имеют
множество режимов и соответствующих настроек, знакомиться с которыми мы будем
на практических примерах, последовательно и с наглядными пояснениями.
Слайд 17 Задача: необходимо написать программу, запускающую движение робота по
щелчку кнопки.
Слайд 18Решение:
Само условие задачи подсказывает нам возможное решение: перед началом движения
- необходимо дождаться нажатия-отпускания кнопки датчика касания. Возьмем программный блок
"Ожидание", изменим режим программного блока на "Датчик касания" - "Сравнение"
Слайд 19Как можно увидеть - программный блок "Ожидание" сменил свое отображение!
Рядом с песочными часами появилось изображение датчика касания, помогающее в
программе визуально оценивать установленный режим работы. Настройка программного блока "Состояние" задает требуемое состояние датчика, достижение которого прекратит выполнение блока "Ожидание". Настройка "Состояние" может принимать следующие значение: "0" - "Отпущено", "1" - "Нажатие", "2" - "Щелчок". Для решения нашей задачи выберем состояние "Щелчок". Вывод "Измеренное значение« при необходимости позволяет передать окончательное состояние датчика для обработки в другой программный блок.
Слайд 21 Итак: при такой настройке блока ожидания
выполнение нашей программы будет остановлено до нажатия-отпускания кнопки датчика касания.
Только после "Щелчка" выполнение будет передано следующему программному блоку. Установим после блока ожидания один программный блок "Рулевое управление", загрузим программу в робота и убедимся в правильности её выполнения!
Слайд 23 Задача: необходимо написать программу, останавливающую робота, столкнувшегося
с препятствием.
Слайд 24 Из датчика касания давайте соберем небольшой
бампер, который будет нам сигнализировать о том, что наш робот
столкнулся с препятствием. Ниже приведены подробные инструкции для сборки, как из домашней, так и из образовательной версии конструктора Lego Мindstorms EV3. Можете поэкспериментировать и придумать собственный вариант конструкции.
Слайд 26Решение:
Начать прямолинейное движение вперед (Ждать, пока датчик касания не будет
нажат.
Прекратить движение вперед.
Слайд 27Для решения следующей задачи нам понадобится программный блок "Цикл" Оранжевой
палитры.
Слайд 28Задача: необходимо написать программу, заставляющую робота двигаться вперед, при наезде
на препятствие - отъезжать назад, поворачивать вправо на 90 градусов
и продолжать движение вперед до следующего препятствия.
Слайд 29Подсказка: напишите и протестируйте программу движения - отъезда - поворота,
а затем поместите эти блоки внутрь программного блока "Цикл".