// Define the LED pins
const int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
const int numLeds = 10;
void setup() {
// Initialize the LED pins as outputs
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
}
// Initialize serial communication
Serial.begin(9600);
}
void loop() {
// Generate a random value to simulate sound sensor input
int soundValue = random(0, 1023);
Serial.println(soundValue);
// Create different patterns based on the random value
if (soundValue < 200) {
// Pattern 1: Turn on LEDs one by one
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
}
} else if (soundValue < 400) {
// Pattern 2: Alternate LEDs
for (int i = 0; i < numLeds; i += 2) {
digitalWrite(ledPins[i], HIGH);
if (i + 1 < numLeds) digitalWrite(ledPins[i + 1], LOW);
}
delay(500);
for (int i = 0; i < numLeds; i += 2) {
digitalWrite(ledPins[i], LOW);
if (i + 1 < numLeds) digitalWrite(ledPins[i + 1], HIGH);
}
delay(500);
} else if (soundValue < 600) {
// Pattern 3: All LEDs blink together
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], HIGH);
}
delay(500);
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], LOW);
}
delay(500);
} else if (soundValue < 800) {
// Pattern 4: Running lights
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], HIGH);
delay(100);
digitalWrite(ledPins[i], LOW);
}
} else {
// Pattern 5: Sound level based brightness
int brightness = map(soundValue, 800, 1023, 0, 255);
for (int i = 0; i < numLeds; i++) {
analogWrite(ledPins[i], brightness);
}
delay(500);
}
// Small delay to avoid overwhelming the loop
delay(50);
}