smarthome-tricks.de

ESP8266 – LED Wechselblinker mit millis() Funktion

Im folgenden Artikel möchte ich Dir zeigen, wie einfach man einen ESP8266 LED-Wechselblinker mit der Millis-Funktion aufbauen kann.

Im ersten Schritt erstellen wir uns folgende Schaltung nach dem hier gezeigten Schaltplan. Die beiden LEDs werden hierbei mit dem längeren Pin (Plus-Pol) an den digitalen Pins D7 und D8 angeschlossen. Den kürzen Pin der LEDs (Minus-Pol) schließen wir an der GND-Leiste an. Hierfür habe ich mit einer Steckbrücke die GND-Leiste an den GND-Pin des Microcontrollers angeschlossen. Bitte verwendet hier unbedingt die entsprechenden Vorwiderstände für die LEDs. Der folgende Aufbau zeigt einen stark vereinfachten Aufbau ohne die Vorwiderstände.

Ich verwende für meine Projekte die folgenden LEDs:



Im nächsten Schritt erstellen wir den Sketch für die Programmierung des ESP822-Mikrocontrollers.

// Pins definieren 
const int ledPin1 =  D7;
const int ledPin2 =  D8;

// Initialstates definieren
int ledState1 = LOW;
int ledState2 = HIGH;

// Timer-Variablen
long myTimer = 0;
long myTimeout = 100;

void setup() { 
  pinMode(ledPin1, OUTPUT); 
  pinMode(ledPin2, OUTPUT); 
} 

void loop() { 
 if (millis() > myTimeout + myTimer ) {
    myTimer = millis();

    if (ledState1 == LOW) {
      ledState1 = HIGH;
    } else {
      ledState1 = LOW;
    }
    
    if (ledState2 == LOW) {
      ledState2 = HIGH;
    } else {
      ledState2 = LOW;
    }    

    digitalWrite(ledPin1, ledState1);
    digitalWrite(ledPin2, ledState2);
  }  
}

Im Sketch definieren wir zunächst zwei ledPin-Konstanten für die linke (D7) und rechte LED (D8) des Wechselblinker. Zudem definieren wir noch zwei zusätzliche timer Variablen. In der Setup()-Methode definieren wir die beiden Pins über die pinMode Methode als Ouput-Pins. In der Loop()-Methode ermitteln wir die Anzahl Millisekunden seit Start der Sketch-Ausführung und prüfen diese, ob diese größer der letzten Ausführung inklusive des Timeouts von 100 Milliksekunden ist. Über dieses Timeout wird dann auch die Geschwindigkeit des Wechselblinkers definiert.

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer 🙂

Die mobile Version verlassen