Датчики в робототехнике. Датчик нажатия (кнопка)
Датчики являются элементом технических систем, предназначенных для измерения, сигнализации, регулирования, управления устройствами или процессами.
LEGO Mindstorms располагают огромным количеством сенсоров как компании LEGO, так и сторонних производителей (HiTechnic, Mindsensors). Примеры стандартных сенсоров для LEGO Mindstorms NXT.
Датчик касания
Этот датчик, по сути, представляет собой специальную кнопку, которая может находиться в двух состояниях: "Нажатие" или "Освобождение" Также, последовательный переход в состояние "Нажатие", а затем "Освобождение" называется: "Щелчок" и может обрабатываться программой как самостоятельное событие.
Работая с датчиками, мы сталкиваемся с разветвляющимся влгоритмом или ветвлением.
Ветвление - это структура, позволяющая выбрать одну из ветвей выполнения программы, в зависимости от выполнения или невыполнения какого-либо условия. Т.е. она позволяет выбрать один из вариантов, в зависимости от условий.
Все мы помним сказки о былинных богатырях. Почти во всех этих сказках главный герой оказывается перед выбором нескольких вариантов пути (обычно они начертаны на камне), причем все варианты сулят ему неприятности. Единственное, в чем наш герой может быть уверен, так это в том, что каждая дорога грозит ему строго определенным набором бед, но не всеми вместе.
Причем важно понимать, что сначала проверяется условие, а затем в зависимости от результата проверки (истина или ложь), выполняется либо серия команд1, либо серия команд 2, но никогда обе эти серии команд не выполняются вместе.
В языке программирования, с которым мы работаем, на разных уровнях есть несколько вариантов команды ветвления. Между ними существует только одно отличие - они "реагируют" на разные события - состояние различных датчиков, значение переменных или таймера, а вот окончание
всегда одинаковое.
Мы с вами более подробно познакомимся с одним из них:
Рассмотрим пример:
Что будет с лампочкой в данной программе?
Ответ: Она будет гореть при нажатой кнопке Датчика Касания.
Что нужно переделать в программе, чтобы лампочка выключалась, по нажатию на Датчик Касания?
Ответ:
Что нужно переделать в программе, чтобы лампочка выключалась, по нажатию на Датчик Касания несколько раз?
Задание1:
Робот движется вперед до препятствия-стенки. Как только робот коснется стенки, он едет назад 5 секунд, а затем снова вперед.
Пример:
Задание2:
Робот движется по лабиринту до препятствия-стенки. Как только коснется стенки в конце лабиринта, он должен остановиться и подать звуковой сигнал.