/*
* ESP32 PWM Multiple LED
* Mengontrol 3 LED dengan satu channel PWM
*/
// Pin definitions
const int ledPin1 = 16; // GPIO16
const int ledPin2 = 17; // GPIO17
const int ledPin3 = 5; // GPIO5
// PWM properties
const int freq = 5000;
const int resolution = 8;
void setup() {
Serial.begin(115200);
Serial.println("ESP32 Multiple LED PWM - Started");
// Attach all pins to PWM with same settings
ledcAttach(ledPin1, freq, resolution);
ledcAttach(ledPin2, freq, resolution);
ledcAttach(ledPin3, freq, resolution);
}
void loop() {
// All LEDs will have synchronized brightness
for(int dutyCycle = 0; dutyCycle <= 255; dutyCycle++) {
ledcWrite(ledPin1, dutyCycle);
ledcWrite(ledPin2, dutyCycle);
ledcWrite(ledPin3, dutyCycle);
delay(15);
}
for(int dutyCycle = 255; dutyCycle >= 0; dutyCycle--) {
ledcWrite(ledPin1, dutyCycle);
ledcWrite(ledPin2, dutyCycle);
ledcWrite(ledPin3, dutyCycle);
delay(15);
}
}