Untitled

 avatar
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