| 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 |

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

    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;
      }
    }

|  | Circuit schematics: each LED is individually connected to Wiring digital pins 0 to 7.