luces ritmicas con leds y arduino uno sensor de sonido
Codigo:
const int soundPin = A0; // Definición del pin analógico al que está conectado el sensor de sonido
const int numLEDs = 11; // Número de LEDs
int LED_pins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; // Array de pines a los que están conectados los LEDs
int thresholds[] = {100, 200, 300, 350, 400, 450, 500, 550, 450, 500, 550}; // Array de umbrales para encender los LEDs
void setup()
{
Serial.begin(9600); // Inicialización de la comunicación serial a 9600 baudios
for (int i = 0; i < numLEDs; i++) {
pinMode(LED_pins[i], OUTPUT); // Configuración de los pines de los LEDs como salidas
}
}
void loop()
{
long suma = 0; // Variable para almacenar la suma de lecturas analógicas
// Realiza 100 lecturas analógicas y las suma
for (int i = 0; i < 100; i++)
{
suma += analogRead(soundPin); // Lee el valor analógico del sensor de sonido y lo suma
}
suma = suma / 100; // Calcula el promedio de las lecturas
// Compara el promedio con los umbrales y enciende o apaga los LEDs en consecuencia
for (int i = 0; i < numLEDs; i++)
{
if (suma > thresholds[i])
digitalWrite(LED_pins[i], HIGH); // Enciende el LED si el promedio supera el umbral
else
digitalWrite(LED_pins[i], LOW); // Apaga el LED si el promedio no alcanza el umbral
}
delay(10); // Pequeña pausa de 10 milisegundos
Serial.println(suma); // Imprime el valor promedio en el puerto serie
}