Driving a 12V LED strip with an Arduino
You are overcomplicating it. For LED PWM brightness at anything less than many 10's of KHz modulation frequency and for the voltages you are dealing with, you can simply drive an N-channel MOSFET gate directly or you could use a simple quad/hex non-inverting buffer logic chip if you were worried about your microcontroller.

A circuit for each channel of the LED (R, G, B channels) can be a simple as this:







simulate this circuit &ndash; Schematic created using CircuitLab

a useful MOSFET might be something like an STP16NF06L 

By the way, this assumes the LED R G B channels do not need any kind of current-limiting. If they don't have current limiting resistors or built-in current limiting features, you will need to either put a resistor in the path from 12V to ground somewhere for that channel, or you could implement a resistor + BJT current limiting loop on the N-channel MOSFET.