I want to control simple 3mm LEDs using Arduino pins (one led per pin). I want the LEDs to be lit quite bright (around 15mA per LED, too much for the Arduino pins to provide). I also want to be able to control their brightness (using PWM).
How do I do that? What I'm currently thinking is using a MOSFET, or a NPN transistor. I've never used NPN transistors before, so I don't know how to use them.
If I use a MOSFET, do I need to use a MOSFET driver? Or is an Arduino pin with a series resistor good enough to drive the MOSFET?