Assalamu’alaikum Waramhmatullahi wabarakatuh, pada tutorial kali ini kita akan mengontrol kecerahan LED menggunakan Arduino menggunakan perintah yang disebut analogWrite() . analogWrite() bekerja dengan menghidupkan dan mematikan dengan sangat cepat, sangat cepat sehingga mata kita terkecoh. perbandingan waktu LED menyala dan LED mati adalah 1 : 1 maka LED seolah olah akan terlihat setengah terang, bingung?? lanjut dulu nanti juga paham sendiri. Teknik ini disebut pulse widht modulation (PWM). jika anda menggunakan Arduino Uno maka anda akan menemukan simbol “~” didekat pin digital, pin itulah (pin 3, 5, 6, 9, 10, 11) yang mampu menjalankan perintah PWM ini.
untuk lebih jelasnya silahkan buat rangkaian dengan menghubungkan postif LED ke resistor lalu ke pin 9 Arduino dan negatif Led ke pin negatif 0Volt Arduino.
coba jalankan perintah analogWrite() seperti program dibawah ini. analogWrite () membutuhkan dua argumen yaitu nomor pin dan tingkat kecerahan (antara 0 dan 255).
//LED Blink (half brightness)
int ledPin = 9;//the Arduino pin that is connected to the LED
void setup() {
pinMode(ledPin, OUTPUT);// initialize the pin as an output
}
void loop() {
analogWrite(ledPin, 255);//turn LED on at full brightness (255/255 = 1)
}
setelah prgram diatas berhasil dicoba silahkan ganti nilai 255 didalam analogWrite dengan nilai 50 / 100/ 150 dan uploud ke Arduino, amati perubahan yang terjadi.
sekarang kita akan membuat program agar LED dapat memudar kecerahanya dengan otomatis menggunakan perintah for seperti tutorial kita sebelumnya.
//LED fade
int ledPin = 9;//the Arduino pin that is connected to the LED
void setup() {
pinMode(ledPin, OUTPUT);// initialize the pin as an output
}
void loop() {
for (int brightness=255;brightness>=0;brightness--){
//ramp LED down to no brightness (255 to 0)
analogWrite(ledPin,brightness);
delay(10);
}
}
//LED fade
int ledPin = 9;//the Arduino pin that is connected to the LED
void setup() {
pinMode(ledPin, OUTPUT);// initialize the pin as an output
}
void loop() {
for (int brightness=0;brightness<256;brightness++){
//ramp LED up to full brightness (0 to 255)
analogWrite(ledPin,brightness);
delay(5);
}
}
gimana, sekarang sudah paham?? jika belum silahkan tanyakan di kolom komentar saja ya 🙂
sekian dulu kuliah kali ini 🙂 semoga bermanfaat wassalamu’alaikum warahmatullahi wabarakatuh