Nyala-mati itu gampang. Sekarang kita atur seberapa terang.
Garis tinggi = LED nyala, garis rendah = LED mati. Di kode ini satu putaran berulang 5000 kali per detik, jadi mata melihat rata-ratanya: makin lama nyala dalam satu putaran, makin terang. Ilustrasi skematis buatan sendiri.
Pilih sesuai versi ESP32 core yang terpasang di Arduino IDE kamu (cek di Boards Manager).
#define LED_PIN 4
void setup() {
ledcAttach(LED_PIN, 5000, 8); // pin, frekuensi, resolusi 8-bit (0-255)
}
void loop() {
for (int b = 0; b <= 255; b++) {
ledcWrite(LED_PIN, b);
delay(10);
}
for (int b = 255; b >= 0; b--) {
ledcWrite(LED_PIN, b);
delay(10);
}
}
#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 loop() {
for (int b = 0; b <= 255; b++) {
ledcWrite(PWM_CHANNEL, b);
delay(10);
}
for (int b = 255; b >= 0; b--) {
ledcWrite(PWM_CHANNEL, b);
delay(10);
}
}
Hitungan dari kodenya: 256 langkah × delay 10 ms ≈ 2,5 detik per arah. Ilustrasi skematis buatan sendiri.
Naik sekitar 2,5 detik, turun sekitar 2,5 detik. Sabar nunggu ya.
Error ledc? Berarti salah tab. Coba tab satunya.
LED-nya sudah bisa diatur. Tinggal satu level lagi.