Tone() and DAC
Topic: Tone() and DAC
(Read 982 times)
Tone() and DAC
Nov 24, 2012, 04:25 pm
Hi, I haven't got my Due yet, but I saw that the DAC pins allowed to make any kind of sound signal, so I wondered if this worked:
And if yes, would it make a square wave or a sine one?
And if no how can i get a sine wave from it?
RC Car Meets Arduino
Re: Tone() and DAC
Nov 24, 2012, 04:48 pm
I also do not have a Due yet, but when I do I will be converting some of my synthesizer projects to run on it.
The Due will generate a square wave, you have to write code to generate a sinewave, the most common technique is known as direct digital synthesis. This approach uses a table of values to generate the output waveform, once you have a basic framework up and running you can generate any waveform you want including some very out there waveforms.
I have a four oscillator wavetable library up and running on my UNO which I will convert to Due once I get one.
Here is a good intro to direct digital synthesis technique -
Its worth mentioning that sinewaves are not very interesting, they are very plain sounding, squarewaves, rampwaves and all kinds of broken up waveforms are more interesting.
I recently found an online resource where a guy had collect 100's of waveforms and made them available for download, one of my first due projects will be to put these onto and SD card and build a quick synth engine to play around with them.
Here is a quick UNO Based project that shows off some DDS with a bit more background -
And here is my current DDS Synth engine in action -
And finally this hypnotic little video of someone messing around with a synth engine and an oscilliscope - not a sinewave in sight but lots of wavetables and wavetable mixing -
then watch this