RGB LED controlling via bluetooth

Hi all,

just one quick question - is there any way to control RGB led strip with common anode?
Because + is common for them, all I'm getting is:
When output is HIGH, LED is on;
When output is LOW, led is still on but on half its brightness.

I'm using Arduino Nano.

String command; 
void setup() {
pinMode(13, OUTPUT); 
pinMode (12, OUTPUT); 
void loop() {
  while (Serial.available())
  char c = Serial.read(); 
  command+= c; 
  if (command.length() > 0)
       if(command== "on")
         digitalWrite(13, HIGH);
         digitalWrite(12, HIGH);
  if(command== "off")
   digitalWrite(13, LOW);
   digitalWrite(12, LOW);

RGB strip connection is:

GND pin from 12V power supply is connected to Nano GND pin.
Positive pin from power supply is connected to + pin of RGB strip.
And R,G and B pins from strip are directly connected to digital pins of Nano.

Thank you in advance...

By my thinking, firstly that's backwards since with the cathodes on the digital pins low should be on and high off.

I've never used a led strip so not sure (read as: nfc) how they work or should be wired, but if you've got 12V on an led anode, even a high of 5V on the cathode still gives 7V across the led (and hopefully some resistor in there somewhere) so that would explain the "half on". (Except as I said the whole thing's backwards....)

Further to above, I would have expected a 12V device (such as a 12V led strip) to have 12V as well as a ground to the device, so that powers the leds, and then just a control line to the Arduino to turn the leds off and on.(I'm picturing an led strip a bit like a servo: correct me if I'm wrong.)

Yes, you are right, they probably have about ~7V when D/O is LOW.
I will try to put some NPN transistor between strip pins and digital pins.

That was my plan anyway for driving bigger led strip, but this was strip with only 3 leds on it, so I thought that transistor are not required for 3 leds...

Just to inform that problem is solved using NPN transistors (3 pcs for each color)
I used 2N2222 because current per color is under 800mA, and everything works like a charm now.
If anyone needs it, connection is:

  • Emitter goes to GND pin of Arduino
  • Collector goes to Digital/Analog pin of Arduino
  • Base goes to one color pin of RGB strip
  • Positive pin (12V) of RGB strip (this is common anode strip) goes to Input pin of Arduino (here I have also attached 12V of power supply)

And, thank you very much kenwood120s for helping...