Датчик отслеживания линии KY033, содержит инфракрасный излучатель (светодиод) и фототранзистор, который принимает отражённый сигнал от объекта, расположенного на расстоянии от 0.2 до 1.5 мм. Для регулировки дальности срабатывания датчика на нём установлен переменный резистор.

Обычно этот датчик применяют для моделей машин, которые двигаются вдоль толстой чёрной линии проведённой фломастером на белом фоне. В этом уроке продемонстрируем, как работает такой датчик. Соберите следующую схему

Данные о сигнале поступают на выход D6 микроконтроллера NodeMCU. Когда на выходе датчика высокий уровень сигнала, встроенный на плате датчика светодиод не горит. В противном случае, светодиод загорается
Скетч, демонстрирующий работу датчика KY033
//KY-033 датчик отслеживания линию
int Led_PIN = D4; // 13 ;// назначение пина встроенного светодиода
int KY033_PIN = D6; //10; // назначение пина цифрового входа датчика
void setup ()
{
pinMode (Led_PIN, OUTPUT) ;
pinMode (KY033_PIN, INPUT) ;
Serial.begin(9600);
}
void loop ()
{
if (digitalRead (KY033_PIN) == HIGH) //когда на входе высокий уровень (светодиод не горит)
{ digitalWrite (Led_PIN, LOW);
Serial.println("Датчик на линии");
}
else
{ digitalWrite (Led_PIN, HIGH);
Serial.println("Датчик не на линии");
}
delay(3000);
}