// LED pins according to your diagram - NOW ALL CONNECTED
const int ledPins[] = {27, 2, 4, 16, 17};
const int numLeds = 5;
// Potentiometer on GPIO33
const int potPin = 33;
void setup() {
Serial.begin(9600);
Serial.println("VU Meter Started - All 5 LEDs Connected!");
// Initialize all LED pins
for(int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW);
}
}
void loop() {
// Read potentiometer
int val = analogRead(potPin);
// Convert to percentage
int percentage = map(val, 0, 4095, 0, 100);
// Print for debugging
Serial.print("ADC: ");
Serial.print(val);
Serial.print(" | %: ");
Serial.println(percentage);
// Control ALL 5 LEDs based on percentage
// LED 1 (GPIO27): 0-20%
digitalWrite(27, (percentage >= 0) ? HIGH : LOW);
// LED 2 (GPIO2): 21-40%
digitalWrite(2, (percentage >= 21) ? HIGH : LOW);
// LED 3 (GPIO4): 41-60%
digitalWrite(4, (percentage >= 41) ? HIGH : LOW);
// LED 4 (GPIO16): 61-80%
digitalWrite(16, (percentage >= 61) ? HIGH : LOW);
// LED 5 (GPIO17): 81-100%
digitalWrite(17, (percentage >= 81) ? HIGH : LOW);
delay(100);
}