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

Этот датчик слежения за линией может обнаруживать белые линии на черном фоне и черные линии на белом фоне. Одноканальный сигнал слежения обеспечивает стабильный выходной сигнал TTL для более точного и стабильного слежения за линией. Многоканальную опцию можно легко реализовать, установив необходимые датчики для робота слежения за линией.
Технические характеристики
Источник питания: +5V
Рабочий ток: <10mA
Диапазон рабочей температуры: 0°C ~ +50°C
Выходной интерфейс: 3-проводной интерфейс (1 - сигнал, 2 - питание, 3 - отрицательное питание)
Выходной уровень: уровень TTL
Подключение датчика слежения за линией к Arduino
VCC к 5V на Arduino
GND к GND на Arduino
OUT (сигнальный провод) к цифровому пину 3 на Arduino

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

Обнаружение линии
Датчик линии использует различие в отражении света от черных и белых поверхностей для обнаружения линии.
Белая поверхность: Белые поверхности хорошо отражают инфракрасный свет. Когда ИК-светодиод освещает белую поверхность, большая часть света отражается обратно к фоторезистору. В результате фототранзистор улавливает больше света и выдает высокий выходной сигнал.
Черная поверхность: Черные поверхности поглощают большую часть инфракрасного света и отражают очень мало. Когда ИК-светодиод освещает черную поверхность, свет почти не отражается обратно к фоторезистору. В результате фоторезистор улавливает меньше света и выдает низкий выходной сигнал.
Настройка подстроечного резистора

Запустите код на Arduino.
Откройте «Серийный монитор» в Arduino IDE (нажмите
Ctrl+Shift+M
).- Посмотрите на значения, которые выводятся в серийный монитор:
Когда датчик находится над белой поверхностью, значение должно быть LOW (0).
Когда датчик находится над черной поверхностью, значение должно быть HIGH (1).
- Медленно вращайте подстроечный резистор на датчике:
Поворачивайте подстроечный резистор, пока светодиод на датчике не будет включаться при обнаружении белой линии.
Поворачивайте дальше, пока светодиод не будет выключаться при обнаружении черной линии.

Пример кода
const int sensorPin = 3; // номер пина датчика
int sensorState = 0; // переменная для чтения состояния датчика
void setup() {
pinMode(sensorPin, INPUT);
Serial.begin(9600);
}
void loop() {
// чтение состояния датчика
sensorState = digitalRead(sensorPin);
// если состояние датчика ВЫСОКОЕ
if (sensorState == HIGH) {
Serial.println("high");
} else {
Serial.println("low");
}
}
Результат
После настройки подстроечного резистора светодиод на датчике будет загораться при обнаружении белой линии и гаснуть при обнаружении черной линии.