User login

Powered by Drupal, an open source content management system

Theory and Practice of Tangible User Interfaces

Controlling Brightness and Blinking of two LEDs seperately

Submitted by tilman on Tue, 09/23/2008 - 13:08

Assignment: Sensing: Potentiometers

Collaborators:

Assignment: Sensing: Potentiometers
Collaborators:

Description

Controlling the brightness of the red LED with Pot1 and controlling the blinking of the blue LED with Pot2.

Componentes Used

  • 2 Light Emitting Diods (LED)
  • 2 Resistors
  • Wires
  • 2 Pots

Source Code

/*
* one pot dims, the other pot changes the blinking rate
* modification of the following
* http://www.arduino.cc/en/Tutorial/AnalogInput
*/
int pot1Pin = 3; // 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 1
int led2Pin = 11; // select the pin for the LED 2
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

//blinking
analogWrite(led2Pin, 255); // dim LED to value from pot1
delay(pot2Val); // stop the program for some time, meaning, LED is on for this time
analogWrite(led2Pin, 0); // dim LED to completely dark (zero)
delay(pot2Val); // stop the program for some time, meaning, LED is OFF for this time

//dimming
analogWrite(led1Pin, pot1Val/4);
}

Alternative Mapping

In terms of using the pot to control 3 LEDs (red, green, blue) I was thinking about mapping the pot to the natural scale of the light spectrum. Thus, gracily fading from purple over blue, green, yellow, orange to red.

Breadboard Image

Controlling Brightness and Blinking of two LEDs seperately