const int greenLedPin = 2;
const int redLedPin = 3;
const int ldrPin = A0;
const int trigPin = 7;
const int echoPin = 6;
void setup() {
pinMode(greenLedPin, OUTPUT);
pinMode(redLedPin, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
int dataArray[3] = {1, 2, 3};
for (int i = 0; i < 3; i++) {
Serial.print("Processing array element: ");
Serial.println(dataArray[i]);
switch (dataArray[i]) {
case 1:
readLDR();
break;
case 2:
readUltrasonicSensor();
break;
case 3:
turnOnBothLEDs();
break;
default:
// Invalid array element
break;
}
delay(1000); // adjust delay as needed
}
}
void readLDR() {
int ldrValue = analogRead(ldrPin);
Serial.print("LDR Value: ");
Serial.println(ldrValue);
if (ldrValue < 500) { // If LDR detects low intensity
digitalWrite(greenLedPin, HIGH); // Turn on green LED
} else {
digitalWrite(greenLedPin, LOW); // Turn off green LED
}
}
void readUltrasonicSensor() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1;
if (distance < 20) { // If distance is less than 20 cm
digitalWrite(redLedPin, HIGH); // Turn on red LED
} else {
digitalWrite(redLedPin, LOW); // Turn off red LED
}
}
void turnOnBothLEDs() {
digitalWrite(greenLedPin, HIGH);
digitalWrite(redLedPin, HIGH);
}