#include <Arduino.h>
#define LED_BUILTIN 18
#define potenpin A6
// Deklarasi fungsi task
void Task1(void *pvParameters);
void Task2(void *pvParameters);
void setup() {
// Memulai Serial Monitor
Serial.begin(115200);
// Membuat Task 1
xTaskCreate(
Task1, // Fungsi Task 1
"blink", // Nama Task 1
1000, // Ukuran stack (dalam kata)
NULL, // Parameter task
1, // Prioritas task
NULL // Handle task
);
// Membuat Task 2
xTaskCreate(
Task2, // Fungsi Task 2
"Potensio", // Nama Task 2
1000, // Ukuran stack (dalam kata)
NULL, // Parameter task
1, // Prioritas task
NULL // Handle task
);
}
void loop() {
// Tidak ada kode di loop, semua tugas dilakukan dalam tasks
}
// Implementasi Task 1
void Task1(void *pvParameters) {
(void) pvParameters;
pinMode(LED_BUILTIN, OUTPUT);
for (;;) {
Serial.println("Task 1 running");
digitalWrite(LED_BUILTIN, HIGH); //menyalakan led
vTaskDelay(1000 / portTICK_PERIOD_MS); // Delay 1 detik
digitalWrite(LED_BUILTIN, LOW); //mematikan led
vTaskDelay(1000 / portTICK_PERIOD_MS); // Delay 1 detik
}
}
// Implementasi Task 2
void Task2(void *pvParameters) {
(void) pvParameters;
for (;;) {
Serial.println("Task 2 running");
int sensorValue = analogRead(potenpin); //membaca nilai potensiometer
Serial.print("nilai sensor : ");
Serial.println(sensorValue);
vTaskDelay(2000 / portTICK_PERIOD_MS); // Delay 2 detik
}
}