I'm looking at the Grove Piezo buzzer below:
I see the Seed design has a transistor (Q1) and a resistor (R1). The buzzer description saids:
- buzzer emits a tone when SIG is high
- "Alternatively it can be connected to an analog pulse-width modulation output to generate various tones and effects"
How is that possible with just a transistor and resistor? I thought Piezo buzzers need some kind of frequency input in order to make a sound. How does the Grove piezo generate sound with just a constant high signal?
Also, when it saids "analog pulse-width modulation", is that a typo? Is it really just digital PWM, where the frequency changes ("analog" frequency)? Or is it a thing to use the analog pings to do PWM?
A buzzer has a built-in sound generating circuit and it operates from DC.
A transducer or speaker is passive and it reproduces the signal fed-into it.
Some people and some "cheap" sellers use the wrong descriptions.
Generally, you can drive a piezo transducer directly from the Arduino. A buzzer usually requires more current so it might need a transistor or MOSFET driver.
Also, when it saids "analog pulse-width modulation", is that a typo?
Probably not very-well written. You'd be modulating whatever tone is reproduced by the buzzer. That could be "interesting" depending on what you're want, but it's not going to play a melody.
If that is an active buzzer on there the electronics are located inside the speaker device. Like Doug says, the transistor is there only for switching.
I wonder if they mean PCM by their analog statement. I might be chinese-english...