int latchPin = 5;	// Latch pin of 74HC595 is connected to Digital pin 5
int clockPin = 6;	// Clock pin of 74HC595 is connected to Digital pin 6
int dataPin = 4;	// Data pin of 74HC595 is connected to Digital pin 4

byte leds = 0;		// Variable to hold the pattern of which LEDs are currently turned on or off
void setup() 
{ pinMode(latchPin, OUTPUT);
  pinMode(dataPin, OUTPUT);  
  pinMode(clockPin, OUTPUT);
}

void loop() 
{ leds = 0;	// Initially turns all the LEDs off, by giving the variable 'leds' the value 0
  updateShiftRegister();
  delay(500);
  for (int i = 0; i < 8; i++)	// Turn all the LEDs ON one by one.
  { 
  bitSet(leds, i); // Set the bit that controls that LED in the variable 'leds'
  updateShiftRegister();
  delay(100);   }
}

void updateShiftRegister()
{  digitalWrite(latchPin, LOW);
   shiftOut(dataPin, clockPin, LSBFIRST, leds);
   digitalWrite(latchPin, HIGH);
}


/*
int latchPin = 5;
int clkPin = 6;
int dataPin = 4;

byte LED = 0;

void setup() 
{ Serial.begin(9600);
  pinMode(latchPin, OUTPUT);
  pinMode(dataPin, OUTPUT);  
  pinMode(clkPin, OUTPUT);
}

void loop() 
{ int i=0;
  LED = 0;
  shiftLED();
  delay(100);
  for (i = 0; i < 8; i++)
  { bitSet(LED, i);
    Serial.println(LED);
    shiftLED();
    delay(100);
  }
}

void shiftLED()
{  digitalWrite(latchPin, LOW);
   shiftOut(dataPin, clkPin, MSBFIRST, LED);
   digitalWrite(latchPin, HIGH);
}  */
$abcdeabcde151015202530354045505560fghijfghij
74HC595