I am a new user to the Arduino and I am attempting to connect a simple speaker with speaker wire to the arduino.
As of now, I am not using the speaker to project sound, instead, I built a stomp box and am using the speaker to pick up the vibrations. I am hoping these vibrations could be read by the arduino as input which I will later translate into a servo motor for the output.
I am ultra new to this interface and I'm hoping this is a plausible idea and that you guys could lend a helping hand.
Using a speaker as a microphone can be done but the results are not very good. The frequency flatness is poor and the output is very low.
You will need to use operational amplifiers to boost the signal to the 5V peak signal you need on an arduino.
Do you want to measure the loudness of the signal, in which case you need an envelope follower or do you want the actual waveform in which case you don't.
I'm not sure the difference between the "loudness" or the "waveform" but essentially I want to measure a variable signal, which sounds like loudness. (soft taps and heavy taps will register differently).
I found a circuit to amplify my signal which is this.
I'm not sure the difference between the "loudness" or the "waveform"
loudness is the overall peak to peak envelope of the sound.
Waveform is the shape of the sound wave. If you take the highest peak of each cycle of the waveform you get the envelope. Sounds like you need the envelope.
That circuit is no good for you for two reasons.
There is not enough gain for what you want.
Where as a piezo has a very high impedance a speaker has a very low impedance. This means that if you replace that with a speaker you will short out the bias given by the pot and you will get nothing out.