Untitled
unknown
plain_text
a month ago
2.1 kB
3
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