From c227eb61d6be5d8aafeac4485e4b1a436e9b66ed Mon Sep 17 00:00:00 2001 From: sieja Date: Thu, 11 Sep 2025 19:48:45 +0200 Subject: [PATCH] Poc DualCore --- ESP32/DualCore/DualCore.ino | 78 +++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 ESP32/DualCore/DualCore.ino diff --git a/ESP32/DualCore/DualCore.ino b/ESP32/DualCore/DualCore.ino new file mode 100644 index 0000000..e1fe9f1 --- /dev/null +++ b/ESP32/DualCore/DualCore.ino @@ -0,0 +1,78 @@ +#include +#include "DHT.h" + +#define LED_PIN 2 +#define DHT_PIN 17 +#define DHT_TYPE DHT22 + +DHT dht(DHT_PIN, DHT_TYPE); + +// Uchwyty do tasków +TaskHandle_t TaskBlink; +// TaskHandle_t TaskDHT; + +float h; +float t; +void setup() { + Serial.begin(115200); + + pinMode(LED_PIN, OUTPUT); + dht.begin(); + + // Task pulsowania LED + xTaskCreatePinnedToCore( + blinkTask, "TaskBlink", 2048, NULL, 1, &TaskBlink, 1); + + // Task odczytu DHT22 + // xTaskCreatePinnedToCore( + // dhtTask, "TaskDHT", 4096, NULL, 1, &TaskDHT, 1); +} + +void loop() { + h = dht.readHumidity(); + t = dht.readTemperature(); + + if (isnan(h) || isnan(t)) { + Serial.println("Błąd odczytu z DHT22!"); + } else { + Serial.printf("Temperatura: %.1f °C | Wilgotność: %.1f %%\n", t, h); + } + + delay(2000 / portTICK_PERIOD_MS); + } + +// --- Task LED PWM --- +void blinkTask(void *pvParameters) { + (void) pvParameters; + + while (1) { + // Rozjaśnianie + for (int i = 0; i <= 255; i++) { + analogWrite(LED_PIN, i); + vTaskDelay(10 / portTICK_PERIOD_MS); + } + // Ściemnianie + for (int i = 255; i >= 0; i--) { + analogWrite(LED_PIN, i); + vTaskDelay(10 / portTICK_PERIOD_MS); + } + } +} + +// // --- Task DHT22 --- +// void dhtTask(void *pvParameters) { +// (void) pvParameters; + +// while (1) { +// h = dht.readHumidity(); +// t = dht.readTemperature(); + +// if (isnan(h) || isnan(t)) { +// Serial.println("Błąd odczytu z DHT22!"); +// } else { +// Serial.printf("Temperatura: %.1f °C | Wilgotność: %.1f %%\n", t, h); +// } + +// vTaskDelay(2000 / portTICK_PERIOD_MS); +// } +// }