Programmierung einer Garagentorsteuerung

const byte schalterPin = 2;
const byte ausgang = 10;
bool lastSchalter;
unsigned long startZeit;

void setup()
{
  pinMode(ausgang, OUTPUT);
  pinMode(schalterPin, INPUT_PULLUP);
  lastSchalter = digitalRead(schalterPin);
}

void loop()
{
  if (digitalRead(schalterPin) != lastSchalter)
  {
    lastSchalter = !lastSchalter;
    digitalWrite(ausgang, HIGH);
    startZeit = millis();
  }
  if (millis() - startZeit > 1000 && digitalRead(ausgang) == HIGH)
    digitalWrite(ausgang, LOW);
}