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

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

Trema-модуль датчик линии - позволяет различать светлые и темные поверхности, при неизменном расстоянии до них. А если неизменным остаётся цвет отражающей поверхности, то датчик позволяет определять расстояние до неё.

Видео:

Спецификация:

  • Минимальная ширина фиксируемой контрастной линии: 3мм. 
  • Напряжение питания: 5В

    Подключение:

    Датчик подключается к любому аналоговому выводу arduino

    В комплекте имеется кабель для быстрого и удобного подключения к Trema Shield.

    Модуль удобно подключать 2 способами, в зависимости от ситуации:

    Способ - 1 :  Используя проводной шлейф и Piranha UNO

    Используя провода «Папа — Мама», подключаем  напрямую к контроллеру Piranha UNO

    Способ - 2 :  Используя проводной шлейф и Shield

    Используя 3-х проводной шлейф, к  Trema Shield, Trema-Power Shield, Motor Shield, Trema Shield NANO и тд.

    Питание:

    Напряжения питания датчика 5В постоянного тока. Подводится к выводам «V» (+5В) и «G» (GND).

    Подробнее о модуле:

    Датчик освещает поверхность направленным ИК светодиодом (длинна световой волны 940нм). Световой поток отражается от поверхности и попадает на кремниевый NPN фото-транзистор, где преобразуется в электрический сигнал. Так как используется фото-транзистор NPN типа (обратной проводимости), с нагрузкой на коллекторе, то уровень электрического сигнала на выходе «S», обратно-пропорционален отраженному от поверхности свету и прямо пропорционален удалению от отражающей поверхности.

    • Чем светлее отражающая поверхность, тем меньше уровень сигнала на выходе «S».
    • Чем дальше отражающая поверхность, тем выше уровень сигнала на выходе «S».
    Графики зависимости аналогового датчика линии

    Из графика видно, что если датчик линии находится в 5 мм от белой отражающей поверхности, то уровень на выходе «S» будет равен ~ 0,3В.
    Если цвет поверхности изменится с белого на чёрный, то уровень на выходе «S» увеличится с ~ 0,3В до ~ 4,6В.
    Если цвет поверхности не изменился (остался белым), а датчик удалился с 5 мм, до 20 мм, то уровень на выходе «S» увеличится до ~ 4,3В.

    Примеры:

    Включение светодиода при попадании датчика на тёмную линию.

    Подключаем датчик к аналоговому входу A0 (PIN_LINE).

    В качестве светодиода используем интегрированный в arduino или подключаем внешний к 13 выводу (PIN_LED).

     Пример работы аналогового датчика линии

    При помощи функции analogRead(), получаем уровень сигнала на аналоговом входе A0 (PIN_LINE).

    При помощи функции digitalWrite(), включаем или выключаем светодиод. Если уровень выше 400 то включаем, иначе выключаем.

    const uint8_t PIN_LINE = 0;                     // аналоговый вывод подключенный к датчику линии
    const uint8_t PIN_LED  = 13;                    // цифровой   вывод подключенный к светодиоду
          bool    FLAG_LED = LOW;                   // флаг разрешающий свечение светодиода
    void setup(){
      pinMode(PIN_LED, OUTPUT);                     // переводим вывод светодиода в режим выхода
    }
    void loop(){
      FLAG_LED = analogRead(PIN_LINE)>400?HIGH:LOW; // если уровень сигнала на входе PIN_LINE больше 400 то FLAG_LED = HIGH, иначе FLAG_LED = LOW
      digitalWrite(PIN_LED, FLAG_LED);              // устанавливаем на выводе светодиода PIN_LED, состояние FLAG_LED
    }

    Применение:

    • датчик линии (основное назначение датчика)
    • датчик расстояния (при неизменном цвете отражающей поверхности)
    • датчик препятствий (при неизменном цвете отражающей поверхности)
    • датчик оборотов или энкодер (если на вращающийся вал нанести контрастную разметку)

    Ссылки:

    Обсуждение