It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
I want to control a siren speaker (has a built-in driver) with an Arduino.

The siren needs 12V and consumes about 480mA. The Arduino output pin is 5V and can source 40mA maximum.

I would like to use a transistor to switch the siren on and off. Is this an OK application for a transistor? I'd rather not have to use a relay or a SSR because I don't have any on hand.

Based off of those numbers I calculated my load (siren) resistance to be 25 ohms using Ohms law, R=E/I. (I'm using Amps, Volts, and Ohms as units)

12V0.48A=25Ω
12V0.48A=25Ω
I have found various calculations to determine what kind of transistor I need and I'm not quite sure which is the best one. One of them is like this:

hFE(minimum)=5×LoadCurrentArduinoPinMaxCurrent
hFE(minimum)=5×LoadCurrentArduinoPinMaxCurrent
Which gives me a minimum hFEhFE of 60.

5×0.480.04=60
5×0.480.04=60
This is where I get a little confused. I have a few transistors and their datasheets but I'm not quite sure how to read them. I have read many resources and I am just as confused now as before.

I know I should probably use a NPN transistor but would it matter if I use a PNP instead? Do the same calculations apply? I understand that the circuit changes, active high instead of active low, but are there any drawbacks to PNP over NPN?

The NPN's I have are PN2222A(http://www.kynix.com/Detail/232142/PN2222A.html), BC337, BC547B and a BC517 darlington.

The PNP's I have are PN2907, BC327 and a BC516 darlington.

How would I go about choosing the right transistor for the job? I don't want to overload the transistor.
Hi..as per my knowledge When choosing the right transistor for this job, first I'll eliminate the PNP transistors. They're a bit more complicated to use in your case. As you said, for a PNP transistor, active high becomes active low, meaning the transistor will switch on when you apply 0V from your Arduino, but it won't switch off when you apply 5V from the Arduino. You'll need to apply 12V to the base of the PNP transistor to switch off (VEB = 0).
Leaving PNP's behind, looking at the NPN's that you have availabe, only the BC547B (Ic = 100mA) couldn't handle the 480mA current that your siren needs. From the remaining 3 transistors, I'd choose the one that can handle the most current, just to be on the safe side. That would be the BC517 darlington, which can handle a maximum of 1.2A, more than enough for your siren.