I'm experimenting with Piezo Buzzer. I connected it directly to PIN9 and GND. Worked well but quite. I'm trying to amplify it. I use external power source 12V and BC 237b transistor.
Unfortunately it doesn't work. Well.. it works if I replace the buzzer with resistor and LED. I see it blinking so there is current flow.
When I was troubleshooting this issue I realize if I connect additional resistor to 12V+ and transistor's collector it start to work. I doesn't get much louder thou.
This is the first time I've ever uses a transistor so It's probably a silly noob issue. However it makes me very puzzled. The buzzer works with 5V and tiny current from Arduino without any problem. When I give it 12V it looks like there is not enough power and it reminds silent. I would really like to understand what am I doing wrong.
You seem to have a piezo transducer, not a buzzer. It need push-pull drive (transistor pulls down, resistor pulls up) as its effectively
a capacitor (perhaps about 30nF - this suggests a 330 ohm or so, less than this and you'll need a power resistor, larger and you might lose
high-frequencies).
Piezo transducers are highly acoustically resonant devices and you get the loudest output at the right frequency - so
try various frequencies. 12V drive ought to get a reasonable level I think.
Other ways to drive are put it in series with 150 ohm resistor and then drive from two pins driven anti-phase - this gives 10V peak-peak
signal without needing transistor or 12V supply.
A piezo buzzer contains electronics to make it buzz.
You have a piezo transducer.
You can make it louder:
Place the piezo in a case, like a loudspeaker box. That makes it a lot louder.
Use two alternating pins in anti-phase as MarkT wrote (and use the resistor he mentioned).
As last option, you can use 12V. But you have to use an output stage. You can build a push-pull output stage with transistors (H-bridge). It can also be a power-mosfet driver if the frequency is not too high. A piezo could have a capacitance of 30nF, but I have one that is 100nF. For high (ultrasonic) frequencies you can't just have a square wave to drive the piezo, you need a sine wave.
Thank you very much for your time guys. It turned out the biggest confusion was not understanding the component I was working with. You solved my problem.
MarkT:
Other ways to drive are put it in series with 150 ohm resistor and then drive from two pins driven anti-phase - this gives 10V peak-peak
signal without needing transistor or 12V supply.
Can you explain a little bit more that part? thanks