// ------------------- Пины датчиков ------------------- const int trig1 = 4; const int echo1 = 3; const int trig2 = 5; const int echo2 = 6; // ------------------- Пин MOSFET ------------------- const int ledPin = 2; // твоя лента сидит на D2 // ------------------- Настройки ------------------- const int thresholdDistance = 40; // см: меньше = объект рядом const unsigned long lightTime = 1000; // мс: сколько светить после срабатывания bool triggered = false; unsigned long triggerTime = 0; // ------------------------------------------------- long readDistance(int trigPin, int echoPin) { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); long duration = pulseIn(echoPin, HIGH, 30000); if (duration == 0) return 999; // нет эха -> далеко long distance = duration * 0.034 / 2; return distance; } // ------------------------------------------------- void setup() { pinMode(trig1, OUTPUT); pinMode(echo1, INPUT); pinMode(trig2, OUTPUT); pinMode(echo2, INPUT); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); Serial.begin(9600); } // ------------------------------------------------- void loop() { long d1 = readDistance(trig1, echo1); long d2 = readDistance(trig2, echo2); bool eventNow = (d1 < thresholdDistance) || (d2 < thresholdDistance); if (eventNow && !triggered) { triggered = true; triggerTime = millis(); digitalWrite(ledPin, HIGH); // включить ленту } if (triggered && millis() - triggerTime >= lightTime) { triggered = false; digitalWrite(ledPin, LOW); // выключить ленту } delay(20); // ультразвук иначе не успеет }