BAB II: Light Emitting Dioda (LED)
24 Tujuan
1, Mahasiswa memahami rangkaian mikrokontroller untuk menghidupkan dan
‘mematikan LED.
2. Mahasiswa dapat memahami program Arduino untuk menghidupkan dan
mematikan LED.
3. Mabasiswa memahami struktur program Arduino, void setup dan void loop.
4, Mahasiswa memahami beberapa instruksi Arduino dasar pinMode dan
digital Write.
5. Mahasiswa memahami pembuatan instruksi waktu tunda, delay.
2.2 Peralatan
1, Sebuah Komputer /Laptop
2, Satu set trainer mikrokontroler Arduino
3. An Arduino board connected to the computer via USB
4, breadboard dan kabel jumper
5.1
(3mm)
6. Resistor antara 220-1,000 ohm
23 Teori
LED (Light Emitting Dioda) adalah dioda yang dapat memanearkan cahaya pada saat
mendapat arus bias maju (forward bias). LED (Light Emitting Dioda) dapat
‘memancarkan cahaya karena menggunakan dopping galium, arsenic dan phosporus. Jenis
doping yang berbeda menhasilkan cahaya dengan wama yang berbeda, LED merupakann
salah satu jenis dioda, sehingga hanya akan mengalirkan arus listrik satu arah saja. LED
akan memancarkan cahaya apabil diberikan tegangan listrik dengan
26konfigurasi forward bias. Berbeda dengan dioda pada umumnya, kemampuan
mengalirkan arus pada LED cukup rendah yaitu maksimal 20 mA. Apabila LED
dialiri arus lebih besar dari 20 mA maka LED akan rusak, sehingga pada rangkaian
LED dipasang sebuah resistor sebgai pembatas arus. Simbol dan bentuk fisik dari LED
dapat dilihat pada gambar berikut, Simbol Dan Bentuk Fisik LED.
Anode A cathode
+ » a Fiat Spot
sngtaes| | Cad
ing Shortisee
Gambar 2.1, LED
Dari gambar diatas dapat kita ketahui bahwa LED memiliki kaki 2 buah seperti dengan
dioda yaitu kaki anoda dan kaki katoda, Pada gambar diatas kaki anoda memiliki ciri
fisik lebih panjang dari kaki katoda pada saat masih baru, kemudian kaki katoda pada
LED ditandai dengan bagian body LED yang di papas rata. Kaki anoda dan kaki katoda
pada LED disimbolkan seperti pada gambar diatas. Pemasangan LED agar dapat menyala
adalah dengan memberikan tegangan bias maju yaitu dengan memberikan tegangan
positif ke kaki anoda dan tegangan negatif ke kaki katoda. Konsep pembatas arus pada
dioda adalah dengan memasangkan resistor secara seri pada salah satu kaki LED.
Rangkaian dasar untuk menyalakan LED membutuhkan sumber tegangan LED dan
resistor sebgai pembatas arus seperti pada rangkaian berikut.
27‘ono °°
Gambar 2.2. Rangkaian Dasar LED
Konsep PWM.
Dengan membuat switching antara LOW dan HIGH dengan kecepatan tinggi,
petgantian tegangan akan nampak jelas pada diagram dibawah
ve
ie If fey, rage
ve
V average
ov t
| IC V average
ov t
Jeruise wan of
foe
Gambar 2.7, Diagram cara kerja PWM
Pada kode program tersebut ada pemanggilan function analogWrite() yang berfungsi
sebagai pemberi sinyal analog pada pin PWM arduino, Nilai yang bisa diberikan antara
0-255, yaitu 0 dari 0 volt dan 255 dari 5 volt atau 3.3 volt tergantung tegangan yang
digunakan,
28Jere we will fade the
D from 0 to maximum,
for (int i = 0; i < 256; it+)(
analogwrite(LED, i);
delay (5);
Kode diatas akan membuat perubahan tegangan yang dikirimkan pada pin PWM, dengan
merubah variabel dari nilai terendah(0) ke nilai maksimum(255). Sehingga efek yang
ditampilkan oleh LED akan dihasilkan cahaya yang semakin terang beriringan dengan
tegangan yang semakin tinggi
// Here we will fade the LED from 0 to maximum,
255 for (int i = 255; i >= 0; i
SD, i);
analogwrite (
delay (5);
Sebaliknya dengan menurukan variabel, akan mengakibatkan penurunan tegangan yang
dikirimkan ke pin PWM yang dipakai yang membust LED akan semakin meredup,
Pada arduino uno jika diperhatikan pin PWM akan mempunyai tanda khusus seperti
berikut ~. Fungsi analogWrite () tidak akan bekerja jika digunakan untuk pin selain
PWM. Dengan menggunakan teknik PWM ini akan bisa dihasilkan 16 juta kombinasi
wama untuk 1 LED.
2.4 Percobaan 1 : FLIP FLOP
Ikuti langkah berikut untuk menghubungkan LED external dengan Arduino Uno
1. Pasang resistor pada breadboard. Koneksikan dengan kabel jumper kaki belakang
resistor dengan digital pin pada Arduino.
2. Pasang LED pada breadboard. Koneksikan pin anode (+) LED pada kaki yang
29tersedia pada resistor.
3. Koneksikan LED cathode (-) ke arduino GND dengan menggunakan kabel jumper.
Gambar 2.3, Mockup rangkaian LED
2.4.1 Kode Program
Berikut kode yang akan digunakan untuk membuat blink LED :
// Declare the LED
pin int LED - 2
void setup()
// Declare the pin for the LED as
Output pinMode (LED, OUTPUT);
void loop (){
// Here we will turn the LED ON and wait,
200 milliseconds
digitalWrite (LED, HIGH);
delay (200);
// Here we will turn the LED OFF and wait
200 milliseconds
digitalWrite(LED, Low);
delay (200);
Jika LED terkoneksi pada pin yang lain tinggal mengubah value dari variabel LED.
302.4.2 Cara kerja
Jika pin kedua arduino diberi nilai HIGH, arduino akan memberikan nilai tegangan SV,
‘yang akan mengalir pada resistor ke LED sampai dengan GND. Jika tegangan yang
disyaratkan LED untuk menyala terpenuhi maka LED akan menyala, Resistor berguna
untuk mengendalikan jumlah arus yang masuk pada LED untuk menjaga agar LED
aman dan bahkan juga pin arduino yang terkoneksi dari terbakar.
2.4.3 Penjelasan Kode
Kode program tersebut akan membuat LED hidup dan mati secara bergantian, dan akan
diberi waktu jeda dengan memanggil fungsi de 1ay () setelah pengeksekusian.
Mendeklarasikan variabel LED dengan nilai 2:
int LED = 2
Pada fungsi setup () kita set output arduino sesuai dengan nilai yang ada pada
variabel LED.
void setup()
pinMode (LB
OUTPUT) ;
)
pada fungsi Loop (), secara berkelanjutan menyalakan LED, tunggu 200 mili detik
dan matikan LED, tunggu 200 mili detik.
void loop(){
// LED ON and wait 200
miliseconds digitalWrite (LED,
IGH); delay (200);
// LED OFF and wait 200
wr
miliseconds dig
Low) ;
delay (200);
312.5 Percobaan 2: MULTI LED
Pada percobaan Multi LED ini akan sangat berpengaruh pada pengaturan timing yang
digunakan dalam tiap LED. Dengan memahami logika High dan Low pada Pereobaan 1
sebelumnya kita akan membuat multi LED untuk dikendalikan seeara bergantian.
Langkah :
1. Nyalakan computer dengan program Arduino !
Sambungkan Trainer mikrokontroler dengan computer menggunakan kabel USB !
Sambungkan kabel-kabel jumper sesuai dengan praktikum yang dilaksanakan !
Ketiklah program yang diatas pada software Arduino !
Lakukan verifikasi terhadap program, apakah terjadi error atau tidak !
ae YN
Jika tidak terjadi error lanjutkan dengan mengupload program ke dalam
mikrokontroler!
7. Amati hasilnya apakah sudah sesuai dengan perintah instruktur atau belum, kalau
belum
8. lakukan editing program dan kembali ke langkah 5 !
Gambar 2.4, Multi LED
Berikut ini kode program untuk LED Bergeser
//Ranning LED
int ledPini = 2
32int ledPin2 = 3;
int ledPin3 = 4;
void setup()
//Setting PIN Output
pinMode (ledPinl,
OUTPUT) ;
pinMode (ledPin2,
OUTPUT) ;
pinMode (1edPin
OUTPUT) ;
void loop() {
digitalwWrite (ledPin1,
IGH)
digitalWrite (ledPin2,pin
LOW); digitalWrite(ledPin3,
LOW); delay (1000);
digitalWrite(ledPin1, Low);
digitalWrite (ledPin2,
HIGH) ;
digitalwr:
delay (1000);
digitalwWrite(ledPin1, Low);
digitalWrite(ledPin2, Low);
digitalwrite (ledPin3,
HIGH); delay (1000);
(ledPin3, LOW);
2.6 Percobaan 3 : Fading the external LED
Penggunaan LED dengan menggunakan 2 buah kondisi: On dan OFF. Tapi jika ingin
memanipulasi kecerahan kita harus menggunakan teknik lain, Pulse Width
Modulation (PWM) yang sudah secara default ada pada setiap arduino, Dengan teknik
ini kita bisa membuat LED menyala dengan skala 256,
Pada arduino pin yang mempunyai fungsi PWM berjumlah 6 buah pin yang berada
pada pin 3, 5, 6,9, 10 dan 11
33Gambar 2.5. Menyalakan LED dengan PWM_
Gambar 2.6. Mockup LED dengan PWM.
Kode Program :
// Declare the LED pin with PWM
int LED = 3;
34void setup()
// Declare the pin for the L
Output pinMede(LED, OUTPUT);
)
void loop ()(
Wy
255
for (int i = 0; i < 256;
itt) { analogWrite (LED,
i}; delay (5);
)
// Bade the
Here we will fade the LED from 0 to maximum,
D from maximum
to 0 for (int i = 255; i
in)
analogWrite (LED, i);
delay (5);
}
2.7 Percobaan 4 : RGB LED
Untuk melakukan percobaan dibutuhkan beberapa _perlengkapan _pendukung
diantaranya
1, Arduino and USB
2. Breadboard dan jumper wires
3. RGB LED
4.
Resistors between 220-1,000 ohm
35Gambar 2.8. Rangkaian Skema LED RGB
Gambar 2.9. MockUp LED RGB
Kode program :
// Declare the PWM LED
pins int redbED = 9;
int greenLED = 10;
int blueLED = 11;
void setup() {
// Declare the pins for the LED as
Output pinMode(redLED, OUTPUT) ;
36PinMode (greenLED, OUTPUT)
pinMode (blueLED, OUTPUT);
)
// & simple function to set the level for each
color from 0 to 255
void setColor(int redValue, int greenValue
int blueVelue) {
analogWrite(redLED, 255 - redValue);
analogWrite(greenLED, 255 - greenvalue);
analogWrite(blueLED, 255 - blueValue);
}
void Loop () {
// Change a few colors
setColor (255, 0, 0); // Red
Color delay (500);
setColor(0, 255, 0); // Green
Color delay (500);
setColor(0, 0, 255); // Blue
Color delay (500);
setColor (255, 255, 0); // Yellow
delay (500);
setColor (0, 255, 255); // Cyan
delay (500);
setColor (255, 0, 255); // Magenta
delay (500);
setColor (255, 255, 255); // White
delay (500);
Penjelasan kode program
// Declare the PWM LED
pins int redLED - 9;
int greenLED = 10;
int blueLED = 11;
Mendefinisikan program dalam menggunakan pin arduino, pin yang digunakan wajib
‘menggunakan pin yang PWM Karena bersifat analog bukan digital.
37void setup ()
// Declare the pins for the LED as Output
D, OUTPUT);
pinMode (greent
OUTPUT);
pinMode (blueLED,
OUTPUT);
pinMode (realy
Mendeklarasikan penggunaan output dengan mneggunakan pin yang sudah
didefinisikan pada variabel global sesuai dengan warna LED yang digunakan yang
bertujuan untuk output nantinya
void setColor(int redValue, int greenValue,
int blueValue) {
analogWrite(redLED, 255 - redvalue) ;
analogWrite (greenLED, 255 - greenValue);
analogWrite(blueLED, 255 - blueValue);
Mendefinisikan pengkonfigurasian warna_ dengan menggunakan —_fungsi
analogWrite() pada pin yang sesuai wama LED. Karena jumlah maksimal dari
nilai yang diizinkan adalah 255, make nilai masukkan dari fungsi untuk masing-masing
wama akan dikurangkan dengan nilai maksimal tersebut.
void setColor(int redValue, int greenValue,
int bluevalue) (
jika terdefinisi
setColor(255, 0, 0); // Red Color
ini akan membuat perubahan warna, atau mengkonfigurasikan warna menjadi
38warna_merah = 255 - 255
warna_merah = 0
sehingga
analogWrite(redLED, warna_merah);
atau bisa diartikan
analogWrite (9,0);
dengan memeberikan nilai 0, maka akan memberikan nilai maksimal pada wama RED.
2.8 Latihan
1. Buat rangkaian dan percobaan pengendalian multi LED dengan menggunakan
variasi delay interval 100 antar LED.
2. Buat rangkaian dan percobaan pengedalian LED yang difungsikan sebagai Traffic
Light. Dengan asumsi berada di permpatan jalan.
3. Buat project sinyal morse SOS dengan menggunakan fungsi delay pada arduino.
39