Hallo liebe comunety,

Habe ein Programm zur Rolladensteuerung geschrieben leider weißt das Programm noch Fehler auf und ich kann diese nicht finden.

Hab das erste mal mit millis programmiert und nicht mit delay.

Bitte um nachsicht ich versuche noch zu lernen.

const int buttonPin  = 7;
     int RolloAb    = 3;
     int RolloAuf   = 4;
     int Hupe       = 5;
     int Lampe      = 6;
     int myTimer    = 0;
     int myTimer2   = 0;
     int myTimer3   = 0;
     long myTimeout = 20000;
     long myTimeout2 = 20000;
     long myTimeout3 = 2000;
void setup() {
 pinMode (buttonPin, INPUT_PULLUP);
 pinMode (RolloAb,  OUTPUT);
 pinMode (RolloAuf, OUTPUT);
 pinMode (Hupe,     OUTPUT);
 pinMode (Lampe,    OUTPUT);
}
void loop()                            {
 digitalRead(buttonPin);
 delay(20);
 if(buttonPin == HIGH);               {
   myTimer2 = millis();
   digitalWrite(Lampe, HIGH);
  if(millis() < myTimer + myTimeout)  {
   digitalWrite(RolloAb, HIGH);
  if(millis() < myTimer3 + myTimeout3) {
    myTimer3 = millis();
    if(Hupe == LOW)                   {
    digitalWrite(Hupe,HIGH);
 }
   if(Hupe == HIGH)                   {
   digitalWrite(Hupe,LOW);
 }
 }
 }
 }
 if(buttonPin == LOW);                {
   myTimer = millis();
  if(millis() < myTimer2 + myTimeout2) {
   digitalWrite(RolloAuf, HIGH);
  }
  }
}

Zum Ablauf des Programmes:

bei betätigung des schalters soll der Rollo nach unten fahren.

Zeitgleich soll eine Hupe schalten und ein getaktetes akustisches Signal ausgeben.

Die Warnleuchte soll auch während der fahrt nach unten Läuchten.

Beim rücksetzen des Tasters soll der Rollo wieder noch oben fahren dabei sind Lampe und Hupe NICHT aktiv.

Danke für Ihre Hilfe

Mit freundlichen Grüßen

Paul