- Презентации
- Открытый урок по робототтехнике на базе LEGO EV3 ДАТЧИК КАСАНИЯ ev3 LEGO Mindstorms
Открытый урок по робототтехнике на базе LEGO EV3 ДАТЧИК КАСАНИЯ ev3 LEGO Mindstorms
Автор публикации: Шевелкин В.Ю.
Дата публикации: 16.10.2016
Краткое описание:
1
Конспект открытого занятия по робототехнике Тема: «Датчик касания».
2
Ведение: В состав конструктора Lego mindstorms EV3 входят различные датчики. Главная задача датчиков - представлять информацию из внешней среды модулю EV3, а задача программиста - научиться получать и обрабатывать эту информацию, подавая необходимые команды моторам робота. На протяжении ряда уроков мы будем последовательно знакомиться со всеми датчиками, входящими и в домашний, и в образовательный наборы, научимся взаимодействовать с ними и решать наиболее распространенные задачи управления роботом.
0
Благодаря этой рекламе сайт может продолжать свое существование, спасибо за просмотр.
3
Для подключения датчиков к модулю EV3 предназначены порты, обозначенные цифрами 1, 2, 3 и 4. Таким образом, к одному модулю EV3 одновременно можно подключить до четырех различных датчиков. Все порты абсолютно равнозначны и вы можете подключать датчики к любым портам, главное - будьте внимательны при указании номера порта для соответствующих датчиков в ваших программах.
4
5
6
Первым датчиком, который мы изучим, будет датчик касания
7
Этот датчик, по сути, представляет собой специальную кнопку, которая может находиться в двух состояниях: Нажатие или Освобождение Также, последовательный переход в состояние Нажатие, а затем Освобождение называется: Щелчок и может обрабатываться программой. как самостоятельное событие.
8
Режим измерения Задача: Включить мигание красной подсветки , если датчик нажат , и непрерывную красную подсветку, если датчик касания не нажат. Не забудьте поставить паузу, иначе подсветка никогда не будет мерцать, так как скорость Выполнения цикла выше, Чем скорость мерцания.
9
Режим сравнения Режим сравнения позволяет определить три состояния датчика Кнопка нажата Не нажата Произошло нажатие и отпускание кнопки
10
Режим сравнения
11
Управление операторами Какие же инструменты представляет нам среда программирования для получения информации с датчиков и реагирования на эту информацию в программе? Давайте начнем знакомиться с программными блоками, расположенными в Оранжевой палитре, которая называется Управление операторами.
12
13
Программные блоки Оранжевой палитры, не смотря на свою малочисленность, очень важны! С помощью этих блоков мы можем обрабатывать массу событий и условий и сложно представить практическую программу, которая может обойтись без этих блоков.
14
С самым первым блоком Оранжевой палитры мы уже с вами знакомы: он называется Начало. Именно с него начинаются все программы для роботов. Второй программный блок называется Ожидание. Этот блок заставляет программу ожидать выполнения какого-либо условия или наступления какого-либо события. Пока не выполнится условие, установленное в этом блоке, программа не перейдет к выполнению следующих программных блоков! Если перед тем, как начнется выполнение блока Ожидание были включены, какие-либо моторы, то они будут продолжать вращаться с установленной скоростью.
15
Третий программный блок называется Цикл. Этот блок многократно выполняет программные блоки, вложенные внутрь его, пока не будет выполнено условие завершения цикла, заданное в настройках блока. Следующий программный блок называется Переключатель. Он служит для того, чтобы в зависимости от заданных условий - выполнить одну последовательность программных блоков, вложенных в один из своих контейнеров. Заключительный программный блок называется Прерывание цикла. Его предназначение - досрочное прекращение выполнения заданного цикла.
16
Программные блоки Ожидание, Цикл и Переключатель имеют множество режимов и соответствующих настроек, знакомиться с которыми мы будем на практических примерах, последовательно и с наглядными пояснениями
17
Задача №6: необходимо написать программу, запускающую движение робота по щелчку кнопки.
18
Решение: Само условие задачи подсказывает нам возможное решение: перед началом движения - необходимо дождаться нажатия-отпускания кнопки датчика касания. Возьмем программный блок Ожидание, изменим режим программного блока на Датчик касания - Сравнение
19
20
Как можно увидеть - программный блок Ожидание сменил свое отображение! Рядом с песочными часами появилось изображение датчика касания (Рис. 7 поз. 1), помогающее в программе визуально оценивать установленный режим работы. Настройка программного блока Состояние задает требуемое состояние датчика, достижение которого прекратит выполнение блока Ожидание (Рис. 7 поз. 2). Настройка Состояние может принимать следующие значение: 0 - Отпущено, 1 - Нажатие, 2 - Щелчок. Для решения нашей задачи выберем состояние Щелчок. Вывод Измеренное значение (Рис. 7 поз. 3) при необходимости позволяет передать окончательное состояние датчика для обработки в другой программный блок.
21
22
Итак: при такой настройке блока ожидания выполнение нашей программы будет остановлено до нажатия-отпускания кнопки датчика касания. Только после Щелчка выполнение будет передано следующему программному блоку. Установим после блока ожидания один программный блок Рулевое управление, загрузим программу в робота и убедимся в правильности её выполнения!
23
24
Задача №7: необходимо написать программу, останавливающую робота, столкнувшегося с препятствием.
25
Из датчика касания давайте соберем небольшой бампер, который будет нам сигнализировать о том, что наш робот столкнулся с препятствием. Ниже приведены подробные инструкции для сборки, как из домашней, так и из образовательной версии конструктора Lego mindstorms EV3. Можете поэкспериментировать и придумать собственный вариант конструкции.
26
27
Решение: Начать прямолинейное движение вперед (Ждать, пока датчик касания не будет нажат Прекратить движение вперед
28
29
Для решения следующей задачи нам понадобится программный блок Цикл Оранжевой палитры.
30
Задача №8: необходимо написать программу, заставляющую робота двигаться вперед, при наезде на препятствие - отъезжать назад, поворачивать вправо на 90 градусов и продолжать движение вперед до следующего препятствия.
31
Подсказка: напишите и протестируйте программу движения - отъезда - поворота, а затем поместите эти блоки внутрь программного блока Цикл.