Логотип Renics
По вашему запросу ничего не найдено =(

Модуль датчика линии

 

Cодержание

Теория

Датчик линии. Датчик линии чаще всего используются на мобильных роботах для ориентации в пространстве. Такие мобильные роботы могут использоваться, например, на складах.

Как же работает датчик линии. На датчике линии установлены датчика, которые испускают инфракрасный свет и определяя уровень освещённости, которые возвращаются к датчику. Тёмный свет отражает меньше света, а светлый больше, таким образом мы можем определить когда робот съезжает с линии и в какую сторону.

Практика

Примечание: датчик рекомендуется располагать на расстоянии 1 - 2 см от исследуемой поверхности. При таком расположении, сенсоры выдают значения в диапазоне 800-1200 на белой поверхности, 2700-3800 на чёрной поверхности, в зависимости от выбранного расстояния. Следовательно увеличение значения на одном из сенсоров, может означать что он направляется на чёрный цвет, а при уменьшении на белый цвет.

Давайте составим программу для отслеживания съезда с линии. Программа будет подсвечивать определённый светодиод в зависимости от того в какую сторону относительно датчика уходит линия. Если белый цвет появляется слева, то загорится зелёный, если справа то красный светодиод. Для этой программы нам понадобятся:

Раздел “События”:

  • “Когда контроллер запущен”

Раздел “Управление”:

  • “Всегда” х1
  • “Подождать 1 сек.” х1
  • “Если Иначе” х2

Раздел “Операторы”:

  • “ < 50” x1
  • “ > 50” x2
  • “ или” x1

Раздел “Контроллер”:

  • “Монохромный светодиод Красный в состояние Включено” х3

Раздел “Сенсоры”:

  • “Считать значение s1 с датчика линии на 1 порту” х3

 

Теперь перейдём к составлению самой программы. Для начала присоединим постоянный цикл “Всегда” к блоку “Когда контроллер запущен”, после чего в этот цикл добавим блок условия “Если Иначе”. Для условия нам понадобятся блоки: “Значение s2 с датчика линии на 1 порту” и “ < 50”. На блоке “ < 50” значение 50 меняем на 2500. Таким образом мы проверяем находиться ли второй, то есть центральный, сенсор на линии (при значении выше 2500, сенсор видит чёрный цвет). И в блок “ < 2500” в первую часть ставим блок “Значение s2 с датчика линии на 1 порту”. Не забываем выбрать тот порт, к которому присоединяем модуль. Внутрь условия, после “Если то” ставим блок “Монохромный светодиод Красный в состояние Включено”.

Теперь составим второе условие, тут мы будем проверять значения с боковых сенсоров s1 и s3. Как мы знаем из теории, при значении меньше 1200, сенсор видит белый цвет. Следовательно составляем условие из блоков “ > 50”, “ или ” и “Значение s1 с датчика линии на 1 порту”. Блоков сравнения и считывания нужно 2 шт. Блоки считывания переносим в первую часть блока сравнения, не забываем поменять порт и считываемое значение. Оба блока сравнения помещаем в блок “ или ”, а блок “ или ” в условие блока “ Если иначе”. Должна получиться конструкция “Если значение s1 с датчика линии на 1 порту > 1300 или значение s3 с датчика линии на 1 порту > 1300 то”.

Осталось добавить задержку и расставить блоки управления светодиодов. Блок “Подождать 1 сек.”  ставим после всех условий, но внутри блока “Всегда”, и меняем 1 сек на 0.2 сек, чтобы считывание проходило чаще. Блок управления светодиодом, ставим в режим “Включено” и ставим внутрь условия, после “Если то”. После “Иначе” ставим блок с режимом “Выключения”. В итоге когда выполняются условия, должен загораться красный светодиод, который позволяет понять, что датчик съехал с линии.

И так сегодня мы с вами научились использовать датчик линии считывая с него значения и использовать их в программе контроллера.

4.8
60
Поделиться в социальных сетях

Комментарии0