RGB LED COLOR MIXER with ARDUINO
Let’s have fun, interactive project for beginners to Arduino. Control the brightness of an RGB LED with Potentiometers, STSP switch built in.
OVERVIEW
RGB (red, green, and blue) refers to a system for representing the colors to be used on a computer display. Red, green, and blue can be combined in various proportions to obtain any color in the visible spectrum. Levels of R, G, and B can each range from 0 to 100 percent of full intensity
DETAILS
A simple project that mixes red, green and blue with an RGB LED to make 7 colours. It is a simple project that uses an RGB LED to display different colours. It mixes the three primary colours (red, green and blue) to make seven colours. Control the brightness of an RGB LED with Potentiometers, with on/off switch built in.
COMPONENTS;
- Arduino Uno
- RGB LED
- Rotary Potentiometer – 3
- Pushbutton Switch – 1
- Resistor 10k ohms – 3
- Resistor 220ohms – 1
- Full Size Solderless Breadboard
- Male – Male Jumper Wires
FRITZ
CODE SETUP
int blue = 9; // Define Digital Pins for each colour of the LED int green = 10; int red = 11; int redPot = A0; int greenPot = A1; //Define Analog Pins for the 3 potentiometers int bluePot = A2; int greenVal = 0; //Create a variable to store the state of each Potentiometer int blueVal = 0; int redVal = 0; const int BUTTON = 7; //Define the button Pin int state = 0; //Create a variable to store wether button is on or off int val = 0; //Create a variable to store the momentary state of the button int old_val = 0; //create a variable to store the previous state of the button void setup() { // put your setup code here, to run once: pinMode(green, OUTPUT); //Set LED's as output's, button as input pinMode(blue, OUTPUT); pinMode(red, OUTPUT); pinMode(BUTTON, INPUT); Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: Serial.begin(9600); //Open the serial monitor at 9600 baud val = digitalRead(BUTTON); // Check state of button if ((val == HIGH) && (old_val == LOW)) { //Check to see if state of button has changed state = 1 - state; //Set the button as either on (1) or off (0) delay(10); } old_val = val; // Save the previous button reading to compare next time through loop greenVal = analogRead(greenPot); //Read the position of the potentiometers blueVal = analogRead(bluePot); redVal = analogRead(redPot); if (state == 1) { //If button is on, set the state of each LED according to position analogWrite(green, greenVal / 4); //of its correspoding potentiometer. Anolog inputs range from 0-1023, analogWrite(blue, blueVal / 4); // while anolog outputs as PMW can be from 0-255. Therefore we must analogWrite(red, redVal / 4); // divide the potentiometer readings by 4 to set the state correctly Serial.print("RGB("); Serial.print(redVal/4); Serial.print(","); Serial.print(greenVal/4); Serial.print(","); Serial.print(blueVal/4); //Print the RGB Code, resuable in any RGB application Serial.println(")"); delay(50); } else { // If button is off, set all LED's to LOW/off analogWrite(green, 0); analogWrite(blue, 0); analogWrite(red, 0); delay(50); } }
CONCLUSION
We hope you enjoyed the tutorial For more tutorials and questions, please leave your comments in the comment area. See other components on the site www.inventelectronics.com. Inspiring ingenuity.