I found a small microphone unused in some old box.
I decided I could play with it by plugging it to my arduino.
Was rather easy using the analogread function but it was lacking sensitivity.
Googling around it appeared I needed an op-amp. For less than 2 euros, I could get a 10 pieces batch on ebay.
See below the schematic.
Notice the voltage divider (r3 to 5v, r2 to gnd) to get a 2.5v voltage (5v / 2) : this way, you should read about 512 (1024 / 2) on the analog port when the microphone is off.
Notice the gain as well (r5/r4) which should give me about x75 gain (r5/r4*vin).
The Arduino sketch is rather simple : it will trigger a led when the reading goes about a certain value (that will depend on your mic and r0).
const int analogInPin = A0;
const int ledPin=13;
int sensorValue = 0;
void setup() {
Serial.begin(38400);
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, LOW);
sensorValue = analogRead(analogInPin);
if (sensorValue>640 || sensorValue<580) {
Serial.print("sensor = " );
Serial.println(sensorValue);
digitalWrite(ledPin, HIGH);
delay(50);
}
delay(50);
}
