powering Arduino

Hi!

In your opinion, which way is better?

a) 12V → Arduino (thru power socket) → Arduino +5V out → other components
b) 12V → voltage regulator (7805 5V) → Arduino VIN + other components
c) ?

other components = LCD 16x2, DS1307 RTC, 2x 1-Wire sensors, some buttons, transistor
12V is also needed (FAN).

wbr,
Toomas

a) 12V → Arduino (thru power socket) → Arduino +5V out → other components

If you don’t use more than about 500mA this is an easy and good way to go.

b) 12V → voltage regulator (7805 5V) → Arduino VIN + other components

Wrong. Regulated 5V go to the 5V pin and not VIN. VIN has to be at least 2V higher than Vcc, so has to be 7V or more. If you go to 5V pin, you do the same as the internal voltage regulator is doing, in some cases it’s even a 7805. And you don’t get more current.

Using the low dropout regulator on the arduino will be more efficient compared to a regular 7805 regulator. There's also a diode in there for reverse polarity protection. Unless you need more than what the regulator can provide (1A according to the datasheet, but best not to overdo it so 500mA is a good limit - plenty for your application, unless your transistor is driving a large load), you're probably better off using that because a) you're reinventing the wheel, b) requires fewer components, c) uses a 2.1mm dc connector, which is more secure than sticking wires into the +5v socket, and d) there's the inherent reverse polarity protection.