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 przycisku
bool buttonState = false;
bool lastButtonState = false;
// Zmienna przechowująca stan diody LED
bool ledState = false;
void setup() {
// Konfiguracja pinu dla diody LED jako wyjście
pinMode(ledPin, OUTPUT);
// Konfiguracja pinu dla przycisku jako wejście
pinMode(buttonPin, INPUT);
// Wyłącz diodę LED na początku
digitalWrite(ledPin, LOW);
}
void loop() {
// Odczyt aktualnego stanu przycisku
buttonState = digitalRead(buttonPin);
// Sprawdzenie, czy przycisk został naciśnięty (zbocze narastające)
if (buttonState == HIGH && lastButtonState == LOW) {
// Zmieniamy stan diody LED (włączamy/wyłączamy)
ledState = !ledState;
digitalWrite(ledPin, ledState ? HIGH : LOW);
delay(50); // Opóźnienie na debounce
}
// Zapisujemy aktualny stan przycisku
lastButtonState = buttonState;
// Krótkie opóźnienie, aby uniknąć zakłóceń
delay(10);
}
W tym przykładzie:
pinMode(buttonPin, INPUT_PULLUP);