Sterowanie diodą LED za pomocą przerwań
w ESP8266

Wymagane komponenty

Schemat połączeń

Kod Arduino (z wykorzystaniem przerwań)

Skopiuj poniższy kod do Arduino IDE i wgraj na ESP8266:


// Definicje pinów
const int ledPin = D5;      // Pin, do którego podłączona jest dioda LED
const int buttonPin = D6;   // Pin, do którego podłączony jest przycisk

// Zmienna przechowująca stan diody LED
volatile bool ledState = false;

// Funkcja obsługi przerwania
void IRAM_ATTR handleButtonPress() {
  // Zmieniamy stan diody LED (włączamy/wyłączamy)
  ledState = !ledState;
  digitalWrite(ledPin, ledState ? HIGH : LOW);
}

void setup() {
  // Konfiguracja pinu dla diody LED jako wyjście
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW); // Wyłącz diodę LED na początku

  // Konfiguracja pinu dla przycisku jako wejście z wbudowanym rezystorem pull-up
  pinMode(buttonPin, INPUT_PULLUP);

  // Konfiguracja przerwania na zbocze opadające (naciśnięcie przycisku)
  attachInterrupt(digitalPinToInterrupt(buttonPin), handleButtonPress, FALLING);
}

void loop() {
  // Pętla główna jest pusta, gdyż sterowanie odbywa się w funkcji przerwania
}
    

Opis działania

W tym przykładzie:

Wskazówki

Zalety wykorzystania przerwań