#define LED1 D2 // GPIO2 (D2 di board)
#define BUZZER D3 // GPIO3 (D3 di board)
#define BUTTON D4 // GPIO4 (D4 di board)
void TaskBlinkLED1(void *pvParameters) {
pinMode(LED1, OUTPUT);
bool state = LOW;
while (true) {
state = !state;
digitalWrite(LED1, state);
vTaskDelay(pdMS_TO_TICKS(1000)); // 1 detik delay
}
}
void TaskButtonBUZZER(void *pvParameters) {
pinMode(BUZZER, OUTPUT);
pinMode(BUTTON, INPUT);
while (true) {
if (digitalRead(BUTTON) == HIGH) {
digitalWrite(BUZZER, HIGH);
} else {
digitalWrite(BUZZER, LOW);
}
vTaskDelay(pdMS_TO_TICKS(50)); // debounce dan responsif
}
}
void setup() {
xTaskCreatePinnedToCore(TaskBlinkLED1, "Blink", 1024, NULL, 1, NULL, 1);
xTaskCreatePinnedToCore(TaskButtonBUZZER, "ButtonLED", 1024, NULL, 1, NULL, 1);
}
void loop() {
}
Loading
xiao-esp32-s3
xiao-esp32-s3