Electret Microphone and VU Meter

Hi,

I apologize in advance if this question isn't well written - I'm very new to electronics and don't understand a lot of the concepts. I'm working on this project:

I built it fairly easily following the instructions, but I realized I'd rather have the audio input come from a microphone so that I don't need to connect the clock to a set of speakers. I purchased this breakout board from adafruit:

I connected GND to ground, VCC to power, and OUT to 10K resistor to Analog 1. When I connect the clock to power, I get the time displayed accurately, and I'm able to change it with the buttons, so that all works well. Then, when I play a noise near the microphone (I snap my fingers very close to the microphone), the VU meter needles jump to the far right and stay there for several seconds, and then fall back to their time positions. In short, it no longer acts like a VU meter - the needles do not dance up and down with music. Also, it seems to only be able to detect sound very close to the microphone.

Some of my hypotheses (but things I'm not really experienced enough to understand how to change):

  1. The potentiometer needs to be adjusted - there is a trim pot on the bob which I have adjusted. I didn't notice much of a change. Also, there is a potentiometer in the original project which I've kept in, but maybe I should remove? When I adjust that potentiometer, I don't really notice a change in the VU meter sensitivity either.
  2. The OUT is hooked up incorrectly - I arbitrarily chose to hook it up to Analog 1, which is one of the pins the 3.5mm cable was hooked up to. This could definitely be wrong, but then wouldn't there be absolutely no response from the mic?
  3. The code is wrong now - perhaps I can't just switch out one element for another without adjusting the code? The code is not mine and I'm a little perplexed as to what I should change if this is the case. I haven't messed with it at all for fear it would mess up the entire project even more. However (same as point 2), wouldn't the microphone not work at all if the code were incorrect?

Thank you in advance for any help you can provide me. I'm trying to walk myself through it online but I really need someone experienced to tell me what the issue may be so that I can research it more.

I'm not sure what the problem is, but something seems to be wrong...

I don't see a schematic for the microphone board, but normally a pot (volume control) goes to "zero". And snapping your fingers in front of a mic is not like shouting into the mic or setting-up at a rock concert.

I didn't look at the code, but the other pot looks like a reference that's used in the software/sketch.

One thing you can do is "look at" the analog readings using the [u]Analog Read example[/u]. You'll have to change the code to read the 3 analog inputs (one at a time), but you can figure that out.

I believe the microphone board is biased at 2.5V which means the ADC should read (about) 512 with silence. Since audio is AC (it goes positive & negative) when you have sound, the readings should "jump around" to higher and lower levels. If you overload it, you'll get readings of zero and 1023 with lots of readings in-between. So, the way to do a quick analysis is to look at the maximum numbers... Loud sounds should give you bigger numbers (and smaller numbers). If you are hitting 1023 a lot, you are overloading the ADC. (Or you may find that you hit some other limit if the mic board doesn't output all the way to 5V.)

If your ADC readings are good, that would indicate a problem in your sketch.

If the readings are bad (not changing with the pot or volume), you have a problem on the microphone-input side.

Since the clock appears to be working, the hardware on the output-meter side is OK.

NOTE: I posted the is Audio and did not get much response, so I am attempting to reach out here. I could really use the help if anyone has the time!

Hi,

I apologize in advance if this question isn't well written - I'm very new to electronics and don't understand a lot of the concepts. I'm working on this project:

I built it fairly easily following the instructions, but I realized I'd rather have the audio input come from a microphone so that I don't need to connect the clock to a set of speakers. I purchased this breakout board from adafruit:

I connected GND to ground, VCC to power, and OUT to 10K resistor to Analog 1. When I connect the clock to power, I get the time displayed accurately, and I'm able to change it with the buttons, so that all works well. Then, when I play a noise near the microphone (I snap my fingers very close to the microphone), the VU meter needles jump to the far right and stay there for several seconds, and then fall back to their time positions. In short, it no longer acts like a VU meter - the needles do not dance up and down with music. Also, it seems to only be able to detect sound very close to the microphone.

Some of my hypotheses (but things I'm not really experienced enough to understand how to change):

The potentiometer needs to be adjusted - there is a trim pot on the bob which I have adjusted. I didn't notice much of a change. Also, there is a potentiometer in the original project which I've kept in, but maybe I should remove? When I adjust that potentiometer, I don't really notice a change in the VU meter sensitivity either.

The OUT is hooked up incorrectly - I arbitrarily chose to hook it up to Analog 1, which is one of the pins the 3.5mm cable was hooked up to. This could definitely be wrong, but then wouldn't there be absolutely no response from the mic?

The code is wrong now - perhaps I can't just switch out one element for another without adjusting the code? The code is not mine and I'm a little perplexed as to what I should change if this is the case. I haven't messed with it at all for fear it would mess up the entire project even more. However (same as point 2), wouldn't the microphone not work at all if the code were incorrect?

Thank you in advance for any help you can provide me. I'm trying to walk myself through it online but I really need someone experienced to tell me what the issue may be so that I can research it more.

That VU meter system seems to want it's audio with no DC-bias (the 10k resistors
are needed then to protect the Arduino input from the negative voltages by limiting
the protection-diode current flow.

That microphone module outputs its audio with a 2.5V DC bias - its not compatible,
so you'll need to add a blocking capacitor and a resistor to ground on its output.

Say 10uF electrolytic (+ to the microphone output) inline, from its -ve terminal a
1k resistor to ground and the 10k to analog input.

Thank you so much for your reply! I'm about to try this right now. So just to clarify, I need to add:

  1. A 10uF capacitor from output of microphone to a 1k resistor to ground
  2. A 10k resistor from microphone output to analog input

Is this correct?

I did what you mentioned above and fiddled around with it some more and it is now working! Thanks again so much for the help.