Lampu Hias Meredupkan (Fading) Lampu LED dengan Arduino

Kali ini saya ingin menjelaskan bagaimana cara membuat nyala lampu hias yang terdiri dari 3 lampu LED. Lampu menyala bergantian tetapi nyala LED tidak langsung padam dan menyala, akan tetapi padam dan menyala secara perlahan atau meredup.

Bahan yang dibutuhkan :

  1. Arduino UNO R3
  2. LED x3
  3. Resistor 330 Ohm
  4. Jumper secukupnya

Fading Effect Flip-Flop

Gambar 1. Skema Rangkaian

Bagaimana membuat nyala LED dari terang menjadi redup atau sebaliknya dari redup mejadi terang? Tentunya dengan cara mengatur tegangan listrik yang output diberikan kepada LED. Tegangan listrik yang beragam ini disebut sinyal analog. Pin digital hanya menghasilkan output biner, yaitu menyala dan padam. Jadi tidak ada diantara kedua itu. Sedangkan pin analog hanya bisa sebagai input, tidak bisa sebagai output.

Solusinya adalah menggunakan PWM (Pulse Wide Modulation). Diantara pin digital pada Arduino, ada beberapa yang bisa berperan sebagai PWM. Pin yang dapat berperan sebagai PWM memiliki tanda "~" pada samping angkanya. Pin digital yang bisa berperan sebagai PWM, diantaranya: 3, 5, 6, 9, 10, dan 11. Pada project ini, saya menggunakan pin 9, 10 dan 11.

int pinA = 9;
int pinB = 10;
int pinC = 11;

void setup() {
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
}

void loop() {
fadingTurnOn(pinA, 2);
fadingTurnOff(pinA, 2);
delay(100);

fadingTurnOn(pinB, 2);
fadingTurnOff(pinB, 2);
delay(100);

fadingTurnOn(pinC, 2);
fadingTurnOff(pinC, 2);
delay(100);
}

void fadingTurnOn(int pin, int _delay) {
for (int i = 0; i < 256; i++) {
analogWrite(pin, i);
delay(_delay);
}
}

void fadingTurnOff(int pin, int _delay) {
for (int i = 255; i >= 0; i--) {
analogWrite(pin, i);
delay(_delay);
}
}

Fungsi yang dapat digunakan untuk mengendalikan PWM adalah fungsi analogWrite(). Parameter pertama yang dimasukkan adalah nomor pin PWM dan parameter kedua adalah nilai intensitas. Nilai intensitas yang dapat digunakan yaitu 0 sampai 255.

Pada kode di atas saya membuat dua fungsi, yaitu fungsi fadingTurnOn() untuk menyalakan LED secara perlahan dan fungsi fadingTurnOff() untuk memadamkan LED secara perlahan. Kedua fungsi ini parameter pertamanya adalah pin LED dan parameter kedua adalah nilai penundaan atau delay. Anda dapat memodifikasi fungsi dan perintah di atas untuk menciptakan kreasi animasi LED yang anda inginkan.

Applied Fading Effect Flip-Flop

Gambar 2. Hasil Eksperimen

Sekian isi tulisan kali ini. Semoga bermanfaat untuk project Arduino anda. Ikuti terus eksperimen di lab mini saya. Terimakasih telah berkunjung.

comments powered by Disqus