Arduino ShiftOut tramite porta seriale - Help!

Ascolta, Se io metto un Serial.write(1) sul monitor seriale dell'Arduino leggo un carattere senza senso, corrispondente al byte di valore 1, non leggo 0b00000001.
Quindi io temo che il tuo programma lato PC non spedisca i dati in formato byte.

Elimina per ora questo problema e modifica il tuo programma così:

void loop() {
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b10101010);  
  digitalWrite(latchPin, HIGH);
  delay(500);
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b01010101);  
  digitalWrite(latchPin, HIGH);
  delay(500);
}

Ti deve accendere i led alternativamente. Se così funziona, il problema sta nella comunicazione fra PC ed Arduino, altrimenti hai sbagliato i collegamenti dei registri all'Arduino.