Как подключить датчик линии к Arduino. Как работает инфракрасный датчик линии. Какие типы датчиков линии бывают. Как правильно откалибровать датчик линии. Примеры кода для работы с датчиком линии на Arduino.
Что такое датчик линии и как он работает
Датчик линии (или трекер линии) — это электронное устройство, которое позволяет роботу или автономному транспортному средству отслеживать линию на поверхности и двигаться вдоль нее. Принцип работы датчика основан на отражении инфракрасного излучения от поверхности.
Типичный датчик линии состоит из следующих основных компонентов:
- ИК-светодиод — излучает инфракрасный свет
- Фототранзистор или фотодиод — принимает отраженный ИК-свет
- Компаратор — сравнивает уровень принятого сигнала с пороговым значением
- Потенциометр — позволяет регулировать пороговое значение
Принцип действия датчика линии можно описать следующим образом:
- ИК-светодиод излучает инфракрасный свет в направлении поверхности
- Свет отражается от поверхности и попадает на фототранзистор
- Светлая поверхность отражает больше света, темная — меньше
- Компаратор сравнивает уровень сигнала с фототранзистора с пороговым
- Если сигнал выше порога — датчик определяет светлую поверхность
- Если ниже — темную поверхность (линию)
Таким образом, датчик способен различать светлую и темную поверхность, что позволяет отслеживать линию на контрастном фоне.

Типы датчиков линии
Существует несколько основных типов датчиков линии, которые различаются по конструкции и принципу работы:
1. Аналоговые датчики
Выдают аналоговый сигнал, пропорциональный уровню отраженного света. Позволяют получить более точную информацию о положении линии, но требуют АЦП для обработки сигнала.
2. Цифровые датчики
Имеют встроенный компаратор и выдают цифровой сигнал 0 или 1 в зависимости от наличия линии. Проще в использовании, но менее информативны.
3. Многоэлементные датчики
Содержат несколько (обычно 3-8) чувствительных элементов, расположенных в ряд. Позволяют более точно определять положение линии.
4. Матричные датчики
Представляют собой матрицу чувствительных элементов. Дают наиболее полную информацию о расположении линии, но сложнее в обработке.
Подключение датчика линии к Arduino
Рассмотрим подключение типичного цифрового датчика линии к плате Arduino:
- Подключите питание датчика (VCC) к выводу 5V Arduino
- Подключите землю датчика (GND) к выводу GND Arduino
- Подключите выход датчика (OUT) к любому цифровому пину Arduino, например D2
- Если у датчика есть аналоговый выход (AO), его можно подключить к аналоговому входу Arduino
Схема подключения будет выглядеть следующим образом:

Калибровка датчика линии
Для корректной работы датчика линии необходимо провести его калибровку. Это позволит настроить пороговое значение для надежного различения линии и фона. Процесс калибровки обычно включает следующие шаги:
- Установите датчик над светлой поверхностью (фоном) и измерьте значение
- Установите датчик над темной поверхностью (линией) и измерьте значение
- Вычислите среднее значение между полученными измерениями
- Установите это среднее значение как пороговое для различения линии и фона
Для цифровых датчиков калибровка обычно выполняется с помощью подстроечного резистора. Для аналоговых датчиков калибровка может быть выполнена программно.
Программирование датчика линии на Arduino
Рассмотрим простой пример кода для работы с цифровым датчиком линии на Arduino:
«`cpp const int sensorPin = 2; // Пин, к которому подключен датчик void setup() { pinMode(sensorPin, INPUT); // Настраиваем пин как вход Serial.begin(9600); // Инициализируем последовательный порт } void loop() { int sensorValue = digitalRead(sensorPin); // Читаем значение с датчика if (sensorValue == LOW) { Serial.println(«Обнаружена линия»); } else { Serial.println(«Линия не обнаружена»); } delay(100); // Небольшая задержка для стабильности } «`
Применение датчиков линии в робототехнике
Датчики линии широко используются в робототехнике для создания роботов, способных автономно перемещаться по заданному маршруту. Основные области применения включают:
- Роботы-уборщики, следующие по заданной траектории
- Автоматизированные транспортные системы на производстве
- Учебные роботы для обучения основам программирования и робототехники
- Соревновательные роботы для участия в конкурсах по прохождению лабиринтов
Использование нескольких датчиков линии позволяет роботу не только следовать по линии, но и определять перекрестки, повороты и другие особенности трассы.
Советы по использованию датчиков линии
При работе с датчиками линии важно учитывать следующие моменты:
- Выбирайте датчик с подходящим диапазоном обнаружения для вашей задачи
- Обеспечьте стабильное освещение — датчики чувствительны к изменениям внешнего света
- Регулярно проводите калибровку датчиков для поддержания точности
- Используйте фильтрацию показаний для устранения шумов и ложных срабатываний
- Экспериментируйте с расположением датчиков для оптимального отслеживания линии
Заключение
Датчики линии являются важным компонентом в создании автономных роботов и транспортных систем. Правильное понимание принципов их работы, грамотное подключение и программирование позволяют создавать эффективные решения для различных задач робототехники.

arduino
Главная → Робототехника → arduino
Подключение и программирование датчиков Подключение ультразвукового датчика расстояния к Arduino. Считывание данных с датчика и вывод на экран |
Устройство Arduino. Структура программы. Простейшая программа для платы Arduino, мигание светодиода. |
Подключение и управление светодиодами с помощью Arduino На данном уроке мы научимся подключать светодиоды к Arduino, используя макетную плату, программировать включение и выключение светодиодов. |
Сигнализация на Arduino Проект сигнализация на Arduino |
Роботы Arduino для соревнований движение по линии Роботы Arduino для соревнований движение по линии. Устройство робота, компоненты. |
Считывание и калибровка датчиков Arduino Как считать данные с дачтика Arduino и откалбировать датчики освещенности для движения робота Arduino по черной линии |
Установка среды разработки arduino Установка среды разработки ардуино IDE arduino. |
Сборка и программирование мобильного робота ардуино Принципиальная схема мобильного робота ардуино программирование мобильного робота ардуино на движение вперед |
Управление мобильным роботом ардуино Повороты мобильного робота ардуино. |
Движение робота ардуино по черной линии Программа для движения мобильного робота ардуино вдоль черной линии, Схема мобильного робота arduino для движения по черной линии |
Мобильный робот ардуино с драйвером l289 Сборка и программирование мобильного робота ардуино с драйвером l289 |
Подключение сервопривода к ардуино Подключение сервопривода к ардуино. |
Подключение реле к ардуино Подключение реле к ардуино, управление внешней нагрузкой и подвижной платформой с помощью ардуино через реле |
Подключение радиомодуля к ардуино Подключение и программирование радио модуля NRF24L01 к ардуино. Прием и передача радиосигнала с помощью радиомодуля в системах с ардуино |
Подключение arduino к bluetooth Подключение блютуз модуля hc к ардуино. |
Инфракрасный датчик расстояния sharp Подключение и программирование инфракрасного датчика расстояния sharp к ардуино |
Подключение lcd дисплея к arduino Подключение lcd дисплея к arduino. Вывод тектса на lcd экран в среде IDE Arduino |
Подключение клавиатуры к ардуино Подключение мембранной матричной клавиатуры к ардуино. |
Подключение датчика дыма к ардуино Подключение датчика дыма MQ 2 к arduino. Программирование датчика дыма в среде ide arduino |
Подключение шагового двигателя к ардуино Подключение шагового двигателя 28BYJ-48 к ардуино с помощью драйвера ULN2003. Управление шаговым двигателем с помощью библиотеки Stepper |
Страницы: 1 2 Следующая Последняя
Сами строим робота дома или в школе → Этапы сборки
Сборку робота мы вели в следующей последовательности:
- Этап 1 – установка колёс, моторов, энкодеров и датчиков линии на круглую пластину.
Установка держателя основной батареи, выключателя питания и гнезда подзарядки. Сборка электрических цепей питания.
- Этап 2 – установка платы Arduino UNO и подключение её к цепям электропитания.
- Этап 3 – установка платы MotorShield и подключение её к цепям электропитания и моторам.
- Этап 4 – установка платы TroykaShield и подключение к ней кабелей энкодеров и датчиков линии.
Этап 1
- Сначала надо закрепить пластмассовыми держателями на круглой пластине два электромотора с колёсами и энкодерами (если Вы используете энкодеры). К электрическим выводам моторов надо аккуратно припаять провода длиной по 15 сантиметров. Эти провода впоследствии будут подключаться к винтовым зажимам платы MotorShield. Для того чтобы избежать случайного обрыва прижмите их к пластине каким-нибудь зажимом с винтом. Зажим можно сделать из кусочка фанеры или пластика.
- Затем надо прикрепить к круглой пластине шаровую опору.
Наш робот опирается на три точки – два колеса и шаровую опору. Опора расположена снизу в корме робота. А блок батарей – сверху прямо над шаровой опорой.
- Затем следует разместить впереди по ходу движения два датчика линии. Датчики расположены сверху круглой пластины, но их фотоэлементы смотрят вниз через отверстия в ней. Для того чтобы датчики не вылезали за контур, надо надфилем немного расширить соответствующие отверстия в пластине.
- От датчиков линии и энкодеров идут кабели (по три провода в каждом). Кабели поставляются в комплекте с датчиками и энкодерами. Если Вы используете и датчики линии, и энкодеры, то у Вас будет шесть кабелей по три провода, которые впоследствии будут подключаться к контактам платы TroykaShield сверху. Пока просто свяжите эти кабели в один пучок и выведите его за пределы пластины спереди.
- Далее надо разместить в корме робота пластмассовый блок для аккумуляторов основного питания. Лучше всего закрепить блок вертикально на коротких стойках высотой 5 мм.
Возможно, для этого придётся просверлить в круглой пластине дополнительные отверстия. Стойки можно прикрепить к самому блоку винтами, пропустив их через отверстия, к которым крепятся плюсовые электрические контакты для аккумуляторов. Если стойки металлические, то надо быть внимательным – на них будет присутствовать напряжение от аккумуляторов. Напряжение, которые мы используем, безопасно для человека, но для электроники оно может быть губительным. Поэтому следует убедиться, что стойки касаются только блока аккумуляторов и пластмассовой круглой пластины – основания робота.
- Тумблер отключения питания надо приклеить к блоку аккумуляторов так, чтобы его рычажок смотрел назад. Разъём блока подзарядки требуется разместить на пластине, предварительно просверлив для него отверстие в удобном месте.
- Четыре аккумулятора в передней части пластмассового блока батарей лучше установить до монтажа платы Arduino UNO. Впоследствии надо будет поместить кусочек тонкого картона между аккумуляторами и пакетом плат для того чтобы исключить их касание.
- Блок аккумуляторов, тумблер выключения питания и разъём для подзарядки соединяются электрическими проводами посредством пайки так, чтобы получить на выходе две пары проводов подводки электропитания к платам Arduino UNO и MotorShield. Подключение питания потребует отдельной работы, поэтому её описание выведено в особый раздел “Система питания робота”.
Что должно получиться, можно увидеть на фотографии.
Собранная механическая платформа miniQ с тяговыми моторами и основной батареей. Впереди на платформе размещены левый и правый датчики линии. Под моторами – энкодеры. Также видны кабели датчиков линии и энкодеров. Каждый энкодер имеет по два датчика, соответственно по два кабеля. Указатели на фотографии показывают только левый мотор, энкодер и датчик линии. Всего шесть кабелей по три провода в каждом. Кабели собраны в пучок, который в собранном роботе проходит снизу вверх к плате TroykaShield.Этап 2
Следующий этап сборки робота – монтаж и электрическое подключение платы Arduino UNO.
- Приложите плату Arduino UNO к роботу сверху так, чтобы разъёмы USB и питания платы смотрели вперёд по ходу движения. Сама плата должна располагаться между колёсами робота, над моторами и датчиками линии, не касаясь их.
- У платы Arduino UNO есть четыре отверстия для крепления её на стойки. В нашем случае можно использовать только три из них, так как одно расположено слишком близко к электрическим элементам платы и поставить там стойку не удастся.
- Закрепите плату на круглой пластине тремя стойками так, чтобы плата не касалась других элементов робота. Возможно, придётся просверлить в пластине дополнительные отверстия для того, чтобы стойки крепления стояли строго вертикально. Прижмите плату к стойкам, завинтив другие стойки поверх платы. На следующем этапе на эти стойки ляжет плата MotorShield. Длина верхних стоек должна быть либо 10, либо 15 миллиметров, в зависимости от длины штырей платы MotorShield.
- Далее надо подвести к плате электропитание от одной из пар проводов, которые мы сделали на предыдущем этапе.
Тут есть два варианта. Либо припаять провода непосредственно к площадкам платы Arduino UNO снизу. Либо припаять провода к разъёму, который будет вставляться в разъём питания платы. Любой вариант годится. Наши ученики выбрали первый.
Должно получиться, как показано на фотографии ниже. Неподключенными останется пара проводов питания платы MotorShield, четыре провода от моторов, которые впоследствии мы подключим к винтовым зажимам платы MotorShield, и пучок проводов от датчиков линии и энкодеров.
Добавлена плата Arduino UNO. К плате может быть подключён USB кабель для связи с компьютером. Провода питания от основной батареи припаяны к площадкам разъёмами питания снизу. Но можно подключать их через разъём на плате. Отдельно идут два провода питания MotorShield. Видны четыре аккумулятора в передней части блока батареи основного питания. Ещё 4 четыре аккумулятора располагаются на оборотной стороне.Этап 3
Теперь пришло время закрепить на роботе плату MotorShield и подключить к ней питание и моторы.
Это очень просто – аккуратно вставляем контакты боковых разъёмов платы MotorShield в гнёзда платы Arduino UNO и навинчиваем поверх MotorShield три стойки, на которые впоследствии будет крепиться плата TroykaShield.
Здесь есть небольшая тонкость. Как говорилось выше, высота стоек между платами должна быть либо 10, либо 15 мм в зависимости от длины контактов боковых разъёмов плат.
Следить за этим надо, потому что стойки крепления должны давать возможность контактам полностью войти в гнёзда электрических разъёмов. Иначе робот будет работать неустойчиво или вообще не будет работать.
В принципе свинчивать платы стойками не обязательно; можно обойтись только боковыми разъёмами. Робот будет работать и без стоек. Но со стойками робот выглядит надёжнее.
После механического крепления платы MotorShield надо подключить к ней провода питания и моторов. Все эти провода подключаются к винтовым зажимам на плате.
Сначала подключается питание. Обратите внимание на полярность подключения – “плюс” батареи к “плюсу” платы, и “минус” батареи к “минусу” платы. Если перепутать, большой беды не будет, – на плате есть устройства защиты от переполюсовки, но работать плата и моторы не будут.
Пары проводов от моторов надо подключить, соответственно, к парным (правому и левому) входам платы. Полярность здесь важна, но на данном этапе некритична. Если мы перепутаем полярность, то моторы будут крутиться в сторону противоположную той, на которую мы рассчитываем.
В этом случае надо будет просто поменять подключение проводов от соответствующего мотора.
Что действительно важно – убедится, что оба провода от правого мотора подключены к одному парному входу, а оба провода левого – к другому. Если мы перепутаем левую и правую пару, то на этапе настройки программы драйвера мы так же это увидим и просто поменяем подключение пар проводов.
Должно получиться что-то подобное на фотографии внизу. Неподключённым останется пучок кабелей от энкодеров и датчиков линии. На фотографии видно, как он спускается под крышку стола.
Добавлена плата MotorShield с подключёнными к ней проводами питания от основной батареи и проводами питания моторов.
Этап 4
Теперь подключим плату Troyka Shield. Для этого просто аккуратно вставим контакты боковых разъёмов платы в гнёзда платы MotorShield и закрепим плату на стойках. Плата TroykaShield последняя в пакете электроники робота, поэтому стойки нам уже не нужны. Можно прикрепить плату простыми винтами.
Почему контакты боковых разъёмов одной платы нужно вставлять в гнёзда другой платы аккуратно? Дело в том, что число пар гнездо-контакт на платах очень много. Если хоть одна пара не будет соединена или соединена неправильно, то робот работать не будет, а электроника может быть испорчена.
Если у Вас есть датчики линии и энкодеры, то теперь можно подключить к плате Troyka Shield пучок проводов от них. Как это сделать описано в разделе “Провода энкодеров и датчиков линии”.
На фотографии ниже Вы можете видеть, что получилось после этого этапа работ.
Добавлена плата Troyka Shield. Пучок проводов от энкодеров и датчиков линии подключён к контактам цифровых портов ввода-вывода сверху платы. На передней кромке платы Troyka Shield видны свободные контакты аналоговых портов ввода. К ним мы будем подключать кабели ультразвуковых и инфракрасные датчиков расстояния.Теперь пора вставить ещё четыре аккумулятора в заднюю часть пластмассового блока батарей, и аппаратная часть робота готова.
Вид основного блока сзади с пустым отсеком батареи. В отсеке два отделения – переднее и заднее. В каждом размещаются по четыре аккумуляторных батареи. На фотографии видно заднее отделение. Выключатель питания и гнездо для подключения устройства подзарядки здесь не видны, но они есть и располагаются под батареей.Линейные датчики и способы их использования
Линейные датчики обнаруживают наличие черной линии, излучая инфракрасный (ИК) свет и определяя уровни света, которые возвращаются к датчику.
На этом этапе вы узнаете, как работает датчик линии и как он обнаруживает линию. В качестве примера я буду использовать ИК-датчик TCRT5000, но полученные знания можно применить и к другим линейным датчикам. Эти знания помогут вам спроектировать и запрограммировать алгоритм следования по линии в конце недели.
Инфракрасное (ИК) обнаружение
Линейные датчики обнаруживают наличие черной линии, излучая инфракрасный (ИК) свет и определяя уровни света, которые возвращаются к датчику. Они делают это с помощью двух компонентов: излучателя и датчика света (приемника).
Пример линейного датчика TCRT5000 вы можете увидеть ниже. Ваши компоненты могут быть расположены по-разному (например, все с одной стороны), но компоненты, которые я буду обсуждать, будут присутствовать на большинстве линейных датчиков.
В верхней правой части изображения вы можете увидеть два круглых компонента, которые немного похожи на светодиоды. Синий — ИК-излучатель, черный — приемник. Эти устройства также имеют компонент, называемый потенциометром, который регулирует порог устройства. Это делается с помощью отвертки, чтобы повернуть белый диск, который выглядит как крест в левой части изображения.
Устройство излучает ИК-свет, а датчик фиксирует уровень света, отраженный от поверхности под ним. Некоторые линейные датчики имеют два типа выхода: аналоговый и цифровой. Аналоговый выход присутствует не всегда, но будет возвращать постоянное значение уровня освещенности, которое обнаруживает датчик. Аналоговые сигналы должны быть преобразованы в цифровые, прежде чем Raspberry Pi сможет их использовать. Цифровой выходной сигнал получается в результате сравнения уровней освещенности с пороговым уровнем, который регулируется поворотом потенциометра. Если датчик не получает достаточно света, чтобы превысить пороговое значение, цифровой выход будет высоким (1). Если получено достаточно света и превышено пороговое значение, вывод будет установлен на низкий уровень (0).
Поначалу устройство этих устройств может показаться несколько запутанным, но оно обретает смысл, если учесть, что датчик предназначен для обнаружения черных линий. Черная линия не будет отражать столько света, поэтому выход будет установлен на high (1) , когда под ней находится черная поверхность.
Как пользоваться линейным датчиком
Теперь, когда вы немного больше знаете, как работает линейный датчик, вам следует научиться им пользоваться.
Датчик линии также имеет набор контактов, некоторые из которых вам нужно будет подключить к используемому вами Raspberry Pi:
-
VCC
необходимо подключить к напряжению от 3,3 до 5 В для питания устройства -
GND
— контакт заземления, необходимый для замыкания цепи -
AO
— аналоговый выход (не работает с Raspberry Pi) -
DO
— цифровой выходной контакт (подойдет для Raspberry Pi)
Вывод VCC здесь может принимать различные напряжения, поэтому делители потенциала не нужны. Также стоит отметить, что 9Контакт 0030 AO присутствует не на всех линейных датчиках.
Два датчика лучше, чем один
Вы можете создать робота, следующего за линией, используя только один датчик, так как этого достаточно, чтобы обнаружить линию под роботом. Однако, если робот отклоняется от линии, очень трудно понять, в какую сторону ему нужно повернуть, чтобы снова найти линию.
Чтобы решить эту проблему, вы можете использовать более одного датчика. Если вы добавите второй датчик и равномерно распределите датчики по обеим сторонам самоустанавливающегося колеса, информация, полученная от датчиков, позволит вашему роботу снова найти линию.
Если линия находится в центре робота, оба датчика вернут 0 со своих цифровых контактов, так как они оба на белом фоне.
Однако, если робот движется вправо, левый датчик в конце концов пересечет линию, изменив его выход на 1. Когда это произойдет, робот должен скорректировать свой курс и повернуть налево. Как только датчик возвращается к значению 0, мы знаем, что линия вернулась в середину робота.
То же самое, когда робот поворачивает слишком далеко влево; правый датчик будет перемещаться по линии и изменять показания. Затем робот должен повернуть направо, чтобы исправить себя.
Обсуждение
При желании вы можете использовать даже больше двух датчиков; в некоторых конструкциях используется три или четыре.
Как третий датчик в центре робота повлияет на его движения?
Какая разница между дополнительными датчиками?
Поделитесь своими мыслями в разделе комментариев.
Датчик слежения за линией | Makeblock Education
Последнее обновление
Обзор
Модуль следования по линии предназначен для роботов, следующих по линии. Есть два датчика, каждый с ИК-передающим светодиодом и ИК-фототранзистором статической индукции. mBot Ranger может двигаться как по черной линии на белом фоне, так и по белой линии на черном фоне. Он отличается быстрым обнаружением и простой схемой. Синяя метка на интерфейсе этого модуля указывает, что это двойной цифровой интерфейс и что он должен быть подключен к порту с синей меткой на главной плате управления.
Технические характеристики
● Рабочее напряжение: 5 В пост. тока
● Рабочая температура: 0–70℃
● Диапазон обнаружения: 1–2 см
● Угол обнаружения: <120°
● Режим управления: Двойной цифровой интерфейс
● Размеры (Д x Ш x В): 51 x 24 x 22 мм
Особенности
● Белая зона на модуле предназначена для соединения с металлическими балками;
● Два светодиодных индикатора сообщают о состоянии следования по линии;
● Обратное подключение питания не вредит ИС;
● Модуль чувствителен к естественному освещению, поэтому он может плохо работать в местах со значительными колебаниями окружающего освещения;
● Модуль поддерживает программирование в Arduino IDE и упрощает программирование с помощью библиотеки времени выполнения;
● Модуль поддерживает блочное кодирование на mBlock 5 и mBlock 3, что подходит для пользователей всех возрастов;
● Простое подключение благодаря разъему RJ25;
● Модуль имеет модульную установку, совместимую с деталями Lego;
● Модуль имеет контакты S1, S2, VCC и GND, которые поддерживают большинство основных плат управления Arduino.
Назначение контактов
Разъем модуля повторителя линии имеет 4 контакта. Характеристики контактов показаны в следующей таблице.
Серийный номер | Штифт | Особенность |
1 | ЗЕМЛЯ | Подключение заземляющего электрода |
2 | ВКЦ | Подсоедините шнур питания |
3 | С1 | Вывод данных датчика 1 |
4 | С2 | Вывод данных датчика 2 |
Способ подключения
● Подключение кабеля RJ25
Бирка на интерфейсе следящего датчика имеет синий цвет. При использовании разъема RJ25 его необходимо подключить к порту с синей меткой на главной плате управления. Возьмите Makeblock Orion в качестве примера. Вы можете подключить его к порту 3, порту 4, порту 5 или порту 6, как показано на следующем рисунке.
● Подключение кабеля Dupont
При использовании кабеля Dupont для подключения к Arduino Uno контакты S1 и S2 модуля должны быть подключены к цифровым интерфейсам, как показано на следующем рисунке.
Руководство по программированию
● Программирование с помощью mBlock 5
Модуль следящего за линией поддерживает программирование с помощью mBlock 5. Ниже приводится краткое описание блока в этом модуле:
Считать значение состояния датчика следящего за линией
● Программирование с помощью mBlock 3
Модуль следящего за линией поддерживает программирование с помощью mBlock 3. Ниже приводится краткое описание блока в этом модуле:
Блок | Характеристики |
Выберите порт Чтение значения состояния датчика следящего элемента |
● Программирование Arduino
Если вы используете программирование Arduino, вам необходимо использовать Makeblock-Library-master для управления следящим модулем.
MeLineFollower(uint8_t port) определяет порт для подключения
Функция | Особенность |
MeLineFollower (порт uint8_t) | Определите порт для подключения |
uint8_t readSensors() | Чтение значений состояния датчиков |
Эта программа написана на языке программирования Arduino. Значения датчиков считываются каждые 200 мс. Вы можете видеть, находятся ли два датчика за пределами черной линии последовательного монитора.
Принцип работы
Модуль слежения за линией представляет собой роботизированную часть, разработанную по принципу отражающего фотоэлектрического датчика. Поскольку ИК-излучение имеет разную силу отражения от объектов разного цвета, инфракрасный свет может непрерывно излучаться на пол, когда mBot Ranger движется. Когда инфракрасный свет попадает на белый бумажный пол, происходит диффузное отражение, и отраженный свет поглощается поглощающей трубкой, установленной на mBot Ranger. Когда инфракрасный свет встречается с черной линией, он поглощается, а поглощающая трубка, установленная на mBot Ranger, не поглощает отраженный свет. Положение черной линии и траектория движения mBot Ranger определяются наличием отраженного света, поглощаемого поглощающей трубкой. Выходное значение датчика следящего за линией равно 0 при обнаружении черной линии, а выходное значение равно 1 при обнаружении белой линии.