DIY Directional Speaker/Audio Laser
by NicholasPan in Circuits > Audio
108 Views, 2 Favorites, 0 Comments
DIY Directional Speaker/Audio Laser
Here is how I built a directional speaker. A directional speaker is a special speaker that makes sound appear to travel in a laser beam. If we stand directly within the beam, we can hear the sound clearly. If we step to the side, it is not audible.
What's coming out of the transducer is indeed a 40kHz square wave, which is not audible. The square wave's duty cycle oscillates according to the music's highs and lows. As it travels to our ears, it is a high-pressure beam due to the short wavelength of ultrasound. The air molecules demodulate it and reconstruct the music.
I've divided the project into 3 steps:
- We will amplify and offset the audio source using the MCP602 OP-AMP.
- We will use an LM393 comparator as well as an Arduino to generate a PWM in which the duty cycle changes according to the music
- We will amplify the current carrying the PWM using a high slew rate MOSFET driver into our transducers.
Supplies
Electronics Kit (Breadboard, wires, resistors)
100k potentiometer recommended (I used 50k potentiometer)
Amplifying and Offsetting the Audio Signal
By offset, I mean the original sound wave oscillates between -V and +V. We want to bump everything up to 0 to +V, so the chip can read it. We also want to amplify that signal so that the comparator in the next step can read it.
POT1 is for offset, while POT2 is for amplification.
Adjust POT1 until you hear music from the transducers once you complete the entire circuit.
Adjust POT2 for volume control
Generating 40kHz Square Wave and Modulating It With Music
Arduino
Arduino generates a 40kHz square wave. The comparator compares the audio voltage and the Arduino voltage.
When the audio voltage is high, the duty cycle is shorter
When the audio voltage is low, the duty cycle is longer
The duty cycle oscillates with the music while everything is still in 40kHz.
Disclaimer: The analogWrite() Arduino function doesn't produce a sharp 40kHz signal; this code uses Arduino's hardware timers and was generated by Google Gemini
Comparator
When we wire the LM393, a pull-up resistor is necessary on pin 1 because, on its own, it can't supply any voltage. To transmit the signal to TC4420(Step 3), we need a voltage, which is why there is a resistor there.
Amplifying the 40kHz PWM Signal
The TC4420 is capable of pushing large amounts of current, which is necessary to drive a transducer. It also has a high slew rate, which means it turns ON and OFF rapidly around 25 nanoseconds. This is perfect for PWM amplification to make the squares as sharp as possible. It is also why it works better than an OP-AMP to drive a transducer.
Thanks for following along, and I hope my instructions were clear so that you were successful in building it!
It is a very unique sensation when the sound hits you. Try bouncing it off objects; it will seem like the object itself is radiating the sound.