Controlling RGB LED strip with arduino uno

Hey guys, so I’m not that experienced with coding, is there a way to control my 4pin addressable RGB LED strips using my Arduino Uno Thank you!

Only when you confess to what you mean by "4pin addressable RGB LED strips". :astonished:

If its a standard array of RGB LED’s then i guess its 1 wire per color and 1 for ground, just try feeding it some power, is it a pc rgb strip or do you know its voltage? i assume its 12v so you may want to get a mosfet or transistor to drive them at the full voltage.

Here’s a simple as heck code i made to cycle through 1530 color shades (6 * 255) in order of the spectrum.

const byte redPin = 2;
const byte greenPin = 3;
const byte bluePin = 4;
const byte colors = 6;
const byte redSpectrum[colors] =   {255, 0,   0,   0,   255, 255};
const byte greenSpectrum[colors] = {0,   0,   255, 255, 255, 0};  // , 255  // add to the end of each array to set LED white each cycle.
const byte blueSpectrum[colors] =  {255, 255, 255, 0,   0,   0};  // , 0  // add to the end of each array to turn off the LED each cycle.

void setup() {
  Serial.begin(115200);
  Serial.print(F("RGB Spectrum example."));
  delay(1000);
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}

void loop() {
  for (byte i = 0; i < colors; i++) {
    setColourRgb(redSpectrum[i], greenSpectrum[i], blueSpectrum[i]);
    delay(100);
  }
}

void setColourRgb(byte red, byte green, byte blue) {
  static byte redValue;
  static byte greenValue;
  static byte blueValue;
  for (byte i = 0; i < 255; i++) {
    redValue = adjustColor(redPin, red, redValue);
    greenValue = adjustColor(greenPin, green, greenValue);
    blueValue = adjustColor(bluePin, blue, blueValue);
    Serial.print(F("\nRed = ")); Serial.println(redValue);
    Serial.print(F("Green = ")); Serial.println(greenValue);
    Serial.print(F("Blue = ")); Serial.println(blueValue);
    delay(20);
  }
}

byte adjustColor(byte pin, byte target, byte val) {
  if (target == 0 && val > 0) {
    val--;
  }
  else if (target == 255 && val < 255) {
    val++;
  }
  analogWrite(pin, val);
  return val;
}

KawasakiZx10r:
If its a standard array of RGB LED's then i guess its 1 wire per color and 1 for ground

It is not the OP clearly stated "addressable RGB LED strips" that information you posted is wrong because it applies to an LED strip that all light up in the same colour. That is it is NOT and addressable strip.

i assume its 12v so you may want to get a mosfet or transistor to drive them at the full voltage.

If it is a none addressable strip then you need the FET or Transistor to prevent you frying your Arduino pin.