From 2eee8e28e26b0104db4b882031dc9976b82a2c6b Mon Sep 17 00:00:00 2001 From: Taras Panechko Date: Fri, 28 Mar 2025 21:09:31 +0200 Subject: [PATCH 1/3] add first lab --- .../mc_lab_01/Panechko_Taras_Lab_1/lab.ino | 150 ++++++++++++++++++ .../mc_lab_01/Panechko_Taras_Lab_1/schema.png | Bin 0 -> 41921 bytes 2 files changed, 150 insertions(+) create mode 100644 mc_labs/mc_lab_01/Panechko_Taras_Lab_1/lab.ino create mode 100644 mc_labs/mc_lab_01/Panechko_Taras_Lab_1/schema.png diff --git a/mc_labs/mc_lab_01/Panechko_Taras_Lab_1/lab.ino b/mc_labs/mc_lab_01/Panechko_Taras_Lab_1/lab.ino new file mode 100644 index 0000000..c077eb6 --- /dev/null +++ b/mc_labs/mc_lab_01/Panechko_Taras_Lab_1/lab.ino @@ -0,0 +1,150 @@ +#include +#include + +const char* ssid = "Galaxy S20 FE 5G"; +const char* password = "0985211834"; + +ESP8266WebServer server(80); + +const int ledPins[] = {13, 0, 2}; // LEDs on pins 13, 0, 2 +const int buttonPin = 15; // Button on pin 15 + +const int ledInterval = 500; // Time between LED changes +const int debounceTime = 50; // Button debounce time +const int doubleClickTime = 300; // Time for double click + +int currentLedIndex = 0; +bool reverseDirection = false; +bool isRunning = false; +bool buttonIsPressed = false; + +unsigned long lastDebounce = 0; +unsigned long lastClick = 0; +unsigned long lastWebClick = 0; + +int clickCount = 0; +int webClickCount = 0; + +void setup() { + WiFi.begin(ssid, password); + Serial.begin(115200); + + while (WiFi.status() != WL_CONNECTED) { + delay(1000); + Serial.print("."); + } + + Serial.println("\nIP Address: " + WiFi.localIP().toString()); + + pinMode(buttonPin, INPUT_PULLUP); + for (int ledPin : ledPins) { + pinMode(ledPin, OUTPUT); + } + + server.on("/", handleWebPage); + server.on("/click", handleButtonClick); + server.begin(); +} + +void loop() { + server.handleClient(); + handleButtonInput(); + handleDoubleClick(); + updateLeds(); +} + +void handleWebPage() { + String html = " +

LED Control

+ + "; + server.send(200, "text/html", html); +} + +void handleButtonClick() { + unsigned long currentTime = millis(); + + if (currentTime - lastWebClick < doubleClickTime) { + webClickCount++; + } else { + webClickCount = 1; + } + lastWebClick = currentTime; + + if (webClickCount == 2) { + isRunning = !isRunning; + if (isRunning) { + reverseDirection = !reverseDirection; + Serial.println("Direction changed (Web)"); + } + webClickCount = 0; + } + server.send(200, "text/plain", "OK"); +} + +void handleButtonInput() { + unsigned long currentTime = millis(); + int buttonState = digitalRead(buttonPin); + static bool lastButtonState = HIGH; + + if (buttonState != lastButtonState) { + lastDebounce = currentTime; + lastButtonState = buttonState; + } + + if ((currentTime - lastDebounce) > debounceTime) { + if (buttonState == LOW && !buttonIsPressed) { + buttonIsPressed = true; + if (currentTime - lastClick < doubleClickTime) { + clickCount++; + } else { + clickCount = 1; + } + lastClick = currentTime; + lastButtonState = HIGH; + } else if (buttonState == HIGH && buttonIsPressed) { + buttonIsPressed = false; + } + } +} + +void handleDoubleClick() { + if (clickCount == 2) { + isRunning = !isRunning; + clickCount = 0; + if (isRunning) { + reverseDirection = !reverseDirection; + Serial.println("Direction changed (Button)"); + } + } +} + +void updateLeds() { + if (!isRunning) { + for (int ledPin : ledPins) { + digitalWrite(ledPin, LOW); + } + return; + } + + unsigned long currentTime = millis(); + static unsigned long lastLedChange = 0; + + if (currentTime - lastLedChange > ledInterval) { + lastLedChange = currentTime; + + digitalWrite(ledPins[currentLedIndex], LOW); + + if (reverseDirection) { + currentLedIndex = (currentLedIndex - 1 + 3) % 3; + } else { + currentLedIndex = (currentLedIndex + 1) % 3; + } + + digitalWrite(ledPins[currentLedIndex], HIGH); + } +} \ No newline at end of file diff --git a/mc_labs/mc_lab_01/Panechko_Taras_Lab_1/schema.png b/mc_labs/mc_lab_01/Panechko_Taras_Lab_1/schema.png new file mode 100644 index 0000000000000000000000000000000000000000..17d6c149108ae575724e316abeb4b3b24beffeb5 GIT binary patch literal 41921 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%0A2{PeE=>Z*4etmQ_pjQQ#+o0c+na9Yx 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 literal 0 HcmV?d00001 From 96b55e6cc297242c75908c78424d87d1189e2ae1 Mon Sep 17 00:00:00 2001 From: Taras Panechko Date: Fri, 28 Mar 2025 21:17:45 +0200 Subject: [PATCH 2/3] add first lab --- mc_labs/mc_lab_01/Panechko_Taras_Lab_1/lab.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mc_labs/mc_lab_01/Panechko_Taras_Lab_1/lab.ino b/mc_labs/mc_lab_01/Panechko_Taras_Lab_1/lab.ino index c077eb6..08a0c6a 100644 --- a/mc_labs/mc_lab_01/Panechko_Taras_Lab_1/lab.ino +++ b/mc_labs/mc_lab_01/Panechko_Taras_Lab_1/lab.ino @@ -11,7 +11,7 @@ const int buttonPin = 15; // Button on pin 15 const int ledInterval = 500; // Time between LED changes const int debounceTime = 50; // Button debounce time -const int doubleClickTime = 300; // Time for double click +const int doubleClickTime = 300; int currentLedIndex = 0; bool reverseDirection = false; From 3aa2debf82a75c71e167249e09afc7f71631365b Mon Sep 17 00:00:00 2001 From: Taras Panechko Date: Fri, 28 Mar 2025 21:23:19 +0200 Subject: [PATCH 3/3] add first lab --- .../Panechko_Taras_Lab_1/{lab.ino => Panechko_Taras_Lab_1.ino} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mc_labs/mc_lab_01/Panechko_Taras_Lab_1/{lab.ino => Panechko_Taras_Lab_1.ino} (100%) diff --git a/mc_labs/mc_lab_01/Panechko_Taras_Lab_1/lab.ino b/mc_labs/mc_lab_01/Panechko_Taras_Lab_1/Panechko_Taras_Lab_1.ino similarity index 100% rename from mc_labs/mc_lab_01/Panechko_Taras_Lab_1/lab.ino rename to mc_labs/mc_lab_01/Panechko_Taras_Lab_1/Panechko_Taras_Lab_1.ino