Light controller
by BARRAGAN <http://barraganstudio.com>

Demonstrates the use of analog input to turn on a a number of lights according to the analog value read, the lower the fewer lights are turn on, the higher, more of them are on. Lights (LEDs) are attached to digital pins 0 to 7

Created 5 February 2004
Revised 4 April 2007
 

   
// Light controller 
// by BARRAGAN <http://barraganstudio.com> 

int resistorPin = 0;           // slider variable connected to analog pin 0 
int value = 0;                 // variable to read the value from the analog pin 
 
void setup() 
{ 
  int i; 
  for(i = 0; i<8; i++) 
  { 
    pinMode(i, OUTPUT);        // initializes digital pins 0 to 7 as outputs 
  } 
} 
 
void turn_all_off()            // function that turns off all the lights 
{                              // connected on digital pins 0 to 7 
  int i; 
  for(i = 0; i < 8; i++) 
  { 
    digitalWrite(i, LOW); 
  } 
} 
 
void loop() 
{ 
  turn_all_off();                    // turns off all lights 
  value = analogRead(resistorPin);   // reads the value of the variable resistor 
                                     // connected to analog pin 0. 
                                     // posible values are betwwen 0 and 1024 
                                     // where 0 corresponds to 0 volts and 1024 to 5 volts 
                                     
  if(value >= 0)                     // turns on as many lights according to the value read 
    digitalWrite(0, HIGH);           
  if(value >= 128) 
    digitalWrite(1, HIGH); 
  if(value >= 256) 
    digitalWrite(2, HIGH); 
  if(value >= 384) 
    digitalWrite(3, HIGH); 
  if(value >= 512) 
    digitalWrite(4, HIGH); 
  if(value >= 640) 
    digitalWrite(5, HIGH); 
  if(value >= 768) 
    digitalWrite(6, HIGH); 
  if(value >= 896) 
    digitalWrite(7, HIGH); 
  delay(100);                        // waits 100 milli seconds for next reading 
} 
           
     
           
           
           
     
           
           
           
       
           
           
    Circuit schematics: each LED is individually connected to Wiring digital pins 0 to 7. The potentiometer is connected to Wiring analog input pin 0.