Mahir Arduino Sketch dan Elektro secara praktek

11 - LED Dimmer

Proyek ini memiliki rangkaian sederhana, hanya untuk memberikan ide mengontrol tingkat kecerahan LED melalui arduino. Pada proyek sebelumnya, kita hanya mematikan dan menyalakan LED. Pada proyek ini kita akan menyalakan dari tingkat kecerahan rendah hingga maksimum, lalu mematikan dari dari tingkat kecerahan tinggi hingga padam.

Komponen yang digunakan
  • LED 5mm (silakan guanakan warna LED apa saja)
  • Resistor 
Skema



Sketch

// Project 11 - LED Dimmer
int ledPin = 11;
float sinVal;
int ledVal;


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

void loop() {
  for (int x=0; x<180; x++) {
    // convert degrees to radians then obtain sin value
    sinVal = (sin(x*(3.1412/180)));
    ledVal = int(sinVal*255);
    analogWrite(ledPin, ledVal);
    delay(25);
  }
}


Verifikasi dan upload sketch diatas, LED akan menyala dari redup hingga terang, lalu dari terang, redup hingga padam. Mari kita lihat logika programnya.

Untuk melakukan hal tersebut, kita menggunakan gelombang sinus. Sinus memilki gelombang dari 0 merambat naik ke 1 dan kembali merambat turun ke 0 (seperti berbentuk setengah lingkaran).

Fungsi yang digunakan adalah sin(), fungsi trigonometri matematika untuk perhitungan sudut. Pada sketch, kiat  hanya menggunakan interval 0-179 (kita tidak memerlukan nilai negatif).

Fungsi sin memerlukan nilai dalam radian, bukan dalam sudut. Jadi persamaan yang digunakan adalah sin(x*(3.1412/180)), setelah mendapatkan nilai radian, untuk kebutuhan kita, nilai dari persamaan tadi dikalikan 255. Setelah itu kita akan menulis nilai tersebut ke pin dimana LED tersambung.

Nilai yang diperoleh dari perhitungan diatas akan berkisar dari 0 s/d 1. 0 untuk LED kondisi padam, 1 untuk LED menyala dengan tingkat kecerahan maksimum.

Artikel Sebelumnya Proyek Led Chase Advanced
Artikel Selanjutnya Proyek RGB Mood Lamp

No comments:

Post a Comment