Another quick hack. I purchased a voice changer because I was looking for something cheap that could be hacked into an voice input device. Basically I wanted to animate a skull when I spoke. Added bonus, now the skull puppet would also have a scary voice.
I am going to show you how to hack a voice changer to use as a digital input for an Arduino project. I leave the output or reaction up to you.
Step 1: What you’ll need
I am assuming that you have a little bit of electronics and soldering experience. I will also assume that you have some familiarity with Arduino.
You will need
- A voice changer module. (8$ at Wallymart)
- A 741 opamp ic.
- an LED of choice (not necessary, but provides a cute little visual input that things are working, and will provide clues as to how to change the circuit into a LED light organ.)
- a resistor for your led (220 ohms – 1 k will work alright, you only need this if you are using the LED)
- some hookup wire.
- Soldering iron and solder
- wire snips
Step 2: Open ‘er up
First things first, crack the case. Not literally, just figuratively. Open it carefully with a screwdriver, save your screws.
Start by removing the battery cover and batteries as there are two screws hiding under the batteries.
Flip the unit over and remove the other two long screws. You can leave the belt clip intact. The two short screws can be left in even though I didn’t. They hold the switch in position and removing them will only mean that you will need to line it up again later. Learn from my mistakes and leave them in.
There, four screws out (plus one for the battery cover) and you should be able to look inside.
Kind of exciting eh.
Step 3: Poke araound
The first thing you may have noticed about the unit is that it is packing three AA batteries. 4.5 volts, which means it is probably fine at 5 volts, which means there is not much to do in order to interface with an Arduino.
Now by poking around with a multi-meter and talking into the microphone at the same time. I found a few points where the voltage fluctuates, which is great. The fluctuation was tiny however, and I was doubtful that I would be able to get much meaningful from an Analog input pin. I wanted a digital input. Something simple is the voice changer changing a voice? Yes or No?
What I needed was an easy way to spot the drop. Enter 741 op amp. (There was a theme song, but we cut it out…too much gain)
This little wonder (the 741) works great as a comparator, functions at 5 volts, and I had a few on hand to boot. Perfect.
What is a comparator?
A comparator is an analog circuit that monitors two input voltages (in our case the supply voltage and the voltage that drops). One voltage is called the reference (5 volts) and the other is called the input voltage. When the input voltage rises above or drops below the reference voltage, the output of the circuit changes states. Due to the high gain, an op amp with no feedback resistor can function as a comparator.
So we need to find a positive voltage that changes when someone speaks into the microphone. I did the poking for you, and have marked such a point in the photo below.
For more detail: Hack a voice changer to add an Arduino input