Description:
For my assignment, I chose to control 3 LEDs with 2 Potentiometers. 1 Pot controls the blinking speed, while the 2nd Pot controls the intensity/hue of the LEDs. I played around with making the lights light up at different speeds and alternate (1-2-3), but the blinking lights started to blend at higher speeds. Afterwards, I reverted the code to my original, which controls hue/brightness and blinking speed with the two potentiometers.
Materials Used:
2 Potentiometers
3 LEDs (Red, Green, Blue)
3 220 Ohm Resistors
Various Colored Wires
Code:
/*
* one pot dims, the other pot changes the blinking rate
* modification of the following
* http://www.arduino.cc/en/Tutorial/AnalogInput
*/
int pot1Pin = 1; // select the input pin for the potentiometer 1
int pot2Pin = 2; // select the input pin for the potentiometer 2
int pot1Val = 0; // variable to store the value coming from pot 1
int pot2Val = 0; // variable to store the value coming from pot 2
int led1Pin = 9; // select the pin for the LED R
int led2Pin = 10; // select the pin for the LED G
int led3Pin = 11; // select the pin for the LED B
void setup() {
pinMode(led1Pin, OUTPUT); // declare the led1Pin as an OUTPUT
pinMode(led2Pin, OUTPUT); // declare the led2Pin as an OUTPUT
}
void loop() {
pot1Val = analogRead(pot1Pin); // read the value from pot 1, between 0 - 1024, for dimming
pot2Val = analogRead(pot2Pin); // read the value from pot 2, between 0 - 1024, for blinking
analogWrite(led1Pin, pot1Val/4); // dim LED to value from pot1
analogWrite(led2Pin, pot1Val/4); // dim LED to value from pot1
analogWrite(led3Pin, pot1Val/4); // dim LED to value from pot1
delay(pot2Val); // stop the program for some time, meaning, LED is on for this time
analogWrite(led1Pin, 0); // dim LED to completely dark (zero)
analogWrite(led2Pin, 0); // dim LED to completely dark (zero)
analogWrite(led3Pin, 0); // dim LED to completely dark (zero)
delay(pot2Val); // stop the program for some time, meaning, LED is OFF for this time
}
- Login to post comments