Датчик линии аналого-цифровой позволяет определить цвет поверхности около него. Выходом является простой бинарный цифровой сигнал: логический 0 или логическая 1 в зависимости от цвета, который он видит перед собой. 1 — чёрный или пустота, 0 — не чёрный. Так же есть возможность считывать аналоговое значение датчика.
Основной фотоэлемент работает в инфракрасном спектре. Дополнительно на сенсоре установлен светодиод, который загорается, когда поверхность под датчиком светлая. Это удобно для диагностики и настройки. Переменный резистор, установленный на сенсоре, позволит регулировать чувствительность датчика в широких диапазонах. Это позволяет откалибровать датчик под вашу конструкцию, материал покрытия и различные условия освещения.
Пример
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
const int analogSignal = A0; // подключение аналогового сигнального пина const int digitalSignal = 8; // подключение цифрового сигнального пина boolean isBlack; // переменная для хранения цифрового значения int lvl = 0; // переменная для хранения аналогового значения void setup() { pinMode(digitalSignal, INPUT); // установка режима пина Serial.begin(9600); // инициализация Serial порта } void loop() { isBlack = digitalRead(digitalSignal); // считываем цифровое значение lvl = analogRead(analogSignal); // считываем аналоговое значение // вывод сообщения Serial.print("Черная линия "); if (isBlack) Serial.print("зафиксирована"); else Serial.print("не зафиксирована"); Serial.print(", аналоговое значение: "); Serial.println(lvl); delay(1000); //задержка 1 с } |