void setup() {
  //Alle Outputs
  pinMode(13, OUTPUT); // Pin 14 auf der Platine
  pinMode(12, OUTPUT); // Pin 1 auf der Platine
  pinMode(11, OUTPUT); // Pin 2 auf der Platine
  pinMode(10, OUTPUT); // Pin 3 auf der Platine
  pinMode(9, OUTPUT); // Pin 4 auf der Platine
  pinMode(8, OUTPUT); // Pin 5 auf der Platine
  pinMode(7, OUTPUT); // Pin 6 auf der Platine
  pinMode(6, OUTPUT); // Pin 7 auf der Platine
  pinMode(5, OUTPUT); // Pin 8 auf der Platine
  pinMode(4, OUTPUT); // Pin 9, 10, 11 auf der Platine
  pinMode(3, OUTPUT); // Pin 13 auf der Platine
  pinMode(2, OUTPUT); // Pin 12 auf der Platine
  pinMode(A0, OUTPUT); // Pin 15 auf der Platine
  pinMode(A1, OUTPUT); // Pin 16 auf der Platine
  pinMode(A4, OUTPUT); // Pin 17 auf der Platine
  pinMode(A5, OUTPUT); // Pin 18 auf der Platine
  // Pin 19 und 20 sind nicht besetzt

  //Alle Inputs
  pinMode(A2, INPUT); //Input vom LDR
  pinMode(A3, INPUT); //Input von S2
  pinMode(A6, INPUT); //Input von S3
  pinMode(A7, INPUT); //Input von S4
}

void loop() {
  if (digitalRead(A3) == HIGH)   // wenn der Taster mit einem externen Pulldown Widerstand angeschlossen ist und bei Tastendruck gegen 5V schließt.
  {
    einAblauf();
  }
}

void einAblauf()
{
  digitalWrite(12, HIGH);
  delay(50);
  digitalWrite(12, LOW);
  delay(50);
  digitalWrite(11, HIGH);
  delay(50);
  digitalWrite(11, LOW);
  delay(50);
  digitalWrite(10, HIGH);
  delay(50);
  digitalWrite(10, LOW);
  delay(50);
  digitalWrite(9, HIGH);
  delay(50);
  digitalWrite(9, LOW);
  delay(50);
  digitalWrite(8, HIGH);
  delay(50);
  digitalWrite(8, LOW);
  delay(50);
  digitalWrite(7, HIGH);
  delay(50);
  digitalWrite(7, LOW);
  delay(50);
  digitalWrite(6, HIGH);
  delay(50);
  digitalWrite(6, LOW);
  delay(50);
  digitalWrite(5, HIGH);
  delay(50);
  digitalWrite(5, LOW);
  delay(50);
  digitalWrite(4, HIGH);
  delay(50);
  digitalWrite(4, LOW);
  delay(50);           //Erste Hälfte

  digitalWrite(2, HIGH);
  delay(50);
  digitalWrite(2, LOW);
  delay(50);
  digitalWrite(3, HIGH);
  delay(50);
  digitalWrite(3, LOW);
  delay(50);
  digitalWrite(13, HIGH);
  delay(50);
  digitalWrite(13, LOW);
  delay(50);
  digitalWrite(A0, HIGH);
  delay(50);
  digitalWrite(A0, LOW);
  delay(50);
  digitalWrite(A1, HIGH);
  delay(50);
  digitalWrite(A1, LOW);
  delay(50);
  digitalWrite(A4, HIGH);
  delay(50);
  digitalWrite(A4, LOW);
  delay(50);
  digitalWrite(A5, HIGH);
  delay(50);
  digitalWrite(A5, LOW);
  delay(50);
}