Аналоговый датчик линии, в отличие от цифрового, видит не только чёрную и белую поверхность, но и найдёт все оттенки серого.
Закрепите пару таких сенсоров внизу мобильной платформы, и ваш робот станет участником соревнований езды по линии или робосумо. Датчик линии также позволит роботу увидеть пропасть и спасёт от падения со стола.
Проверим датчик в действии с платформами Arduino. На выходе сенсора аналоговый сигнал. Для быстрого и удобного подключения используйте Troyka Shield.
// пин датчика линии #define SENSOR_LINE_PIN A0 // определяем напряжение питания Vcc — 5 В или 3.3 В #define VOLTAGE 5.0 // переменная для хранения значения аналогового сигнала в вольтах float v; void setup() { // открываем последовательный порт Serial.begin(9600); } void loop() { // считываем показания с датчика, вычисляем уровень напряжения int reading = analogRead(SENSOR_LINE_PIN); v = (float)reading * VOLTAGE / 1024.0; // выводим показания на экран Serial.print("V = "); Serial.print(v); Serial.println(" volts"); delay(3000); }
После загрузки скетча — откройте монитор Serial-порта. Перемещайте датчик над разными градациями серого и следите за показаниями.
Датчик подключается к управляющей электронике по трём проводам.
Оптопара TCRT5000 — это собранные в одном корпусе светодиод и фототранзистор. Светодиод излучает свет в инфракрасном диапазоне с длиной волны 950 нм. Световой поток отражается от поверхности и попадает на фототранзистор. Чем светлее поверхность, тем больше отражается света, чем темнее — тем меньше.
Показания датчика также зависят от расстояния сенсора до поверхности. При расстоянии менее 3 миллиметров — перегородка между ИК-излучателем и приёмником мешает транзистору принимать отраженный свет. А при расстоянии более 10 миллиметров — отраженный свет рассеивается и не доходит до приёмника.
При повороте подстроечного резистора до упора по часовой стрелке, датчик будет воспринимать границу между черной и белой поверхностями как размытую. А при повороте в обратную сторону — граница для датчика станет резче.
Когда датчик находится над светлой поверхностью индикаторный светодиод горит, а над тёмной — не горит.
Светодиод позволяет более точно откалибровать датчик. Оттенок серого, над которым он загорается в зависимости от настройки — cчитайте реперной точкой.