#include <Arduino_FreeRTOS.h>
const uint8_t biru = 11;
const uint8_t hijau = 10;
const uint8_t kuning = 9;
const uint8_t merah = 8;
void setup() {
pinMode(biru, OUTPUT);
pinMode(hijau, OUTPUT);
pinMode(kuning, OUTPUT);
pinMode(merah, OUTPUT);
Serial.begin(115200);
xTaskCreate(task_1, "ini task 1", 100, NULL, 1, NULL);
xTaskCreate(task_2, "ini task 2", 100, NULL, 2, NULL);
xTaskCreate(task_3, "ini task 3", 100, NULL, 3, NULL);
xTaskCreate(task_4, "ini task 4", 100, NULL, 4, NULL);
}
static void task_1(void *pvParameter) {
while (1) {
digitalWrite(biru, 'high');
Serial.println("task 1 running");
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
static void task_2(void *pvParameter) {
while (1) {
digitalWrite(hijau, 'high');
Serial.println("task 2 running");
vTaskDelay(500 / portTICK_PERIOD_MS);
}
}
static void task_3(void *pvParameter) {
while (1) {
digitalWrite(kuning,'high');
Serial.println("task 3 running");
vTaskDelay(200 / portTICK_PERIOD_MS);
}
}
static void task_4(void *pvParameter) {
while (1) {
digitalWrite(merah, 'high');
Serial.println("task 4 running");
vTaskDelay(2000 / portTICK_PERIOD_MS);
}
}
void loop() {
// Tidak ada perintah di sini karena empat tugas akan dijalankan oleh FreeRTOS
}