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)
$$\frac{12V}{0.48A} = 25 \Omega$$
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:
$$h_{FE(minimum)} = 5 \times \frac{Load\;Current}{Arduino\;Pin\;Max\;Current}$$
Which gives me a minimum \$h_{FE}\$ of 60.
$$5 \times \frac{0.48}{0.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, 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.