Introduction:
- In this article I will explain about displaying RGB Light With Arduino Mega 2560.
- It can be used to change according to the colored paper.
- It can work under the color sensor.
Parts Of Lists:
- Arduino Mega 2560
- LED-3
- Color sensor
- Hookup Wires
Color Sensor:
- The color sensor can be used to convert the light to frequency converter.
- It can be used to filter the RGB color.
- We will calculate the RGB color value.
Figure 1: Color sensor.
Connection:
Step 1: Connection From Color Sensor To Arduino Mega 2560:
- Connect the S0 pin to the GND of the Arduino board.
- Connect the S1 pin to the VCC of the 5V Arduino board.
- Connect the S2 pin to the 03 of the Arduino board.
- Connect the S3 pin to the 04 of the Arduino board.
- Connect the S0 pin to the 05 of the Arduino board.
- Connect the VCC pin to the 5V of the Arduino board.
- Connect the GND pin to the GND of the Arduino board.
Step 2: Connection From LED To Arduino Mega 2560:
LED 1 : RED Color:
- Postive pin to the 13.
- Negative pin to the GND.
LED 2 : GREEN Color:
- Postive pin to the 12.
- Negative pin to the GND.
LED 3 : BLUE Color:
- Postive pin to the 11.
- Negative pin to the GND.
Programming:
- int redPin=13;
- int greenPin=12;
- int bluePin=11;
-
- int S2=03;
- int S3=04;
- int outPin=05;
-
- int rColorStrength;
- int gColorStrength;
- int bcolorStrength;
-
- unsigned int pulseWidth;
-
- void setup() {
- Serial.begin (9600);
-
- pinMode(redPin, OUTPUT);
- pinMode(greenPin, OUTPUT);
- pinMode(bluePin, OUTPUT);
-
- pinMode(S2, OUTPUT);
- pinMode(S3, OUTPUT);
- pinMode(outPin, INPUT);
-
- }
-
- void loop() {
-
-
-
- digitalWrite(S2,LOW);
- digitalWrite(S3,LOW);
-
- pulseWidth = pulseIn(outPin,LOW);
-
- rColorStrength = pulseWidth/400. -1;
-
- rColorStrength = (255- rColorStrength);
-
-
-
-
- digitalWrite (S2,HIGH);
- digitalWrite (S3,HIGH);
-
- pulseWidth = pulseIn(outPin,LOW);
-
- gColorStrength = pulseWidth/400. -1;
-
- gColorStrength = (255- gColorStrength);
-
-
-
-
- digitalWrite(S2,LOW);
- digitalWrite(S3,HIGH);
-
- pulseWidth = pulseIn(outPin,LOW);
-
- bcolorStrength = pulseWidth/400. -1;
-
- bcolorStrength = (255- bcolorStrength);
-
- Serial.print(rColorStrength);
- Serial.print(“, “);
- Serial.print(gColorStrength);
- Serial.print(“, “);
- Serial.println(bcolorStrength);
- Serial.println(“ ”);
- if (rcolorstrength>bcolorstrength &&rcolorstrength>gcolorstrength){
- digitalwrite(redpin,HIGH);
- digitalwrite(bluepin,LOW);
- digitalwrite(greenpin,LOW);
- }
- if (gcolorstrength>bcolorstrength &&gcolorstrength>rcolorstrength){
- digitalwrite(redpin,LOW);
- digitalwrite(bluepin,LOW);
- digitalwrite(greenpin,HIGH);
- }
- if (bcolorstrength>rcolorstrength &&bcolorstrength>gcolorstrength){
- digitalwrite(redpin,LOW);
- digitalwrite(bluepin,HIGH);
- digitalwrite(greenpin,LOW);
- }
- delay(250);
- }
Explanation:
- In this article I have explained about displaying RGB color in the Arduinomega2560.
- It changes when the color is shown near the sensor and reflected in the LED.
- The color value can be seen in the serial monitor.
- For red, it will turn ON the red LED color.
- For blue, it will turn ON the blue LED color.
- For green, it will turn ON the green LED color.
Output:
Figure 2: Output
Read more articles on Arduino: