I have a 12V addressable RGB strip that I want to control with an Arduino, the chips are ws2811s, is there a way to do this as the Arduino is 5V and 3.3V?
1 Answer
The only signal you need to worry about is DIN (data in) which is normally 5V from an Arduino. Use that to switch a MOSFET or transistor to convert the digital pulses to 12V. In other words, the Arduino switches the transistor, the transistor outputs 0 or 12 V.
Judging by this link you still just send 5V digital switching to the strip.
The data signal never needs to be 12 volts. The 12 volt pixels all drop the voltage down to about 5 volts to operate the chip. Usually just a resistor and a zener diode, sometimes just a resistor.
In other words, connect the "power" pin to +12V, and the ground pin to Gnd from your power supply.
Connect the Din (data in) to your Arduino pin directly. Of course, also connect the Arduino ground to the ground pin.
Also see this Youtube video. On the comments he says:
These 12v WS2811 "pixels" still use 5v signalling. You simply connect the 12v source power directly to the strip, tie the ground to the arduino and then treat them as if they were a 5v strip.
-
So i could just hook up a TIP120 MOSFET between the arduino and the DIN? Or could i just connect the strip as 12v and connect the ground to the arduino and treat it as a 5v strip?– MassaCommented Aug 26, 2016 at 22:50
-
-
Got the strip from a local store, but it has 4 pins: VCC, 2 ground and DO/DIN, guessing the ground is common and i only need to use 1?– MassaCommented Aug 27, 2016 at 0:00
-
-
If it has 2 ground pins I would ground both of them, to be safe.– Nick Gammon ♦Commented Aug 27, 2016 at 3:59