const int trigPin = 2;
const int echoPin = 3;
const int ledPins[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
for (int i = 0; i < 8; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
updateLEDBarGraph(distance);
delay(500);
}
void updateLEDBarGraph(int distance) {
int numLEDs = distance / 13;
for (int i = 0; i < 13; i++) {
digitalWrite(ledPins[i], i < numLEDs ? HIGH : LOW);
}
}