Active or passive buzzer?

Hello :)

I would like to buy a buzzer to make an alarm when for example temperature is above a certain value. Which buzzer do you recommend, active or passive? What is the difference to control them with an Arduino?


With a "passive" device or speaker, you have to send it an AC "sound signal" and you can control the sound. The Arduino needs to generate the "tone". With enough hardware & software you could make it play music. etc. The only downside (besides a bit of extra programming) is that it takes processor-time to generate the sound. This could be an issue if your program (sketch) is doing lots of other things at the same time. (It shouldn't be an issue in your application.) A piezo speaker can be driven directly from the Arduino (probably with a series resistor). A regular (voice coil) speaker takes more current and it needs an amplifier.

An "active" buzzer generates the sound itself. So, you can simply turn it on & off with an Arduino pin, just like you turn on & off an LED. However, most buzzers require a bit more current so you'll need a MOSFET to boost the current/voltage. (I have a "ding dong" device as a pre-alarm on my home & car alarms. These work just like a buzzer... You give it 12V and it makes noise.)

...make an alarm when for example temperature is above a certain value.

It's OK if you want to make an Arduino project, but you don't really need a microcontroller or programming for such simple logic. (A regular 'ol thermostat doesnt have a "brain" or memory. ;) ) If you want to use an LCD (or LED) display to show the alarm-temperature and/or the actual current temperature, then a microcontoller and a bit of programming would be useful.

My project is much bigger than simply an alarm for too high temperature, I'm making a terrarium + aquarium + indoor garden controller :)

So what I really want is a sound device that can make a quiet "beep" when for example I press a button on the touchscreen, and a louder "BEEEEP BEEP" (but not too loud like a fire alarm!) for example when something goes wrong.

So I'm searching for a device that can emit beeps at different volume level and if possible few tones, I don't need something to play music (however I'm wondering if fishes and lizards love music :)), and if possible using 5V so I can connect it directly to Arduino (with a resistor if needed). With these data, can you recommend a model?

Thank you :)

Someone can recommend a model?

If you want one device for both volume levels, use the arduino to generate the tones and a digital pot IC to control the volume to an amplifier.

An all in one digital volume control and amplifier module is this one or