Arduino react to rather quiet sounds

Hello guys,

first of all hello, I´m new to this forum :slight_smile: I did already some Arduino Projects and for my latest, I want to trigger a wireless socket by sound (on and off).

I already managed to control the wireless sockets with a transmitter, which are activated if the sound is above a certain level. The sound is measured by this sensor LM939:
http://www.dx.com/p/lm393-sound-detection-sensor-module-black-221267

The Problem is, the sound has to be really high or has to be directly next to the sensor, while I also want to measure sound a bit away from the sensor (but still in the same room) and in the loudness-level of normal "talking voice".

Do you have any ideas for better sensors which recognize "quiet" noises and can be used? I already found a lot of them but they all seem similar to the LM939. For example:
http://www.exp-tech.de/seeed-studio-grove-loudness-sensor
It would be nice if they could be used without soldering.

Thanks a lot in advance!
Chris

I assume you tried adjusting the pot to both extremes? I didn't find any specs...

but they all seem similar to the LM939.

The LM939 is just the comparator chip. The sensitivity will depend on the sensitivity of the microphone and trigger threshold. I don't see any other chips on that particular board, but if there were any additional gain, of course that would make a difference too.

It would be nice if they could be used without soldering.

It's going to be hit-or-miss unless you build something yourself. Anything you build yourself would also require some experimentation, but you could change resistor values, etc.

You can try something like the [u]SparkFun Microphone Board[/u], which has an analog output. That way you can set a threshold in software. I'd guess that you can detect low-level sounds by reading the analog output. But unfortunately, that particular board doesn't have variable gain/sensitivity and it's surface mount so it's difficult to change resistors. However, they do publish the schematic so you can copy the design and use different resistors or a pot for gain adjustment.

The Problem is, the sound has to be really high or has to be directly next to the sensor, while I also want to measure sound a bit away from the sensor (but still in the same room) and in the loudness-level of normal "talking voice".

There are a couple of potential issues with increasing sensitivity... Of course, there is more possibility of false-triggers.

And, the electronics will generate some internal electrical noise. If you boost the gain too much (or increase the sensitivity too much) the internal noise generate false triggers.

Hello,

thanks to your reply!

Yes, i adjusted the pot to both extremes, unfortunately still the sensivity was not good enough.

I think its a nice idea to build something myself but i guess I´m not familiar enough with resistors and so on to build it myself :confused:

To your objection of false triggers, i also think this can be a problem, I will just give it a try to reach a certain gain or sensivity without producing false triggers.

I have found another one, also from SparkFun: SparkFun Sound Detector - SEN-12642 - SparkFun Electronics
What do you think about this one, seems to me a bit better than the ones I found before?

Thanks,
Chris

I have found another one, also from SparkFun: SparkFun Sound Detector - SEN-12642 - SparkFun Electronics
What do you think about this one, seems to me a bit better than the ones I found before?

That's worth a try. Connect the "Envelope" output to an Arduino analog input and [u]read[/u] the signal to see what you get.

If you can see a good-reliable difference in the readings with sound and no-sound, then use an [u]if-statement[/u] to set a threshold. You don't need "big numbers"... For example, if "silence" gives you a reading of 5 (or less) and quite-sound gives you a reading of 10, that's good enough for your software to "make a decision".

If it helps, you can use some [u]smoothing[/u] to filter-out short-duration background noises. (Of course, don't do that if you're trying to pick-up hand-claps or other short-duration sounds.)


If necessary, the SparkFun schematic has instructions for increasing or decreasing the gain/sensitivity (by changing resistors). And/or, you can also look-up how to calculate the gain for an inverting-amplifier made with an op-amp. And, you may need to look-up how to calculate the resistance of two resistors in parallel.

You'd still need to do some experiments because we don't know the SPL level you're trying to pick-up and we don't know the sensitivity of the mic. But if you want twice the signal level, or half the signal level, etc., you can calculate the relative required gain change.

Ok, thanks I ordered it now, will let you know if it worked out.