#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); // } // }