loud sound detector

Dear all, im using this schematic to detect loud sounds "above 140db" . attached to arduino as a trigger if loud sound detected .

the thins is, am i using the correct method? and how to select the correct resistor and capacitor for this system ? knowing that im using 5v output from arduino vcc

If you don’t have specs for the microphone element, choose a value that gives you abut half the supply voltage (the voltage divided equally across the mic & resistor) or choose a value that gives you 2.5V across the mic.

If you’re using a 5V power supply and you can get 2.5VDC out that’s perfect and you don’t need the capacitor!

The Arduino can’t read negative voltages so the input should be biased at about 2.5V which will read about 512 on the 10-bit ADC. You can subtract that out in software.

“Normally” with audio, you use a bias circuit (2 equal value resistors) with a capacitor to “isolate” the bias from your audio circuit. The capacitor along with the resistors makes a [u]high pass filter[/u] so you choose capacitor and resistor values to pass the lowest required frequency. (The capacitor “sees” the resistors in parallel so the effective resistance is half of one resistor.)

im using this schematic to detect loud sounds “above 140db” .

Do you have a way of calibrating this thing? Is the microphone rated for 140dB?

The microphone may not respond linearly at very high sound pressure levels, so it may not even be possible to measure at around 140 dB. Check the microphone specifications.

Im using this Electret Mic:

https://datasheet.lcsc.com/szlcsc/1810191428_INGHAi-GMI6050P-60db_C233951.pdf

....

the project im making is shot timer .. https://www.youtube.com/watch?v=WE1Z8LyL9qc&t=231s

Did you LOOK at the data sheet? Your question is answered there.

jremington: Did you LOOK at the data sheet? Your question is answered there.

Yes- I did, the thing is , the circuit senses a loud sound at the same level as hand clap !

That is explained by the "maximum sound pressure level" in the data sheet. All sound levels above 110 dB SPL are the same, according to the microphone. It is designed to measure human speech levels of sound.

You will need a different type of microphone or a different technique to detect the sound of interest. A piezo disk might work.

the thing is , the circuit senses a loud sound at the same level as hand clap !

That's surprising. A hand-clap isn't 110dB so it shouldn't be maxed-out.

But FYI, a hand-clap (or gunshot) needs a fast sample rate or you may not read the peak (so you may not get consistent/reliable readings even if the hand-clap is consistent).

If you need to read short-duration sounds a [u]peak detector[/u] help.

The [u]SM57/58[/u] (the most popular stage microphone of all time) can go over 140dB and it doesn't need power. You still need bias, but at 140dB you shouldn't need a preamp. If you use a peak detector the negative half of the waveform is ignored so you don't need bias.

A hand-clap isn't 110dB so it shouldn't be maxed-out.

You would be surprised. Hand claps have been reported at >130 dB for 1 meter distance, however SPL depends on the distance to the microphone, which the OP did not state.

If it's too loud, you could muffle the microphone. What worries me more, is that your circuit is AC coupled. What does your Arduino input circuit look like?

aarg: If it's too loud, you could muffle the microphone.

Simple! I feel dumb for not thinking of that! :D

But... Once we it's back in the "normal microphone" voltage range it's going to need a preamp.