Аналоговый Датчик линии TCRT5000

Общие сведения

Датчик линии выполнен на оптопаре TCRT5000. Установите два аналоговых сенсора линии на днище мобильной платформы, чтобы заставить робота не выезжать за пределы территории обозначенной контуром или следовать за нарисованной линией.

Сенсор способен не только отличать чёрную поверхность от белой, но и фиксировать все оттенки серого. Это дает вам возможность точно контролировать процесс перехода границы от черного к белому и поможет роботу не сбиться с пути.

Примеры работы

Датчик общается с микроконтроллером через аналоговый сигнал. На роль контроллера для работы с датчиком линии рассмотрим платформу Arduino Uno.

Что понадобится

  • 1× Arduino Uno
  • 1× Датчик линии TCRT5000 / Аналоговый (Trema-модуль)
  • 1× Соединительные провода «папа-мама»
  • 1× Кабель USB (A — B)

Схема устройства

Trema Sensor Line TCRT5000 Analog Wiring 1

Для быстрой сборки и отладки устройства рекомендуем взять плату расширения Trema Shield, которая надевается сверху на Uno R3 методом бутерброда.

Trema Sensor Line TCRT5000 Analog Wiring 2

Исходный код

Выведем показания аналогового датчика линии в консоль. Для наглядного теста сенсора понадобится шкала от чёрного к белому со всеми оттенками серого, которую можно распечатать на обычном принтере.

  // Определяем ядро платы Arduino
  // для установки рабочего напряжения
  #if defined(__AVR__)
  #define OPERATING_VOLTAGE   5.0
  #else
  #define OPERATING_VOLTAGE   3.3
  #endif
  
  // GPIO пин с поддержкой АЦП
  constexpr auto PIN_SENSOR = A0;
    
  void setup() {
    // Открываем Serial-порт
    Serial.begin(9600);
  }
  
  void loop() {
    // Считываем данные с датчика линии
    int valueSensor = analogRead(PIN_SENSOR);
    // Переводим данные с датчика в напряжение
    float voltageSensor = valueSensor * OPERATING_VOLTAGE / 1024.0;
    // Выводим выходное напряжение в Serial-порт
    Serial.print("Value = "); 
    Serial.print(voltageSensor);
    Serial.println(" Volts");
    // Ждём 100 мс
    delay(100);
  }

Элементы платы

Trema Sensor Line TCRT5000 Analog Annotation

Оптопара TCRT5000

Датчик линии выполнен на оптопаре TCRT5000, которая состоит из двух элементов — ИК-светодиода (излучателя) и фототранзистора (приемника). Когда светодиод излучает инфракрасный свет, световой поток отражается от поверхности и попадает на фототранзистор, где преобразуется в электрический сигнал. Темный цвет отражает меньше света, светлый — больше.

Trema Sensor Line TCRT5000 Analog Info 1

Показания датчика линии зависит от цвета объекта и расстояния сенсора до детектируемой поверхности.

  1. Цвет объекта. Чем белее отражающая поверхность, тем выше уровень напряжение на выходе «S». Чем чернее отражающая поверхность, тем ниже уровень сигнала на выходе «S». Пропасть над столом равносильно максимально черной поверхности.
  2. Расстояние сенсора до детектируемой поверхности. Датчик способен выдавать «адекватные» показания при расстоянии между сенсором и детектируемой поверхностью в диапазоне от 3 до 12 мм. При расстоянии менее 3 миллиметров — перегородка между ИК-излучателем и приемником мешает сенсору принимать отраженный свет. А при расстоянии более 12 миллиметров — отраженный свет рассеивается и не доходит до приемника.

Trema-контакты

Датчик линии подключается к управляющей электронике через группу из трёх контактов.

КонтактФункцияПодключение
SВыходной сигнал сенсораПодключите к пину ввода-вывода микроконтроллера с поддержкой АЦП.
VПитаниеПодключите к питанию микроконтроллера.
GЗемляПодключите к земле микроконтроллера.

Габаритный чертёж

Trema Sensor Line TCRT5000 Analog Dimensions