diff --git a/mc_labs/mc_lab_01/Kudyba_Diana_Lab_01/mc-lab1/btn.h b/mc_labs/mc_lab_01/Kudyba_Diana_Lab_01/mc-lab1/btn.h
new file mode 100644
index 0000000..abf38de
--- /dev/null
+++ b/mc_labs/mc_lab_01/Kudyba_Diana_Lab_01/mc-lab1/btn.h
@@ -0,0 +1,14 @@
+bool lastButtonState = HIGH;
+unsigned long lastDebounceTime = 0;
+const unsigned long debounceDelay = 50;
+
+bool readButton() {
+ bool buttonState = digitalRead(BUTTON_PIN);
+ if (buttonState == LOW && lastButtonState == HIGH && (millis() - lastDebounceTime) > debounceDelay) {
+ lastDebounceTime = millis();
+ lastButtonState = buttonState;
+ return true;
+ }
+ lastButtonState = buttonState;
+ return false;
+}
diff --git a/mc_labs/mc_lab_01/Kudyba_Diana_Lab_01/mc-lab1/indexHtml.h b/mc_labs/mc_lab_01/Kudyba_Diana_Lab_01/mc-lab1/indexHtml.h
new file mode 100644
index 0000000..eff942d
--- /dev/null
+++ b/mc_labs/mc_lab_01/Kudyba_Diana_Lab_01/mc-lab1/indexHtml.h
@@ -0,0 +1,56 @@
+const char webPage[] PROGMEM = R"rawliteral(
+
+
+
+
+
+ LED Control
+
+
+
+
+
ESP8266 LED Control
+
+
+
+
+
+
+ )rawliteral";
+
\ No newline at end of file
diff --git a/mc_labs/mc_lab_01/Kudyba_Diana_Lab_01/mc-lab1/mc-lab1.ino b/mc_labs/mc_lab_01/Kudyba_Diana_Lab_01/mc-lab1/mc-lab1.ino
new file mode 100644
index 0000000..c18fe10
--- /dev/null
+++ b/mc_labs/mc_lab_01/Kudyba_Diana_Lab_01/mc-lab1/mc-lab1.ino
@@ -0,0 +1,67 @@
+#include
+#include
+#include "wifi.h"
+#define BUTTON_PIN 14 // Визначаємо кнопку перед підключенням btn.h
+#include "btn.h"
+#include "indexHtml.h"
+
+#define LED_PINS {0, 2, 12}
+
+ESP8266WebServer server(80);
+int leds[] = LED_PINS;
+int numLeds = sizeof(leds) / sizeof(leds[0]);
+bool direction = true;
+int ledIndex = 0;
+
+int ledPatterns[3][2] = {{2, 12}, {2, 0}, {0, 12}};
+int patternIndex = 0;
+
+void handleButtonClick() {
+ direction = !direction; // Зміна напрямку
+ server.send(200, "text/plain", "Button Clicked");
+}
+
+void setup() {
+ Serial.begin(115200);
+ WiFi.begin(ssid, password);
+ while (WiFi.status() != WL_CONNECTED) {
+ delay(500);
+ Serial.print(".");
+ }
+ Serial.println("WiFi connected!");
+ Serial.println(WiFi.localIP());
+
+ pinMode(BUTTON_PIN, INPUT_PULLUP);
+ for (int i = 0; i < numLeds; i++) {
+ pinMode(leds[i], OUTPUT);
+ digitalWrite(leds[i], LOW);
+ }
+
+ server.on("/", []() { server.send(200, "text/html", webPage); });
+ server.on("/toggle", handleButtonClick);
+ server.begin();
+}
+
+void loop() {
+ server.handleClient();
+
+ if (readButton()) {
+ direction = !direction;
+ }
+
+ // Вимикаємо всі світлодіоди
+ for (int i = 0; i < numLeds; i++) {
+ digitalWrite(leds[i], LOW);
+ }
+
+ digitalWrite(ledPatterns[patternIndex][0], HIGH);
+ digitalWrite(ledPatterns[patternIndex][1], HIGH);
+
+ if (direction) {
+ patternIndex = (patternIndex + 1) % 3;
+ } else {
+ patternIndex = (patternIndex - 1 + 3) % 3;
+ }
+
+ delay(300);
+}
diff --git a/mc_labs/mc_lab_01/Kudyba_Diana_Lab_01/mc-lab1/wifi.h b/mc_labs/mc_lab_01/Kudyba_Diana_Lab_01/mc-lab1/wifi.h
new file mode 100644
index 0000000..e072959
--- /dev/null
+++ b/mc_labs/mc_lab_01/Kudyba_Diana_Lab_01/mc-lab1/wifi.h
@@ -0,0 +1,2 @@
+const char* ssid = "Готель Шкло";
+const char* password = "11111111";