Senin, 14 April 2014

analogWrite() untuk Meredupkan dan Menerangkan LED

Contoh ini menunjukkan penggunaan fungsi analogWrite() dalam memudarkan cahaya LED. AnalogWrite menggunakan modulasi lebar pulsa (PWM), mengubah pin digital untuk menghidupkan dan mematikan LED dengan sangat cepat agar menciptakan efek redup.

Hardware yang Diperlukan

  1. Board / Papan Arduino
  2. Resistor 330 Ohm
  3. LED

Skema Sirkuit

Hubungkan Anoda LED (kaki positif yang panjang) ke salah satu kaki Resistor dan kaki Resistor yang lain dihubungkan ke D9 pada Arduino. Kaki Katoda LED dihubungkan ke Ground.

Fade LED
Fade LED

Kode Program

Inisial variabel tidak harus dilakukan (optional), tetapi akan berguna jika Anda mau merubah pin sehingga tidak banyak kode yang harus diganti:
int led = 9;
int brightness = 0;
int fadeAmount = 5;
Pada fungsi setup() hanya mendeklasarikan pin D9 sebagai output (untuk menyalakan LED).
pinMode(led, OUTPUT);
Pada fungsi loop() yang pertamal dilakukan adalah mengatur tegangan keluaran untuk pin D9 (LED) yang disimpan dalam variabel brightness dengan menggunakan fungsi analogWrite():
analogWrite(led, brightness);
Kemudian nilai variable brightness diatur agar terjadi perubahan pada LED:
brightness = brightness + fadeAmount;
Agar gelap terang LED terlihat, dibutuhkan kode yang dapat mengurangi nilai variabel brightness ketika sudah terang maksimal:
if (brightness == 0 || brightness == 255) {
  fadeAmount = -fadeAmount ;
}

Hasil akhir kode program

int led = 9;           // Pin untuk LED
int brightness = 0;    // Kecerahan LED
int fadeAmount = 5;    // Banyaknya fade

void setup()  {
  pinMode(led, OUTPUT);
}

void loop()  {
  analogWrite(led, brightness);  

  // Mengubah kecerahan
  brightness = brightness + fadeAmount;

  // Setelah maksimal, LED redup kembali
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;
  }  
  // Tunggu 30 ms
  delay(30);                          
}

Tidak ada komentar :

Posting Komentar