Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Minggu, 10 Mei 2026

Arduino LED Fade - Cara Membuat Efek Fade In dan Fade Out pada LED

Selain menyalakan dan mematikan LED, Arduino juga bisa digunakan untuk membuat efek cahaya yang lebih halus, seperti fade in dan fade out. Efek ini membuat LED menyala perlahan dari redup ke terang, lalu kembali redup secara bertahap. Pada artikel ini, kita akan belajar beberapa cara membuat efek LED fade menggunakan Arduino, mulai dari metode sederhana dengan delay(), teknik yang lebih responsif menggunakan millis(), hingga penggunaan library ezLED agar kode lebih praktis dan mudah dibaca.

Komponen yang Dibutuhkan

- Arduino UNO

- DIYables STEM V3 (kompatibel dengan Arduino UNO R3)

- Kabel USB

- Breadboard

- Kabel jumper

- LED

- Resistor 220 Ohm

- Push button (opsional)

- LED module (opsional)

Mengenal Cara Kerja LED Fade

Efek fade pada LED dibuat menggunakan sinyal PWM (Pulse Width Modulation). Berbeda dengan output digital biasa yang hanya memiliki kondisi:

- HIGH → LED ON

- LOW → LED OFF

PWM memungkinkan Arduino menghasilkan tegangan “semu” dengan nilai tertentu sehingga kecerahan LED bisa diatur. 

Memahami Nilai PWM

Pada Arduino, nilai PWM berada pada rentang 0 ≤ PWM ≤ 255.

Artinya:

- 0 → LED mati total

- 255 → LED menyala penuh

- Nilai di antaranya → LED menyala dengan tingkat kecerahan tertentu

Semakin besar nilai PWM, semakin terang LED.

Pin PWM pada Arduino

Tidak semua pin Arduino mendukung PWM. Pada Arduino UNO, pin PWM biasanya ditandai simbol (~). Contohnya:

- 3

- 5

- 6

- 9

- 10

- 11

Dalam tutorial ini kita akan menggunakan pin 9.

Cara Menghubungkan LED ke Arduino

Hubungkan rangkaian seperti berikut:

- Pin 9 Arduino → resistor 220 Ohm → anoda LED

- Katoda LED → GND

⚠️ Jangan lupa menggunakan resistor agar LED tidak rusak.


Mengatur Kecerahan LED dengan analogWrite()

Untuk menghasilkan sinyal PWM, Arduino menggunakan fungsi:

 

analogWrite(pin, brightness);

 

Contoh:

 

analogWrite(9, 128);

 

Artinya LED menyala sekitar setengah terang.

Membuat Efek Fade Menggunakan delay()

Metode pertama adalah cara paling sederhana dan sering digunakan pemula.

Kode Program

 

#define LED_PIN 9


int brightness = 0;

int fadeAmount = 5;


void setup() {

  pinMode(LED_PIN, OUTPUT);

}


void loop() {


  analogWrite(LED_PIN, brightness);


  brightness = brightness + fadeAmount;


  if (brightness <= 0 || brightness >= 255) {

    fadeAmount = -fadeAmount;

  }


  delay(30);

}

 

Cara Kerja Program

1. LED mulai dari kondisi redup

2. Nilai brightness terus bertambah

3. Saat mencapai 255, arah berubah

4. Brightness mulai berkurang

5. Proses terus berulang

Hasilnya LED terlihat fade in dan fade out secara terus-menerus.

Penjelasan Bagian Penting Kode

1. Variabel brightness

 

int brightness = 0;

 

Digunakan untuk menyimpan tingkat kecerahan LED.

2. Variabel fadeAmount

 

int fadeAmount = 5;

 

Menentukan seberapa cepat perubahan brightness.

Semakin besar nilainya:

- Fade semakin cepat

Semakin kecil nilainya:

- Fade semakin halus

3. Membalik Arah Fade

 

if (brightness <= 0 || brightness >= 255)

 

Saat brightness mencapai batas minimum atau maksimum, arah perubahan dibalik.

Kelemahan Menggunakan delay()

Meskipun mudah dipahami, metode ini memiliki kekurangan.

Saat menjalankan:

 

delay(30);

 

Arduino berhenti sementara dan tidak bisa menjalankan tugas lain.

Akibatnya:

- Sensor bisa terlambat dibaca

- Tombol bisa tidak terdeteksi

- Program menjadi kurang responsif

Oleh karena itu, pada project yang lebih kompleks biasanya digunakan metode non-blocking menggunakan millis().

Membuat LED Fade Tanpa delay()

Sekarang kita akan membuat efek fade yang lebih smooth tanpa menghambat program lain.

Kode Program

 

#define LED_PIN 9

#define FADE_PERIOD 3000


unsigned long fadeStartTime;


void setup() {

  pinMode(LED_PIN, OUTPUT);


  fadeStartTime = millis();

}


void loop() {


  unsigned long progress = millis() - fadeStartTime;


  if (progress <= FADE_PERIOD) {


    long brightness = map(progress, 0, FADE_PERIOD, 0, 255);


    analogWrite(LED_PIN, brightness);


  } else {


    fadeStartTime = millis();

  }

}

 

Apa yang Berbeda dari Sebelumnya?

Pada metode ini:

- Tidak menggunakan delay()

- Arduino tetap bisa menjalankan tugas lain

- Fade terlihat lebih smooth

- Program lebih responsif

Teknik seperti ini sering digunakan dalam project Arduino yang lebih profesional.

Memahami Fungsi millis()

Fungsi:

 

millis()

 

- Digunakan untuk menghitung waktu sejak Arduino dinyalakan.

- Dengan teknik ini kita bisa mengatur timing tanpa menghentikan seluruh program.

Fungsi map() pada LED Fade

Bagian penting lainnya adalah:

 

map(progress, 0, FADE_PERIOD, 0, 255);

 

Fungsi map() digunakan untuk mengubah nilai dari satu range ke range lain. Dalam kasus ini:

- waktu → diubah menjadi nilai brightness PWM

Kenapa Metode ini Lebih Baik?

Keuntungan menggunakan millis():

- LED fade lebih halus

- Tidak blocking

- Bisa menjalankan banyak task sekaligus

- Cocok untuk multitasking Arduino

Menggunakan Library ezLED

Selain menggunakan kode manual, efek fade juga bisa dibuat lebih mudah menggunakan library ezLED. Keuntungan menggunakan ezLED antara lain:

- Kode lebih singkat

- Mudah dipahami

- Tidak perlu mengatur timing manual

- Mendukung berbagai efek LED

Library ini cocok untuk pemula yang ingin fokus memahami konsep tanpa terlalu banyak mengatur timer.

Tips agar Efek Fade Lebih Bagus

- Gunakan nilai perubahan brightness kecil agar fade lebih smooth

- Gunakan delay kecil jika memakai metode delay()

- Gunakan LED berkualitas baik

- Hindari kabel longgar pada breadboard


Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.  

0 on: "Arduino LED Fade - Cara Membuat Efek Fade In dan Fade Out pada LED"