На этом уроке мы ознакомимся с датчиком линии аналоговым и рассмотрим программный код.
Часто в проектах по ардуино приходится отличать чёрную поверхность от белой. Для этого обычно пользуются аналоговым датчиком линии.
Датчик линии идеально подходит для установки в основании платформы робота, чтобы заставить его не выезжать за пределы территории обозначенной контуром, или — чтобы он следовал за нарисованной линией.
Следует отметить, что сенсор способен не только отличать чёрную поверхность от белой. В отличии от цифрового датчика линии, он способен отличить также и оттенки серого. Это даёт возможность точно контролировать процесс перехода границы от чёрного к белому и наоборот, ведь результатом является усреднённое значение небольшого пятна под фотоэлементом.
Основной фотоэлемент работает в инфракрасном спектре. Дополнительно на сенсоре установлен светодиод, который загорается когда поверхность под датчиком светлая. Это удобно для диагностики и настройки.
Переменный резистор, установленный на сенсоре, позволит регулировать чувствительность сенсора в широких пределах. Это позволяет откалибровать датчик под вашу конструкцию, материал покрытия и различные условия внешнего освещения.
Подключение
Выходным результатом работы сенсора является аналоговый сигнал. Чем светлее поверхность под сенсором — тем меньше его выходное напряжение.
Датчик подключается к управляющей электронике через 3 провода.
Характеристики
- Напряжение питания: 3–5 В
- Потребляемый ток: менее 10 мА
Пример программного кода
//если датчик показывает значение меньше 689, то выводим на экран "Белый", иначе выводим "Черный"
const int analogPin1 = 1; // Подсоедниняем правый датчик к A1
void setup() {
Serial.begin(9600);
}
void loop() {
int analogValue1 = analogRead(analogPin1);
if (analogValue1 < 689) { Serial.println("white"); }
else { Serial.println("black"); }
}