kz ru
Каталог

Проект 3: Датчик отслеживания линии

Датчик отслеживания линии на самом деле является инфракрасным датчиком. Здесь используется инфракрасная трубка TCRT5000. Его рабочий принцип заключается в использовании различной отражательной способности инфракрасного света для разных цветов, а затем преобразовании силы отраженного сигнала в токовый сигнал. В процессе обнаружения черный цвет активирует HIGH уровень, а белый - LOW уровень. Высота обнаружения составляет 0-3 см. 3-канальный модуль отслеживания линии интегрирован с 3 наборами инфракрасных трубок TCRT5000 на одной плате, что делает подключение и управление более удобными. Вращая регулируемый потенциометр на сенсоре, можно настроить чувствительность датчика.

Технические характеристики:

Рабочее напряжение: 3.3-5V (DC)
Интерфейс: 5PIN
Выходной сигнал: Цифровой сигнал
Высота обнаружения: 0-3 см
Примечание: Перед началом тестирования поворачивайте потенциометр на сенсоре, чтобы настроить чувствительность обнаружения. Чувствительность наилучшая, когда светодиод находится между состоянием ВКЛ и ВЫКЛ.

Схема подключения:


Подсоедините S1, S2 и S3 датчика отслеживания линии к D11, D7 и D8 платы расширения сенсора.

Тестовый код:


//****************************************************************************
/*
4wd BT Car
lesson 3.1
Line Track sensor
https://alash-electronics.kz/blogs/wiki
*/
int L_pin = 11; // Пины левого датчика отслеживания линии
int M_pin = 7; // Пины среднего датчика отслеживания линии
int R_pin = 8; // Пины правого датчика отслеживания линии
int val_L, val_R, val_M; // Определение переменных для трех датчиков
void setup()
{
  Serial.begin(9600); // Инициализация последовательной связи на 9600 бит в секунду
  pinMode(L_pin, INPUT); // Устанавливаем L_pin в режим ввода
  pinMode(M_pin, INPUT); // Устанавливаем M_pin в режим ввода
  pinMode(R_pin, INPUT); // Устанавливаем R_pin в режим ввода
}
void loop()
{
  val_L = digitalRead(L_pin); // Считываем L_pin:
  val_R = digitalRead(R_pin); // Считываем R_pin:
  val_M = digitalRead(M_pin); // Считываем M_pin:
  Serial.print("left:");
  Serial.print(val_L);
  Serial.print(" middle:");
  Serial.print(val_M);
  Serial.print(" right:");
  Serial.println(val_R);
  delay(500); // Задержка между чтениями для стабильности
}
//****************************************************************************

Результат тестирования:
После успешной загрузки кода на плату подсоедините провода согласно схеме подключения и используйте USB-кабель для подключения платы к компьютеру. После включения, откройте последовательный монитор, и вы увидите состояние трех датчиков отслеживания линии. Когда сигналы не принимаются, значение равно 1. Если прикрыть датчик белой бумагой, значение станет равным 0.

Объяснение кода:
Serial.begin(9600) - Инициализация последовательного порта, установка скорости передачи данных на 9600 бит в секунду
pinMode - Определение пина как вход или выход
digitalRead - Считывание состояния пина, которое обычно бывает HIGH и LOW.

Практическое расширение:
После понимания принципа работы, вы можете подключить светодиод к D9 и управлять им.

//****************************************************************************
/*
4wd BT Car
lesson 3.2
Line Track Sensor LED
https://alash-electronics.kz/blogs/wiki
*/
int L_pin = 11; //пины левого датчика линии отслеживания
int M_pin = 7; //пины среднего датчика линии отслеживания
int R_pin = 8; //пины правого датчика линии отслеживания
int val_L, val_R, val_M; //определение переменных для трех датчиков
void setup()
{
  Serial.begin(9600); // инициализация последовательной связи на скорости 9600 бит в секунду
  pinMode(L_pin, INPUT); // настройка пина L_pin как вход
  pinMode(M_pin, INPUT); // настройка пина M_pin как вход
  pinMode(R_pin, INPUT); // настройка пина R_pin как вход
  pinMode(9, OUTPUT);
}
void loop()
{
  val_L = digitalRead(L_pin); // считывание состояния L_pin:
  val_R = digitalRead(R_pin); // считывание состояния R_pin:
  val_M = digitalRead(M_pin); // считывание состояния M_pin:
  Serial.print("left:");
  Serial.print(val_L);
  Serial.print(" middle:");
  Serial.print(val_M);
  Serial.print(" right:");
  Serial.println(val_R);
  delay(500); // задержка между чтениями для стабильности
  if ((val_L == LOW) || (val_M == LOW) || (val_R == LOW)) // если датчики линии обнаруживают сигналы
  {
    Serial.println("HIGH");
    digitalWrite(9, HIGH); // светодиод выключен
  }
  else // если левый датчик линии не обнаруживает сигналы
  {
    Serial.println("LOW");
    digitalWrite(9, LOW); // светодиод включен
  }
}
//****************************************************************************

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

Комментарии
Отзывов еще никто не оставлял
Товары упомянутые в статье
В наличии
Предзаказ
арт. 5-40
Датчик линии аналого-цифровой позволяет определить цвет поверхности около него. Выходом...
450 тг 400 тг
Нет в наличии
Предзаказ
арт.
Датчик линии на базе TCRT5000 предназначен для распознавания цвета поверхности,...
390 тг
В наличии
Предзаказ
арт. 18
Четырехходовой инфракрасный отслеживания/4 канала отслеживания модуль/Линия электропередачи модули/избегание/машина/робот датчики
950 тг
Нет в наличии
Предзаказ
арт.
100 тг
Предзаказ
Предзаказ успешно отправлен!
Имя *
Телефон *
Добавить в корзину
Название товара
100 тг
1 шт.
Перейти в корзину
Обратный звонок
Запрос успешно отправлен!
Имя *
Телефон *
Заказ в один клик
С помощью уведомлений о заказе можно не только получать актуальную информацию по заказу, но и иметь быстрый канал связи с магазином