int sensorPin = A0; // pin input untuk potentiometer
int ledPin = 9; // pin untuk LED
int sensorValue = 0;
void setup() {
// Inisialisasi komunikasi serial dengan kecepatan 9600 bps
Serial.begin(9600);
}
void loop() {
// Baca nilai dari potentiometer
sensorValue = analogRead(sensorPin);
// Peta nilai sensor ke rentang 0 - 255 untuk output PWM
int outputValue = map(sensorValue, 0, 1023, 0, 255);
// Fade in dari nilai minimum (0) ke maksimum (255) dengan kenaikan 5
for(int fadeValue = 0; fadeValue <= outputValue; fadeValue += 5) {
// Atur nilai PWM untuk LED (range 0 - 255)
analogWrite(ledPin, fadeValue);
// Tunggu selama 30 milidetik untuk efek meredup
delay(30);
}
// Tunggu sejenak sebelum fade out
delay(30);
// Fade out dari nilai maksimum (255) ke minimum (0) dengan penurunan 5
for(int fadeValue = outputValue; fadeValue >= 0; fadeValue -= 5) {
// Atur nilai PWM untuk LED (range 0 - 255)
analogWrite(ledPin, fadeValue);
// Tunggu selama 30 milidetik untuk efek meredup
delay(30);
}
// Tunggu sejenak sebelum loop berikutnya
delay(30);
}