Tactile feedback using transducers

Hi all

I have recently used a program called SimShaker for Aviators to provide tactile feedback for my flight sim rig. I used Nobsound USB amplifiers coupled with Dayton Audio TT25 transducers, and then the software will recognise each USB amp as a 2 channel output and you can assign sounds or feedback effects to the individual channels. It's a mainly amateur program, and it does a really good job for a lot of the effects.

However there are a couple of issues, notably the hard coded way it handles some of the effects, for example engine RPM. It uses three .wav files to replicate the engine range, with no adjustment other than volume possible. That's fine for most effects, but I want to see if I can improve on that for my specific purposes.

The flight sim has the ability to output the engine RPM data to an Arduino as a number, with a direct function of 0% rpm being represented by an output value of 0, and 100% by I think it was 63,556. So, by my logic, you should be able to output a sinusoidal wave of between 0hz and say 5000hz to correspond to the mapped value. Additionally, you should be able to map the amplitude of that output vary according to the numerical output, so that it rises in a linear fashion between 0 and 50% of the output value, then constant thereafter, or maybe increasing proportionately but at a lower rate.

So is there is a way to output from an arduino in this way to one of the channels of those little USB amps and so onto a transducer? The amp has a separate input via a 3.5mm jack, so does not have to be connected to the PC, just supplied with power like a traditional amp. Would I need some kind of DAC between the arduino and amp?

Les

Show this.

Show these.

If you would, hand-draw a flow diagram. Indicate your devices. Show data I/O where it is present. Show voltage levels where present. Show where data gets changed to voltage levels (for motor drivers to shake things, for example). The blanks will get filled in eventually, as ideas form.