Poc DualCore
This commit is contained in:
78
ESP32/DualCore/DualCore.ino
Normal file
78
ESP32/DualCore/DualCore.ino
Normal file
@@ -0,0 +1,78 @@
|
||||
#include <Arduino.h>
|
||||
#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);
|
||||
// }
|
||||
// }
|
||||
Reference in New Issue
Block a user