Untitled
unknown
plain_text
7 months ago
2.1 kB
5
Indexable
#define trigPin 2
#define echoPin 3
int streetLights[] = {4, 5, 6, 7, 8, 9}; // Shift LEDs to start at pin 4
int numLights = sizeof(streetLights) / sizeof(streetLights[0]);
long duration;
int distance;
int detectionThreshold = 100; // distance in cm to trigger lights
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
for (int i = 0; i < numLights; i++) {
pinMode(streetLights[i], OUTPUT);
digitalWrite(streetLights[i], LOW);
}
Serial.begin(9600);
}
void loop() {
distance = measureDistance();
if (distance > 5 && distance <= detectionThreshold) {
Serial.print("Object detected at ");
Serial.print(distance);
Serial.println(" cm. Activating lights...");
Serial.print("Distance: ");
Serial.println(distance);
for (int i = 0; i < numLights; i++) {
digitalWrite(streetLights[i], HIGH);
delay(500);
}
delay(3000);
for (int i = 0; i < numLights; i++) {
digitalWrite(streetLights[i], LOW);
delay(500);
}
}
delay(200);
}
long measureDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
return duration * 0.034 / 2; // distance in cm
}
}
}
}
}
}
}
}Editor is loading...
Leave a Comment