22012026---Laufendes-2026-704-100 ---Der Digispark soll ohne „delay“ blinken.

---------------Der Text zum Eingeben in das Arduino-Werkzeug, mit zusätzlichen Anmerkungen----------------------------------------------------------------------

const int La1 = 1;   
const int La2 = 2;  
const int La3 = 3;  
Es spielen die drei Lampen der LED-Ampel von AZ-Delivery mit.
Sie hängen an den Buchsen 1,2,3 des Digispark
Die Zahlenwerte sind „const“ = ab jetzt unveränderlich.
Die Zahlenwerte sind „int“ = nicht zu große Ganzzahlen.

int Lampenzustand = LOW;  
Der Anfangswert von „Lampenzustand“ ist LOW

unsigned long Altzeitpunkt = 0;	
„Altzeitpunkt“ wird als große Zahl gesehen.
Der Anfangswert ist null.
	
const long Blinkzeitspanne = 200; 
„long“ --->„Blinkzeitspanne“ wird als große Zahl gesehen.
„const“ --→ Es wird ab hier als unveränderliche Zahl angesehen. Das heißt, wir legen den Zahlenwert an dieser Stelle einmal fest und so bleibt er dann.
Der Anfangszahlenwert bleibt auch später so und ist 200.

void setup()    {  
  pinMode(La1, OUTPUT);
  pinMode(La2, OUTPUT);  
  pinMode(La3, OUTPUT);
Die Buchsen von La1, La2, La3 sind Ausgangsbuchsen

 digitalWrite(La1, LOW);
 digitalWrite(La2, LOW);
 digitalWrite(La3, LOW);  
Die Buchsen von La1, La2, La3 haben den Anfangswert LOW. 
Später ändert sich nur der Wert von La2. Die anderen beiden Buchsen werden später nicht mehr erwähnt und bleiben deshalb auf LOW. Dadurch wird verhindert, dass die Lampen an den anderen beiden Buchsen ungewollt flackern.
  }  

void loop ()     {   
  unsigned long Ablesezeitpunkt = millis(); 
Der Befehl, die eingebaute Zeituhr „millis“ abzulesen und den Zahlenwert unter der Bezeichnung „Ablesezeitpunkt“ zu speichern.
„unsigned long“ --→ eine möglicherweise sehr große Zahl, dafür wird ein großer Speicherplatz vorgesehen.

  if (Ablesezeitpunkt - Altzeitpunkt >= Blinkzeitspanne)   {  
Falls der Zahlenunterschied der beiden Zeitpunkte kleiner als der Wert von „Blinkzeitspanne“ ist, dann werden die Dinge in der geschweiften Klammer übersprungen und der Rechner geht nach der Klammer weiter und vor der allerletzten Klammer wieder an den Anfang.
    
Falls der Zeitunterschied der beiden Zeitpunkte größer gleich ist dem Wert von „Blinkzeitspanne“, dann geschehen die drei folgenden Dinge, die in der geschweiften Klammer stehen.
    
    Altzeitpunkt = Ablesezeitpunkt;
Der neue Wert für den Altzeitpunkt ist der bislang letzte Wert des Ablesezeitpunktes.

 Lampenzustand = !Lampenzustand;
Der Wert von Lampenzustand wechselt sich von HIGH zu LOW oder andersherum.

    digitalWrite(La2, Lampenzustand);
Schreibe den neuen Wert für Lampenzustand an die Ausgangsbuchse La2.

  }  
Diese Klammer beendet die „if“-Bedingung.

  }  
Das ist die allerletzte geschweifte Klammer und sie beendet den Eingabetext.

---------------Der Text zum Eingeben in das Arduino-Werkzeug ---
---Kopieren und in das Arduinowerkzeug eingeben-------------

const int La1 = 1;   
const int La2 = 2;  
const int La3 = 3;  

int Lampenzustand = LOW;       
unsigned long Altzeitpunkt = 0;
const long Blinkzeitspanne = 200; 

void setup() {
  pinMode(La1, OUTPUT);
  pinMode(La2, OUTPUT);
  pinMode(La3, OUTPUT);

 digitalWrite(La1, LOW);
 digitalWrite(La3, LOW);  
}

void loop () {
  unsigned long Ablesezeitpunkt = millis(); 

  if (Ablesezeitpunkt - Altzeitpunkt >= Blinkzeitspanne) {
    
    Altzeitpunkt = Ablesezeitpunkt;

 Lampenzustand = !Lampenzustand;
    digitalWrite(La2, Lampenzustand);
  }
}