Program Arduino di atas merupakan contoh implementasi dari efek fading pada sebuah LED menggunakan modul PWM (Pulse Width Modulation) pada pin Arduino. Berikut adalah penjelasan detilnya:
// Mendefinisikan variabel
int led = 9; // Pin PWM tempat LED terhubung
int brightness = 0; // Seberapa terang LED tersebut
int fadeAmount = 5; // Jumlah langkah fading yang diatur
// Setup dijalankan sekali saat Arduino dihidupkan atau di-reset:
void setup() {
// Mendeklarasikan pin 9 sebagai output:
pinMode(led, OUTPUT);
}
// Loop dijalankan berulang kali selama Arduino aktif:
void loop() {
// Mengatur kecerahan di pin 9:
analogWrite(led, brightness);
// Mengubah kecerahan untuk iterasi selanjutnya:
brightness = brightness + fadeAmount;
// Membalik arah fading di ujung-ujung efek fading:
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
// Menunggu selama 30 milidetik untuk melihat efek peredaman
delay(30);
}
Penjelasan program:
Deklarasi Variabel:
- `led`: Menyimpan nomor pin (9) tempat LED terhubung.
- `brightness`: Menyimpan tingkat kecerahan LED.
- `fadeAmount`: Menyimpan jumlah langkah perubahan kecerahan pada setiap iterasi.
Setup Routine (`setup()`):
- Mendeklarasikan pin `led` sebagai output dengan fungsi `pinMode(led, OUTPUT)`.
Loop Routine (`loop()`):
- Mengatur kecerahan LED menggunakan fungsi `analogWrite(led, brightness)`.
- Menambah atau mengurangi nilai `brightness` sesuai dengan `fadeAmount`.
- Membalik arah fading jika `brightness` mencapai batas (0 atau 255).
- Menunggu selama 30 milidetik untuk menciptakan efek peredaman yang terlihat.
Efek yang dihasilkan adalah LED yang semakin terang dan kemudian semakin redup secara berulang, menciptakan efek fading yang halus.