Example Code for Arduino-Control RGB LED Color

Last revision 2025/12/18

The article presents a comprehensive guide on controlling RGB LED colors with Arduino, featuring hardware and software preparation, wiring instructions, and sample code to display conventional and random colors.

Hardware Preparation

Software Preparation

Wiring Diagram

Set I2C address and then connect the button module to the I2C interface of the UNO mainboard.

DFR0991-wiring diagram

Sample Code

RGB button module shows regular colors, then random RGB colors

#include <DFRobot_RGBButton.h>
DFRobot_RGBButton RGBButton(&Wire, /*I2CAddr*/ 0x2A);

void setup(void)
{ Serial.begin(115200);
  while( ! RGBButton.begin() ){
    Serial.println("Communication with device failed, please check connection!");
    delay(3000);
  }
  Serial.println("Begin ok!\n");
  RGBButton.setRGBColor(RGBButton.eRed);       // display conventional colors
  delay(1000);
  RGBButton.setRGBColor(RGBButton.eOrange);
  delay(1000);
  RGBButton.setRGBColor(RGBButton.eYellow);
  delay(1000);
  RGBButton.setRGBColor(RGBButton.eGreen);
  delay(1000);
  RGBButton.setRGBColor(RGBButton.eCyan);
  delay(1000);
  RGBButton.setRGBColor(RGBButton.eBlue);
  delay(1000);
  RGBButton.setRGBColor(RGBButton.ePurple);
  delay(1000);
  RGBButton.setRGBColor(RGBButton.eWhite);
  delay(1000);
  RGBButton.setRGBColor(RGBButton.eBlack);
  delay(1000);
}
uint8_t rValue, gValue, bValue;

void loop()
{   rValue = random(0,255);          // random display colors
    gValue = random(0,255);
    bValue = random(0,255);
    RGBButton.setRGBColor(/*r=*/rValue, /*g=*/gValue, /*b=*/bValue);
    delay(1000);
}

Result

After uploading the codes, RGB LED will change color at one-second intervals, displaying 9 conventional colors first and then displaying random colors.

Was this article helpful?

TOP