Level terakhir Fase 1. Kamu sudah bisa colok, kedip, dan atur terang-redup. Sekarang kamu yang atur kecepatannya.
Alur program di contoh jawaban, dari kiri ke kanan lalu kembali ke awal. Ilustrasi skematis buatan sendiri.
delay(10) di dalam loop fade jadi delay(30), upload ulang. Perhatikan: napas LED jadi lebih lambat (sekitar 7,7 detik per arah: 256 langkah x 30 ms).delay(3). Perhatikan: napas jadi lebih cepat (sekitar 0,8 detik per arah: 256 langkah x 3 ms).#define LED_PIN 4
void setup() {
ledcAttach(LED_PIN, 5000, 8); // pin, frekuensi, resolusi 8-bit (0-255)
}
void kedipCepat(int kali) {
for (int i = 0; i < kali; i++) {
ledcWrite(LED_PIN, 255);
delay(100);
ledcWrite(LED_PIN, 0);
delay(100);
}
}
void loop() {
kedipCepat(3);
for (int b = 0; b <= 255; b++) { ledcWrite(LED_PIN, b); delay(20); }
for (int b = 255; b >= 0; b--) { ledcWrite(LED_PIN, b); delay(20); }
}
#define LED_PIN 4
#define PWM_CHANNEL 0
void setup() {
ledcSetup(PWM_CHANNEL, 5000, 8); // channel, frekuensi, resolusi 8-bit
ledcAttachPin(LED_PIN, PWM_CHANNEL);
}
void kedipCepat(int kali) {
for (int i = 0; i < kali; i++) {
ledcWrite(PWM_CHANNEL, 255);
delay(100);
ledcWrite(PWM_CHANNEL, 0);
delay(100);
}
}
void loop() {
kedipCepat(3);
for (int b = 0; b <= 255; b++) { ledcWrite(PWM_CHANNEL, b); delay(20); }
for (int b = 255; b >= 0; b--) { ledcWrite(PWM_CHANNEL, b); delay(20); }
}
Catatan: kedipCepat pakai ledcWrite supaya cocok dengan pin yang sudah diatur PWM. Kalau ada perilaku aneh di board kamu, laporkan supaya dicek ulang — bagian ini belum diuji di board nyata.
Kamu bisa jelasin beda digitalWrite sama ledcWrite? Berarti kamu paham.
Poin 1-3 sudah cukup. Poin 4 itu bonus.
Fase 2 (tombol, sensor, Wi-Fi) akan dibuka setelah materinya siap dan diuji di board nyata.
Fase 1 resmi tuntas. Sampai ketemu di peta!