HELLO THERE!!!
Hi everybody!! How are you guys? This week, I am going to share with you guys a fun experiment that I did during the weekends. The objective of this experiment is to use the RGB LED to output different colors. Without wasting further time, let's get into the experiment!!
HARDWARE:
1.Arduino UNO
Hi everybody!! How are you guys? This week, I am going to share with you guys a fun experiment that I did during the weekends. The objective of this experiment is to use the RGB LED to output different colors. Without wasting further time, let's get into the experiment!!
HARDWARE:
1.Arduino UNO
2. 3 Potentiometer
3. RGB LED ( I used the Keyes RGB LED)
SOFTWARE:
1.Arduino IDE
CIRCUIT ASSEMBLY:
By referring to the image below:
The RGB LED has 4 pins, 1 GND, 1 pin each for the color red, green and blue.
RGB LED ----------> ARDUINO
GND(- sign of the pin) GND
R,G,B Any Digital pin(I used pin 9,10 and 11)
The potentiometer consists of 3 pins, the middle pin is for analog reading and the other two pins is for GND and 5V.
Just in case, if some of you guys are not using the RGB LED model that I am using, you can also refer to the circuit assembly below. The circuit assembly below shows the common cathode RGB LED pin connection to arduino:
If you are using the common anode RGB LED, just switch the GND pin of the RGB LED to 5V pin.
CODING THE ARDUINO:
int potpin = A0;// pins for the potentiometer
int potpin1 = A1;
int potpin2 = A2;
int redPin = 11;//pin for the RGB LED
int greenPin = 10;
int bluePin = 9;
int val=0;// initialize variables for analog reading
int val1=0;
int val2=0;
int ov=0;
int ov1=0;
int ov2=0;
void setup(){
Serial.begin(9600);//serial communication at 9600 bps
pinMode(redPin, OUTPUT);//declaring the pins as output
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
val = analogRead (potpin); //read potentiometer value
val1 = analogRead (potpin1);
val2 = analogRead (potpin2);
ov = map(val, 0, 1023, 0, 255);//mapping the val: this means that the val value of 0
//is mapped to value 0 and the val value of 1023 is mapped to 255
ov1 = map(val1, 0, 1023, 0, 255);
ov2 = map(val2, 0, 1023, 0, 255);
setColor(ov, ov1, ov2); //set the color of the RGB LED
}
void setColor(int red, int green, int blue)
{
analogWrite(redPin, red);//matching the variable to the value redPin=red and etc
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
Upload the code to Arduino and adjust the potentiometer values to get different color on the RGB LED.
I had made the experiment and the result is shown as below:
Well, that's all from me this week, guys. I hope to see you guys in the next post. Till then, HAPPY TINKERING!!
Comments
Post a Comment