#if defined(ESP8266)
#include <ESP8266WiFi.h>
#elif defined(ESP32)
#include <WiFi.h>
#endif
#include <Ticker.h> // library untuk membuat timer
// membuat objek Ticker
Ticker ticker;
// set waktu countdown (dalam detik)
const int COUNTDOWN_SECONDS = 10;
// variable untuk menyimpan sisa waktu countdown
int countdown_remaining = COUNTDOWN_SECONDS;
void setup() {
Serial.begin(115200);
// mengatur pin LED sebagai output
pinMode(LED_BUILTIN, OUTPUT);
// memulai koneksi WiFi
WiFi.begin("Wokwi-GUEST", "");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// mulai timer
ticker.attach(1, countdown);
}
void loop() {
// kosongkan loop()
}
void countdown() {
// mengurangi sisa waktu countdown
countdown_remaining--;
// menyalakan LED jika waktu countdown sudah habis
if (countdown_remaining == 0) {
digitalWrite(LED_BUILTIN, HIGH);
ticker.detach(); // menghentikan timer
}
// menampilkan sisa waktu countdown di serial monitor
Serial.println(countdown_remaining);
}