// Pin untuk LED
const int ledPins[] = {11, 10, 9};
// Pin untuk tombol
const int buttonPins[] = {A0, A1, A2};
int currentLED = 0;
int brightness[] = {0, 0, 0};
void setup() {
Serial.begin(9600);
for (int i = 0; i < 3; i++) {
pinMode(ledPins[i], OUTPUT);
}
for (int i = 0; i < 3; i++) {
pinMode(buttonPins[i], INPUT_PULLUP);
}
}
void loop() {
static bool initialPrint = true;
if (initialPrint) {
Serial.println("TombolMerah : Pilih LED");
Serial.println("TombolKuning : (-) PWM LED");
Serial.println("TombolHijau : (+) PWM LED");
Serial.print("LED terpilih : ");
Serial.println(currentLED + 1);
initialPrint = false;
}
if (digitalRead(buttonPins[0]) == LOW) {
currentLED = (currentLED + 1) % 3;
Serial.print("LED terpilih : ");
Serial.println(currentLED + 1);
delay(300); // Debouncing
}
if (digitalRead(buttonPins[1]) == LOW) {
brightness[currentLED] = max(0, brightness[currentLED] - 1);
printBrightness();
delay(100); // Debouncing
}
if (digitalRead(buttonPins[2]) == LOW) {
brightness[currentLED] = min(255, brightness[currentLED] + 1);
printBrightness();
delay(100); // Debouncing
}
for (int i = 0; i < 3; i++) {
analogWrite(ledPins[i], brightness[i]);
}
}
void printBrightness() {
Serial.println("Kecerahan:");
for (int i = 0; i < 3; i++) {
Serial.print("LED ");
Serial.print(i + 1);
Serial.print(": ");
Serial.println(brightness[i]);
}
}