// Swing LED
// by BARRAGAN <http://barraganstudio.com>

// Demonstrates the use of digital pins to turn on one light (LED) at a time
// in a row of 8, one after the other.

// Created 5 December 2003
// Revised 1 May 2007

int which = 0;                 // variable the keeps which light must be turn on next

void turn_all_off()            // function to turn off all the lights 
{                              // connected to digital pins 0 to 7
  int i;
  for(i=0; i<8; i++) 
  {
    digitalWrite(i, LOW);
  }
}

void setup() 
{
  int i;
  for(i=0; i<8; i++)           // initializes pins 0 to 7 as outputs
  {
    pinMode(i, OUTPUT);  
  }
}

void loop() 
{
  turn_all_off();              // turns all lights off
  digitalWrite(which, HIGH);   // sets on the current light on
  delay(200);                  // waits for 200 milli seconds
  which = which + 1;           // increment the variable to turn on the next one next time
  if(which > 7)                // check for the range, if greater then 7 goes back to 0
  {
    which = 0;
  }
}


