// Пины подключения
const int trigPin = 9; // Пин для Trig
const int echoPin = 10; // Пин для Echo
const int greenLED = 3; // Пин зеленого светодиода
const int redLED = 4; // Пин красного светодиода
// Пороговое расстояние в сантиметрах
const int thresholdDistance = 20;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(greenLED, OUTPUT);
pinMode(redLED, OUTPUT);
// Инициализация последовательного порта для отладки
Serial.begin(9600);
}
void loop() {
// Отправляем ультразвуковой импульс
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Считываем длительность отраженного импульса
long duration = pulseIn(echoPin, HIGH);
// Рассчитываем расстояние (в см)
int distance = duration * 0.034 / 2;
// Выводим расстояние в последовательный монитор
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// Управление светодиодами
if (distance > thresholdDistance) {
digitalWrite(greenLED, HIGH);
digitalWrite(redLED, LOW);
} else {
digitalWrite(greenLED, LOW);
digitalWrite(redLED, HIGH);
}
delay(100); // Задержка для стабильности
}