Учебная ситуация Опасный путь

Материал из robbo

Автор

Евгений Егоров

Категория участника

  • дополнительное образование (7-12 лет)
  • начальные классы школы

Описание учебной ситуации

Это ситуация решения проблемной учебной задачи, игры, соревнования и обсуждения.

Учащимся нужно запрограммировать Робоплатформу с датчиком света в программе ScratchDuino так, чтобы робот мог начинать движение и останавливаться по сигналу фонарика: короткий сигнал – ехать, длинный - стоять. Проводится игра-соревнование: два робота едут по прямым параллельным трассам, вдоль которых расположены укрытия. Остальные дети берут шарики из фольги и устраивают "метеоритный дождь" - стараются попасть шариком в робота пока он проезжает участок между укрытиями. В кого попали – должен остановиться на 10 секунд. (Учитель контролирует время) Те, кто управляют роботами, стараются проехать опасные участки пока дети подбирают брошенные шарики (шариков мало и держать их долго в руках нельзя). По окончании игры в группе обсуждаются вопросы: Где в реальной жизни используется передача информации/команд при помощи света? В каких областях современной техники передача сигналов светом наиболее важна?

Работа от имени ученика

Датчик света состоит из двух резисторов, один из которых обычный, а другой – фоторезистор – может менять свое сопротивление в зависимости от освещенности. Датчик света, как и некоторые другие датчики, основан на использовании схемы делителя напряжения. При росте освещенности сопротивление фоторезистора падает, а напряжение в точке между резисторами делителя растет.

Для того чтобы отличить длинный сигнал от короткого, программа должна определить момент появления сигнала, немного подождать и еще раз проверить, есть ли сигнал. Если сигнала уже нет – значит он был короткий. Если есть – значит длинный.

Устанавливаю датчик света на робоплатформу, подключаю USB. Фоторезистор направлен вперед, значит, светить фонариком надо будет навстречу роботу. Открываю программу. Показания датчика света постоянно меняются, но находятся в пределах 82-84. Записываю. Эта цифра пригодится, чтобы писать условие, по которому программа будет определять, есть сигнал или нет. Приступаю к программированию.

Испытываю управление. Приходится подправить задержку при определении короткого сигнала и немного потренироваться, чтобы подавать сигнал нужной длительности. Выходим на трассу!

Играть было здорово! Оба наших робота дошли до финиша, и я даже получил чуть меньше ударов «метеоритами»! Покидаться, когда ехали другие ребята, было тоже весело! Оказывается, не так-то просто попасть в робота шариком из фольги с 4-х метров!

считывание сигналов 1

Рисую сигналы. Отмечаю моменты считывания информации с датчиков. Вспоминаю, что в игре робот пару раз поехал в самый неподходящий момент! Похоже, не все идеально с алгоритмом…

Рассказываю ребятам об этом. Оказывается, еще двое заметили то же самое на своих роботах. Мы обсуждаем возможные причины:
- Из-за чего это может быть? Может ложное срабатывание от другого фонарика?
- Скорее всего нет, роботы были далеко друг от друга.
- Может в каком-то месте освещение в комнате ярче, чем в других?
- Возможно, но у меня был установлен большой запас. 90 считалось фоновым светом.
- Я заметил, что робот начинал внезапно ехать после того, как я долго светил на него.

считывание сигналов 2

- Да, и я тоже это заметил.

- Давайте подумаем, что происходит, если мы не гасим фонарик после второго измерения, а продолжаем светить.
- Программа переходит на начало по «всегда» и снова проводит первое измерение.
- И опять обнаруживает сигнал, который никуда и не исчезал! А потом, если фонарик гаснет, на втором измерении сигнала нет, и робот думает, что сигнал был короткий!
- Точно!
- Как же это исправить?
- Что если первым условием проверять, что сигнала нет, и только потом, пытаться его обнаружить? Только задержку между этими условиями надо сделать очень маленькой, чтобы ускорить реакцию робота на команду.
- Давайте попробуем!

Мы с ребятами реализуем нашу идею в программе. Ура! Теперь всё работает как надо!

Управлять поворотами робота с помощью света можно, например, используя светодиоды разных цветов. Правда, они не такие яркие, как белый. Еще можно увеличить количество коротких сигналов в команде. А если автоматизировать процесс подачи сигналов, можно рассчитать их время очень точно. Тогда сигналы разной длительности могут означать разные действия робота. Еще это позволит увеличить скорость мигания управляющего фонарика, и реакция робота будет почти мгновенной.

Управление роботом с помощью фонарика больше всего похоже на управление телевизором с помощью ИК-пульта. Еще сигналы светом подает маяк, светофор, автомобили, когда поворачивают. На старых компьютерах и телефонах бывают ИК-порты. Значит, они могут передавать информацию при помощи невидимого света. А еще есть оптоволокно – это такой специальный провод, только передают по нему не электричество, а свет. И самый быстрый интернет проводят с помощью оптического кабеля. Обмен сигналами между устройствами происходит в случаях с ИК-пультом, ИК-портами и оптическим кабелем. Я думаю, что самая важная область применения световых сигналов сегодня – это оптические линии связи. Потому что это связано с развитием интернета. А интернет становится все более важной частью современной жизни.

(Почему-то на современных устройствах не делают ИК-портов. Интересно, почему?)

Ссылка на скачивание

Скачать можно здесь