Sensing Part 1: Potentiometers

Posted by karthik

karthik's picture

 

2 Pots control brightness and blinking (1)
0
Your rating: None
Posted by apoorvas

apoorvas's picture

 

Green Traffic light
0
Your rating: None
Posted by icheung

icheung's picture

 

This code uses two potentiometers, one to control frequency of blinking, and one to control the brightness of the LEDs.  Three LEDs are used, Red, Green and Blue.

0
Your rating: None
Posted by kantch

kantch's picture

 

0
Your rating: None
Posted by Cole

Cole's picture

 

tripple potentiometer
0
Your rating: None
Posted by prayag

prayag's picture

I used the 3 Pots to control 3 different LEDs. I used a roll of Parchment paper as a diffuser. The reason I did that is because on a fold/edge the parchment paper produces different affects on top and bottom of a fold. It diffuses the light differently on top and bottom of the edge and produces a rainbow effect. I had to use my webcam to shoot the video because I don't have a good camera. The effects are not very visible in the video but I can show it to you.

3Pots/3Leds
0
Your rating: None
Posted by tearkj

tearkj's picture

Description

Use potentiometers to control LEDs

Components Used

  • R,G,B LEDs
  • Resistors 220
  • Wires
  • Potentioneters

Arduino Code

// Analog pin settings
int aIn = 0;    // Potentiometers connected to analog pins 0, 1, and 2
int bIn = 1;    //   (Connect power to 5V and ground to analog ground)
int cIn = 2; 

board
0
Your rating: None
Posted by melissa

melissa's picture

 

Description:
3 pots are used to control 3 leds to create a color mixer of rgb lights. 
 
Components used:
  • 3 pots
  • 3 220 ohm resistors
  • 3 leds
 
Code (I used the given example code):
/*
* "Coffee-cup" Color Mixer:
* Code for mixing and reporting PWM-mediated color
* Assumes Arduino 0004 or higher, as it uses Serial.begin()-style communication 
* Control 3 LEDs with 3 potentiometers
* If the LEDs are different colors, and are directed at diffusing surface (stuck in a
*   a Ping-Pong ball, or placed in a paper coffee cup with a cut-out bottom and 
*   a white plastic lid), the colors will mix together.
*
* When you mix a color you like, stop adjusting the pots.
* The mix values that create that color will be reported via serial out.
*
* Standard colors for light mixing are Red, Green, and Blue, though you can mix 
*   with any three colors; Red + Blue + White would let you mix shades of red, 
*   blue, and purple (though no yellow, orange, green, or blue-green.)
*
* Put 220 Ohm resistors in line with pots, to prevent circuit from 
*   grounding out when the pots are at zero
*/
 
// Analog pin settings
int aIn = 0;    // Potentiometers connected to analog pins 0, 1, and 2
int bIn = 1;    //   (Connect power to 5V and ground to analog ground)
int cIn = 2;  
 
// Digital pin settings
int aOut = 9;   // LEDs connected to digital pins 9, 10 and 11
int bOut = 10;  //   (Connect cathodes to digital ground)
int cOut = 11;  
 
// Values
int aVal = 0;   // Variables to store the input from the potentiometers
int bVal = 0;  
int cVal = 0;  
 
// Variables for comparing values between loops
int i = 0;            // Loop counter
int wait = (1000);    // Delay between most recent pot adjustment and output
 
int checkSum     = 0; // Aggregate pot values
int prevCheckSum = 0;
int sens         = 3; // Sensitivity theshold, to prevent small changes in 
                      // pot values from triggering false reporting
// FLAGS
int PRINT = 1; // Set to 1 to output values
int DEBUG = 1; // Set to 1 to turn on debugging output
 
void setup()
{
  pinMode(aOut, OUTPUT);   // sets the digital pins as output
  pinMode(bOut, OUTPUT);   
  pinMode(cOut, OUTPUT); 
  Serial.begin(9600);     // Open serial communication for reporting
}
 
void loop()
{
  i += 1; // Count loop
 
  aVal = analogRead(aIn) / 4;  // read input pins, convert to 0-255 scale
  bVal = analogRead(bIn) / 4; 
  cVal = analogRead(cIn) / 4;  
 
  analogWrite(aOut, aVal);    // Send new values to LEDs
  analogWrite(bOut, bVal);
  analogWrite(cOut, cVal);
 
  if (i % wait == 0)                // If enough time has passed...
  {    
    checkSum = aVal+bVal+cVal;      // ...add up the 3 values.
    if ( abs(checkSum - prevCheckSum) > sens )   // If old and new values differ 
                                                  // above sensitivity threshold
    {
      if (PRINT)                    // ...and if the PRINT flag is set...
      {
        Serial.print("A: ");        // ...then print the values.
        Serial.print(aVal);         
        Serial.print("\t"); 
        Serial.print("B: ");        
        Serial.print(bVal);
        Serial.print("\t");
        Serial.print("C: ");                
        Serial.println(cVal); 
        PRINT = 0;
      }
    }  
    else
    {
      PRINT = 1;  // Re-set the flag   
    } 
    prevCheckSum = checkSum;  // Update the values
 
    if (DEBUG)   // If we want debugging output as well...
    {
      Serial.print(checkSum);
      Serial.print("<=>");
      Serial.print(prevCheckSum);
      Serial.print("\tPrint: ");
      Serial.println(PRINT);
    }
  }
}
 
IMG_1249.JPG
0
Your rating: None
Posted by rami

rami's picture

 

IMG_20110209_125300.jpg
0
Your rating: None
Posted by Avery

Avery's picture

0
Your rating: None