Buzzer for different sirens with Arduino Due

Hi!

I want to use this buzzer here (http://www.farnell.com/datasheets/1662050.pdf) with an Arduino Due to generate different kinds of sounds. Most of the sounds are simple sirens with different tones and maybe basic speech
(I know, this will not sound good).

How will I do this best? I cant use any delay functions since Im doing some time critical stuff. What the best way to get this thing to work? Can I use the DAC Output for this?

The Buzzer is running at 5V with a transistor to GND, so there should be no problem with to much current on the pin.

Thanks!

...to generate different kinds of sounds.

There two kinds of devices. I believe that's a "buzzer" with it's own built-in sound generator. You apply simply a DC voltage and it makes sound. You can control the loudness, but the not the pitch/tone. You can pulse it on & off to get some variation, but otherwise you don't have much control.

The other option is a "transducer" or "speaker". A transducer is a better option if you want a variety of frequencies/pitches, or if you want more then one tone at a time. A transducer requires you to send a signal, and the electrical signal is converted to sound waves... Just like your computer speakers or the speakers in your TV. :wink: Except, piezo transducers are more like tweeters, limited to the higher frequency ranges.

For speech, you really need a regular speaker to get the mid-frequency range. And with a speaker, you'll need an audio power amplifier since the Arduino can't drive an 8 Ohm speaker directly. If you need to go really loud, a horn type speaker will go very loud with only a couple of watts.

The only catch is your software has to generate the sound wave. (Then yes, the Due's DAC can convert the digital audio to analog.)