In this tutorial we'll generate all the possible colors that you can see with just a twist. It will also make you see through the RGB color model and understanding how today's displays work.
We'll also use Arduino analog Input / Ouput ( referred to as I/O later in tutorial ) and will learn how to read and write analog voltages on Arduino pins.
Step 1: What You Need?
3 x 5k Ohm Potentiometers
3 x 330 Ohm Resistors
1 x RGB LED or RGB Module
Optional
Cable Cover
Arduino Compatible UNO Ultimate Starter Kit / Learning Kit
USB To Power Jack Cable
Arduino Compatible UNO Ultimate Starter Kit / Learning Kit
USB To Power Jack Cable
Don't have components? Don't worry. Just click the component's name.
Step 2: Connecting The Pot.
Voltage Divider Circuit |
In a nutshell, it transforms a adjustable amount of the voltage (changes by twisting the rotor) to the Arduino analog input pin ( Vout ) this link explains the topic even further.
Pot Voltage Divider |
Connect the pot as illustrated in the image, connecting the outer terminals on either 5v or GND doesn't matter at all, the most important connection is the middle terminal, which goes to the analog input pins.
You obtain the 5v and GND from the Arduino pins.
I'm using the Orange for the 5v ( instead of Red ) to make easier to differentiate between power and signal lines.
Repeat this connection for the 3 pots for each color.
I want to keep the connections as tidy as possible so I'll connect the pot for the Red color on A0, Green on A1 and Blue on A2.
You obtain the 5v and GND from the Arduino pins.
I'm using the Orange for the 5v ( instead of Red ) to make easier to differentiate between power and signal lines.
Repeat this connection for the 3 pots for each color.
I want to keep the connections as tidy as possible so I'll connect the pot for the Red color on A0, Green on A1 and Blue on A2.
Step 3: Connecting The RGB LED.
Since we have 256 value for each PWM output and 3 pins that represent Red Green Blue, we have a total of 256 * 256 * 256 colors which is 16,777,216 colors (almost 17 Million).
NOTE: Don't forget to connect the 330 Ohm resistor because I made this mistake and got my Red LED burnt out electricity won't do much work to get an LED burnt, so take care.
Step 4: Upload The Code.
The code of the Arduino does those simple tasks in a sequential manner.
In the Setup
- Set the mode of 3 analog input pins to input
- Set the mode of 3 pwm (analog output) pins to output
In the Loop
- Read the value of the pot. using analogRead function
- Map the value from the analog pin to a matching PWM value using the map
- function
- Write the PWM value to the analog pin using analogWrite function
0 comments:
Post a Comment