Success with haptics using cheap ultrasonic transmitters?

Inspired by this paper which I originally saw linked on the Arduino blog:

UltraBoard: Always-available Wearable Ultrasonic Mid-air Haptic Interface for Responsive and Robust VR Inputs

It looks like that device uses an expensive commercial ultrasonic transducer array. I'm wondering if one could build a very simple demonstration of ultrasonic haptics using cheap ultrasonic transducers (the kind that come in bags of a dozen on Amazon and work out to around $1 each) - these are NOT the complete ultrasonic sensors (e.g. PING or HC-SR04) that also have built in receivers, just the little two-pin cans.

I've tried setting up an array of four such transducers, driven with a 40kHz square wave generated by an Uno, through a MOSFET such that the transducers are powered by a separate 12V supply. I hooked an ultrasonic receiver up to an oscilloscope and verified that I'm getting a 40kHz signal on the receiver, and can see the amplitude of the signal on the receiver change as I move it around in 3D space above/around the transmitters (getting higher when it's directly over them/closer, as expected), so I know the transmitters are working. However, when I move my hand around over the transmitters, I feel absolutely nothing on my skin. I also tried turning the 40kHz signal on and off with 100ms delays because I read that a pulsing signal was easier to feel than a continuous one, but still nothing.

So, I'm wondering if anyone has successfully done this, and if so if you have any tips. The paper linked above does note "For the transducer array, the subsequent perception study indicated that a minimum driving voltage of 16V is required to generate perceptible feedback," so maybe I just need a bigger power supply, but maybe the pulsing/timing of the signal is important, maybe the super cheap transmitters from Amazon aren't going to do it, etc.

Again, I'm not trying to get good spatial resolution or make a VR keyboard - ideally just a demo where you can feel something when you move your hand over the transmitters, and maybe play with a phase offset between the transmitters to move the focus point around in space a bit.

Please try this link: How to get the best out of this forum.._gaODExNzEzODMxLjE3NDgzODE1MzM._ga_NEXN8H46L5czE3NDgzODE1MzIkbzEkZzAkdDE3NDgzODE1

Thanks - I'm not new to the forums. I teach Arduino classes both online and in person and I'm very familiar with how infuriating it is when someone says "it's not working" as if you can magically fix their problem without seeing either their circuit or their code.

In this case, I'm not looking for someone to help debug my hardware/code, which I've verified is working as I mentioned with the oscilloscope output. I'm just looking for any broad/general pointers as to whether anyone has gotten this type/class of project to work (basic haptic feedback demo with cheap ultrasonic transducers).

12V isn't much drive for the transducers, and the circuit you forgot to post might not be coupling it efficiently to the transducers.

The paper you linked mentions a 35V power source for the transducer driver, which if efficiently coupled, is in theory about 9 times the energy of a 12V source. Furthermore, their phased array focused the energy at a point.

I'm not surprised you didn't feel anything, so consider reproducing the work in the paper you linked.

Good but there are "forums" and there's Arduino forum. The experience and knowledge existing here is surely not found in that many forums. Therefore the "demands" are set a bit higher. Using lots of words is not the way to get fast and correct help here.
To get the basic of the project clear words like "checked", "working" are not motivating helpers. We need to build up our knowing of Your setup.

I don't think you would feel air pulses that are 40,000 pulses per second.
Even pulsing the 40kHz train would not make any difference.

Tom.... :smiley: :+1: :coffee: :australia: