/*
* Simple Wokwi Microphone Demo con efecto de barra de LEDs
*/
int LED1 = 8;
int LED2 = 9;
int LED3 = 10;
int LED4 = 11;
int LED5 = 12;
int LED6 = 13;
void setup() {
Serial.begin(115200);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
}
void loop() {
int sample = analogRead(A0); // Leer el valor del micrófono
Serial.println(sample);
int intensity = abs(sample - 512);
if (intensity < 1) intensity = 0; // Ignorar ruidos menores a 1
// Mapear la intensidad a 0-6 para 6 LEDs
int level = map(intensity, 1, 512, 0, 6);
digitalWrite(LED1, level >= 1 ? HIGH : LOW);
digitalWrite(LED2, level >= 2 ? HIGH : LOW);
digitalWrite(LED3, level >= 3 ? HIGH : LOW);
digitalWrite(LED4, level >= 4 ? HIGH : LOW);
digitalWrite(LED5, level >= 5 ? HIGH : LOW);
digitalWrite(LED6, level >= 6 ? HIGH : LOW);
}