If you like this instructable, please vote in Hack it contest and DIY audio contest.
The block diagram is shown below (block diagram). The motor is rotating in constant speed. There are dark (non transparent) and transparent portions on the CD. When the dark portion of the CD is between the IR emitter/detector, the resistance of the detector will be high, and the voltage across the speaker will be low. When the transparent portion of the CD is between the IR emitter/detector, the detector receives the signal from emitter, and its resistance will be low, so the voltage across the speaker will be high. The voltage signal across the speaker is a square wave. By varying the speed of the motor and dark/transparent portions on CD, the frequency of square waves signal changes. You can hear the changes from the speaker.
Step 1: BOM
Two 1.5V AA battery and battery holder (Radioshack Model: 270-398)
One 3V DC motor and CD holder (Search “Spindle Motor for DVD CD Player” in Amazon)
A pair of Infrared LED Emitter and Detector (Radioshack Model: 276-142)
Two 1N4001 diodes (Radioshack Model: 1N4001) (optional)
One 22ohm and one 68ohm resistor (Radioshack Model: 271-312)
One 12-Position European-Style Mini Terminal Strip (Radioshack Model: 274-680)
Hookup wires (Radioshack)
Small speaker (Radioshack)
M3 screws, M3 nuts, ¾ inch thick plastic block, 1/16 inch thick X ¾ inch aluminum angle, ½ inch X ½ inch square plastic block, three 8mm M3 screw spacer, double-sided tapes (McMaster)
Step 2: Procedure:
Cut two pieces of 1” long, ¾”X ¾” X 1/16” aluminum angle. You can purchase this angle from hardware store. (Picture 1)
Drill holes on one of the angle to mount the motor. (Picture 2)
Make a Z shape using these two angles. Add double-sided tape between them, and then use screw to fix the position. Mount the Z shape block on a piece of plastic block. (Picture 3)
Mount the motor on the Z shape angle and add the CD holder. (picture 4&5)
2. Make the IR emitter/Detector mounting block:
Cut one piece of 4”X1/2”X1/2” and one piece of 3”X1/2”x1/2” plastic block. I purchased the block from Mcmaster (8732K15). (Picture 6)
Stack two blocks together and add doubled-sided tape between them to fix the position temporary. Drill holes on the blocks. (picture 7&8)
Put a blank CD on motor. (You can get clear blanks when you buy spindle packs of CD's/DVD's. If you don’t have it, I will show you an easy way to make one from the junk CD.) Put the 4” block under the CD. Adjust the position of the block. The 5mm DIA hole edge should be under the inner ring of the CD. Mark down the position of screw on the base board and make a M3 thread screw hole (picture 9).
Put the blocks together using 3 M3X28mm screws and three 8mm spacers as in picture 10.
Use a pair of Radioshack IR emitter/detector diode. Twist the pins with hookup wires and use shrink tube to fix the position. Pay attention to the pins of the emitter/detector since they are polarized. Read the emitter/detector package bag for more information. (picture 11)
Put the detector into the 5mm DIA hole on the short bar and put the emitter on the 5mm DIA hole on the long bar. Use tape to fix their position. Mount the block on base board. The emitter and detector should be facing each other. (picture 12&13)
Mount a 12-Position European-Style Mini Terminal Strip on base board near motor. (picture 14)
Connect the component and wires as shown in the diagram. (picture 15)
Now you have finished the system.
Step 3: 3. Encoder CD:
Make a small scratch the surface of the CD near edge, then put a piece of tape on the CD. Use your finger smooth the tape over the label side of the CD and then pull. The CD label should be easily removed. (picture 17 &18)
After removing the entire label coating from the CD, put some Meguiar's Scratch X 2.0 on CD and use clothes to polish the aluminum coating on CD. You will get a nice blank CD in minutes. (picture 19 &20)
Step 4: 4. Encoder Film:
Use a knife to cut the inner ring out. Tape the transparency on the blank CD. (picture 22) I am going to use this pattern to find out the motor speed.
Put the CD on the motor (picture 23). The CD is between IR emitter/detector.
Now you can connect the battery, connect the motor positive pin to +3V terminal. The IR detector is on/off depending on which portion of the CD is under it. You can hear the sound from the speaker as well. If you have an oscilloscope, you can connect it to the speaker to check the waveform and calculate the frequency. If you do not have an oscilloscope, connect a 1/8” stereo jack parallel to the speaker. Connect the ground wire to the negative terminal, twist the L/R channel wire together and connect it between the 68ohm resistor and speaker. (picture 24)
Go to http://www.zeitnitz.de/Christian/scope Download and install Soundcard Oscilloscope. Connect the 1/8” plug to your computer sound card input and open the Scope.exe. You should get the speaker waveform using this software. For example, the waveform that generated by the motor I am using with this setting is a 42.175HZ square wave with 50% duty cycle. (picture 25)
When the black portion of the CD is under the IR detector, the signal on speaker is low. When the clear portion of the CD is under the IR detector, the speaker signal is high. 42.175 HZ means every second the black and clear portion rotates between the IR emitter/detector 42.175 times. The rotation speed of the motor is 42.175X60=2530.5 RPM. The rotation speed is pretty consistent. You can connect the motor positive pin to 2.7V terminal and 1.6V terminal. You can see that when the voltage is lower, the motor rotates slower, and the frequency decreases as well. When you change the motor speed, you can hear the change of the sound pitch from the speaker. When the speed is higher, the pitch is also higher.
We can get more funny sounds from the speaker. The diameter of the CD is 120mm. I divide the CD into 8 sections from edge to center, 5mm for each section. I divide the most outer section into 31 pairs (62 blocks) of black/transparent blocks. Each block is about 5mm in width. So from the outer section I should get 42.175X31=1307.425HZ basing on the RPM I just get from the previous step. In music instrument equal temperament turning, the frequency ratio between half steps equals to 1.059. I divide the rest of the 7 sections into 58 blocks, 55 blocks, 52 blocks, 49 blocks, 46 blocks, 44 blocks, and 42 blocks. (picture 26) From the scope, the frequency from the most outer ring is 1.2852Khz (picture 27), and the frequency from the most inner ring is 869.47 Hz (picture 28). They are almost the same as the calculated value (<2% error). If you rotate the IR emitter/detector holding block across these sections when the motor is rotating, you can hear different music tones. If you want to get higher frequency, you can increase the motor speed or increase the number of black/transparent blocks. However, since the IR emitter/detector hole is 5mm DIA, the blocks should be at lease 5mmX5mm big in order to cover the emitter. You can play around with the ring design and get some funny sound effects. If you place 7 pairs of IR emitter/detector above and under the CD instead of just one pairs, it will become a 7-tone music box. Have fun.