Skip to main content

RGB Led Fading effect using Arduino

RGB Led Arduino
The RGB LED can emit different colors by mixing the 3 basic colors red, green and blue. So, it actually consists of 3 separate red, green and blue LEDs, packaged in one box. This is why it has 4 leads, one for each of the 3 colors and a common cathode or anode depending on the type of RGB LED. In this tutorial I will use a common cathode.
Components required for this Project :
  • RGB Led - Buy
  • Arduino Uno - Buy
  • Breadboard and Jumpers - Buy

Circuit Diagram

RGB Led and Arduino Circuit Digram

Above is the circuit diagram of the RGB Led and Arduino Uno,
As you can see the ground pin  of the RGB LED is connected to the ground of the Arduino and other 3 pins of RGB Led are connected to the PWM Pins of Arduino Uno (9, 10, 11).

Code



int ledPin = 9; 
int ledPin1 = 10;
int ledPin2 = 11;

void setup() {}
void loop()
{
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) 
  {
    analogWrite(ledPin, fadeValue);
    delay(20);
  }
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) 
  {
    analogWrite(ledPin, fadeValue);
    delay(20);
  }
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) 
  {
    analogWrite(ledPin1, fadeValue);
    delay(20);
  }
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) 
  {
    analogWrite(ledPin1, fadeValue);
    delay(20);
  }
    for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) 
    {
    analogWrite(ledPin2, fadeValue);
    delay(20);
    }
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) 
  {
    analogWrite(ledPin2, fadeValue);
    delay(20);
  }
    for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) 
    { 
    analogWrite(ledPin, fadeValue);
    analogWrite(ledPin1, fadeValue);
    delay(20);
    }
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) 
  {
    analogWrite(ledPin, fadeValue);
     analogWrite(ledPin1, fadeValue);
    delay(20);
  }
     for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) 
     {
    analogWrite(ledPin, fadeValue);
    analogWrite(ledPin2, fadeValue);
    delay(20);
    }
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) 
  {
     analogWrite(ledPin, fadeValue);
     analogWrite(ledPin2, fadeValue);
     delay(20);
  }
   for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) 
   {
    analogWrite(ledPin1, fadeValue);
    analogWrite(ledPin2, fadeValue);
    delay(20);
  }
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) 
  {
     analogWrite(ledPin1, fadeValue);
     analogWrite(ledPin2, fadeValue);
     delay(20);
  }
   for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) 
   {
      analogWrite(ledPin, fadeValue);
      analogWrite(ledPin1, fadeValue);
      analogWrite(ledPin2, fadeValue);
      delay(20);
  }
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) 
  {
     analogWrite(ledPin, fadeValue);
     analogWrite(ledPin1, fadeValue);
     analogWrite(ledPin2, fadeValue);
     delay(20);
  }
}

The code has used the fundamental properties of mixing RGB Colors and Producing different Colors.
Here is the table of RGB color mixing.
RGB Led Mixing Colors Table

By changing the value in the variable fadevalue we can create various colors by simultaneously turning ON leds together.

Hope you Like This post. 

Comments

Popular posts from this blog

7400 - Quad Two Input NAND Gate

7400 - Quad Two Input NAND Gate 74LS00 is part of the 74XXYY IC series. 74xxyy integrated circuits are logical gates of digital electronics. The 74LS00 IC has four NAND gates(NAND Gate is the combination of AND and NOT Gate). In addition, each door has two entrances. Hence the name QUAD TWO INPUT NAND GATE.     Pin Diagram of 7400 IC 74LS00 is a 14-pin device. The chip is available in different packages and is chosen according to the needs.  The description of each pin is given below. Pin Number Description 1 A1-INPUT1 of GATE 1 2 B1-INPUT2 of GATE 1 3 Y1-OUTPUT of GATE1 4 A2-INPUT1 of GATE 2 5 B2-INPUT2 of GATE 2 6 Y2-OUTPUT of GATE2 9 A3-INPUT1 of GATE 3 10 B3-INPUT2 of GATE 3 8 Y3-OUTPUT of GATE3 12 A4-INPUT1 of GATE 4 13 B4-INPUT2 of GATE 4 11 Y4-OUTPUT of GATE4 7 GND- Connected to ground 14 VCC-Connected to positive voltage to provide smdksmkm power to all four gates Internal Ci

Arduino Code Basics - C, Pins

Code Basics -Arduino C The Arduino uses a slightly reduced C/C++ programming language. In this recipe, we will remember a few basics of C/C++. Ensure that you have Arduino IDE Installed on your Laptop/PC. Here is a simple example of basic Arduino C/C++ manipulating two variables: // Global Variables  int var1 = 10;  int var2 = 20; void setup() {   // Only execute once when the Arduino boots   var2 = 5;   // var2 becomes 5 once the Arduino boots } void loop(){   // Code executes top-down and repeats continuously   if (var1 > var2) {  // If var1 is greater than var2 var2++; // Increment var2 by 1   } else {  // If var1 is NOT greater than var2     var2 = 0; // var2 becomes 0   }  } When we upload a sketch to the board, the Arduino software first compiles the code. If there is an error in the code, it will write it in the Status Display area and will stop the upload. If no errors are found, it will begin writing the compiled co