RGB

Programming

// ESP32 RGB LED Controller - DIY
// Common-Cathode RGB LED
// Red   -> GPIO 25
// Green -> GPIO 26
// Blue  -> GPIO 27

#define RED_PIN   25
#define GREEN_PIN 26
#define BLUE_PIN  27

// Set RGB brightness values (0-255)
void setColor(int red, int green, int blue) {
  analogWrite(RED_PIN, red);
  analogWrite(GREEN_PIN, green);
  analogWrite(BLUE_PIN, blue);
}

void setup() {
  pinMode(RED_PIN, OUTPUT);
  pinMode(GREEN_PIN, OUTPUT);
  pinMode(BLUE_PIN, OUTPUT);

  // Start with LED OFF
  setColor(0, 0, 0);
}

void loop() {

  // Red
  setColor(255, 0, 0);
  delay(1000);

  // Green
  setColor(0, 255, 0);
  delay(1000);

  // Blue
  setColor(0, 0, 255);
  delay(1000);

  // Yellow = Red + Green
  setColor(255, 255, 0);
  delay(1000);

  // Purple/Magenta = Red + Blue
  setColor(255, 0, 255);
  delay(1000);

  // Cyan = Green + Blue
  setColor(0, 255, 255);
  delay(1000);

  // White = Red + Green + Blue
  setColor(255, 255, 255);
  delay(1000);

  // LED OFF
  setColor(0, 0, 0);
  delay(1000);
}