Движение по линии в режиме яркости отраженного света

Иногда датчик цвета недостаточно эффективно может различить черный и белый цвета. Решение этой проблемы заключается в использовании датчика не в режиме определения цвета, а в режиме определения яркости отраженного света. В этом режиме вы, зная значения датчика на темной и светлой поверхности, самостоятельно говорите, что будет считаться белым, а что черным.
Соберите конструкцию и подсоедините 2 датчика цвета (к портам 1 и 4), как в предыдущей статье.
robot
Теперь определим значения яркости на белой и черной поверхностях. Для этого в меню блока EV3 найдите вкладку «Приложения модуля» (6 кругов) и зайдите в port view.
menu
port view
Теперь вы находитесь в окне просмотра портов и можете увидеть показания всех датчиков на текущий момент. Ваши датчики должны подсветиться красным, что означает, что они работают в режиме определения яркости отраженного света. Если же они светят синим – в окне просмотра портов на нужном порте нажмите центральную кнопку и выберите режим COL-REFLECT.
Теперь поставьте робота так, чтобы оба датчика располагались над белой поверхностью. Посмотрите на цифры в портах 1 и 4.

sens_white
В моем случае, значения 66 и 71 соответственно. Это и будут значения белого у датчиков.
Теперь поставьте робота так, чтобы датчики располагались над черной поверхностью. Снова посмотрите значения портов 1 и 4.
sens_black
У меня 5 и 6 соответственно. Это – значения черного.
Дальше, мы изменим предыдущую программу.
2sensline
А именно – изменим настройки переключателей. Пока у них установлено Датчик цвета -> Измерение -> Цвет.
Нам же требуется установить Датчик цвета -> Сравнение -> Яркость отраженного света.
sens_settings

Теперь мы должны установить «тип сравнения» и «пороговое значение». Пороговое значение – это значение некоторого «серого», значения меньше которого мы будем считать черным, а больше – белым. Для первого приближения удобно использовать среднее значение между белым и черным каждого датчика.

Таким образом, пороговое значение первого датчика (порт №1) будет (66+5)/2=35.5. Округлим до 35.

Пороговое значение второго датчика (порт №4): (71+6)/2 = 38.5. Округлим до 38.

Теперь выставляем эти значения в каждом переключателе соответственно.

line_brightness

Вот и все, блоки с движениями остаются на своих местах без изменений, так как, если мы ставим в «типе сравнения» знак «<», то все, что сверху (под галочкой) будет считаться черным, а снизу (под крестиком) – белым, как и было в предыдущей программе.

Старайтесь ставить датчики так, чтобы разница между белым и черным была как можно больше. Если разница меньше 30 — ставьте датчики ниже.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *