So what I’ve been trying to do is reading audio input from an electret mic, and I’ve cooked up the circuit below. The code is just reading voltage from A0 and send it back to my computer. Omitted from the circuit are 2 100nF “decoupling capacitor” bridging 5+ → GND and +Vcc → -Vcc which I don’t know whether crucial or not (doesn’t seem to affect the results).
The problem is, without any sound and minimal gain with R3 at 10k Ohms, analogRead returns values ranging very quickly (only seems to be limited by the baud rate) between ±15 units around 511. For some reasons, with loud sounds the input still only varies just a bit more (mic input seems to be around 5-6 times the noise value). And pulling out C1 (grounding IN+ I think) doesn’t affect the noise at all (still varies between 500 & 530 very quickly). Because of this changing R3 doesn’t get rid of the noise.
Is it because my circuit is crap and I’ll have to scrap the entire thing? If not, are there any replacements/improvements I can add to my circuit? I’d also guess it might be from my opamp orientation (non-inverting) making oscillations from the feedback, but is there any workaround? Because I have no idea how the inverting type works. I’ve come across this
is it a good circuit and I should follow it? I’d prefer what I can understand though.
I pulled half my circuit from http://www.instructables.com/id/Arduino-Audio-Input/ and I’ve seen mixed feelings about it.