Page 2

#define TRIG_PIN A1
#define ECHO_PIN A0
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10};
int numLeds = 9;
void setup() {
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
long duration, distance;
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = (duration / 2) / 29.1;
float distanceInInches = distance / 2.54;
Serial.print("Distance: ");
Serial.print(distanceInInches);
Serial.println(" inches");
int ledsToLight = (int)distanceInInches;
ledsToLight = constrain(ledsToLight, 0, numLeds);
for (int i = 0; i < numLeds; i++) {
if (i < ledsToLight) {
digitalWrite(ledPins[i], HIGH);
} else {
digitalWrite(ledPins[i], LOW);
}
}
delay(100);
}Last updated