I am attempting to control a 12V RGB LED strip (SMD 5050) from an Arduino Uno (and Nano), and have set up the following breadboard. When I power on the circuit with a 12v power adaptor, the led turns on to white, but doesn't execute my sketch, which should fade from a color to another.
As I'm pretty new to this, have I made a blatant mistake? (Probably, as I seem to have fried my MacBook Air when I connected to both USB and power at the same time...)
You should avoid all that current going through the Uno's ground pins. Connect the ground pin from the 12V power supply to the breadboard.
Why do you say your witch is not running? Have you tried 3 x 5mm LEDs, with series resistors, connected to the 3 pwm outputs, without the strip of 12V psu connected?
Stp16nf06l would be suitable. I say that because I have memorized the part number! There are probably hundreds to choose from. What you are looking for is "n-channel" and "logic-level" and probably in a "to-220" package. Most of them will have a higher maximum voltage and current than you need, so don't worry so much about those figures.
That's not a mosfet either, but a bjt darlington transistor.
Sort of ok for a short-ish piece of LED strip, assuming you have used the right (~220ohm) base resistors.
Leo..
Yes, tip120 are a bit old and rubbish compared to a proper MOSFET. If you upgrade to a longer strip, get some real MOSFETs.
Regarding the wiring of the ground, do you mean I should rewire as in my updated diagram?
I don't see a difference. It's still the case that all the current flowing back to the PSU connector through the ground line is still passing through the Uno board, albeit between neighbouring pins.