Зачем это
В 5 классе из датчиков обязателен датчик нажатия. Им робот понимает, что упёрся.
Правило
Датчик превращает событие в сигнал для контроллера. Датчик нажатия — кнопка: нажат или отпущен. Сам он не выбирает дорогу. Это делает программа: если нажат, отъехать и повернуть, если нет — ехать дальше. Два датчика ставят бамперами слева и справа. Сработал левый — поворот в другую сторону, и наоборот. Схему читают до сборки: где мотор, где датчик, какой порт. Модель с датчиком испытывают: подъезжают к препятствию, а не только крутят колесо в воздухе.
Примеры
Бампер коснулся стены, кнопка нажата, программа включает задний ход на полсекунды и поворот.
Пока кнопку не нажали, тот же робот едет вперёд. Датчик молчит — ветка «нажат» не выполняется.
Левый бампер сработал — робот поворачивает вправо. Правый — влево. Так он не упирается в ту же стену.
На схеме датчик показан у передней балки, мотор — у оси. Собрать наоборот значит не попасть в программу.
Испытание: робот стоит на полу перед коробкой. В воздухе датчик не узнает стену.
Если датчик не в том порту, программа ждёт нажатие, которого не видит, и робот едет в стену.
Так часто ошибаются
- «Датчик нажатия видит цвет пола» — он чувствует только нажатие.
- «Датчик сам объезжает стену» — объезд записан в программе. Датчик только сообщает событие.
Памятка
Датчик сообщает. Программа решает. Два бампера — два борта. Порт на схеме совпадает с портом в программе.
Проверь себя
Ответ откроется, если нажать на вопрос. Это не тест — просто проверка.
1. Что сообщает датчик нажатия?
Нажата кнопка или нет.
2. Кто выбирает поворот?
Программа, не сам датчик.
3. Зачем два датчика спереди?
Чтобы понять, с какой стороны препятствие.