const int trigPin = 9;
const int echoPin = 10;
const int buzzerPin = 8;
const int ledPairs[4][2] = {
{2, 6},
{3, 7},
{4, 11},
{5, 12}
};
long duration;
int distance;
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
for (int i = 0; i < 4; i++){
pinMode(ledPairs[i][0], OUTPUT);
pinMode(ledPairs[i][1], OUTPUT);
}
Serial.begin(9600);
}
void loop()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
if (distance < 1) distance = 1;
int pairsToLight = 0;
if (distance <= 37){
pairsToLight = 4;
}else if (distance <= 75){
pairsToLight = 3;
}else if (distance <= 112){
pairsToLight = 2;
}else if (distance <= 150){
pairsToLight = 1;
}else{
pairsToLight = 0;
}
for (int i = 0; i < 4; i++){
if (i < pairsToLight){
digitalWrite(ledPairs[i][0], HIGH);
digitalWrite(ledPairs[i][1], HIGH);
}else{
digitalWrite(ledPairs[i][0], LOW);
digitalWrite(ledPairs[i][1], LOW);
}
}
}