// Declaración de constantes
#define SOUND_PIN_DIGITAL 2 // Pin al que esta conectado al sensor de sonido
#define SOUND_PIN_ANALOG A5 // Pin al que esta conectado al sensor de sonido
#define LED 13 // Pin conectado al LED Rojo
#define MIN_SOUND 40 // Umbral de sonido para excluir sonido del entorno
#define SERIALSPEED 9600 //Velocidad de transmision del monitor serie
#define DELAYTIME 1000 //Milisegundos de para para la funcion delay
//Declaracion de variables
int volumen;
// Configuración de pines y del monitor Serie
void setup (){
pinMode(SOUND_PIN_DIGITAL, INPUT);
pinMode(SOUND_PIN_ANALOG, INPUT);
pinMode(LED, OUTPUT);
digitalWrite(LED,LOW);
Serial.begin(SERIALSPEED);
}
void loop(){
// Comprobación si se recibe sonido o no
if(digitalRead(SOUND_PIN_DIGITAL) == HIGH){
//Obitene la cantidad de sonido que se esta recibiendo
volumen = analogRead(SOUND_PIN_ANALOG);
//Comprueba si el sonido recibido es superior umral establecido
if(volumen>=MIN_SOUND){
//Eciende el LED rojo del Proyecto y muestra la cantidad de sonido en el moitor serie
digitalWrite(LED, HIGH);
Serial.print("Volumen: ");
Serial.print(volumen);
delay(DELAYTIME);
}
else
//Apaga el LED ROJO del proyecto
digitalWrite(LED, LOW);
}
else
// Apaga el LED Rojo del Proyecto
digitalWrite(LED, LOW);
}