Anda di halaman 1dari 9

LAPORAN PRAKTIKUM

SISTEM TERBENAM DAN IOT


BAB II MANIPULASI LED

Disusun oleh :
Anisa Eka Pujianti
3.34.18.0.04
IK-3A

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2021
BAB II MANIPULASI LED

I. TUJUAN
1. Mahasiswa memahami rangkaian mikrokontroller untuk menghidupkan dan
mematikan LED.
2. Mahasiswa dapat memahami program Arduino untuk menghidupkan dan
mematikan LED.
3. Mahasiswa memahami struktur program Arduino, void setup dan void loop.
4. Mahasiswa memahami beberapa instruksi Arduino dasar pinMode dan digitalWrite.
5. Mahasiswa memahami

II. 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. LED ( 3 mm)
6. Resistor antara Word

III. DASAR TEORI


(Light Emitting Dioda) adalah dioda yang dapat memancarkan 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 warna yang berbeda. LED (Light Emitting Dioda) merupakann salah satu jenis
dioda, sehingga hanya akan mengalirkan arus listrik satu arah saja. LED akan memancarkan
cahaya apabil diberikan tegangan listrik dengan konfigurasi forward bias. Berbeda dengan
dioda pada umumnya, kemampuan mengalirkan arus pada LED (Light Emitting Dioda) cukup
rendah yaitu maksimal 20 mA. Apabila LED (Light Emitting Dioda) 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 (Light Emitting Dioda) dapat dilihat
pada gambar berikut. Simbol Dan Bentuk Fisik LED.

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 (Light
Emitting Dioda) ditandai dengan bagian body LED yang di papas rata. Kaki anoda dan kaki
katoda pada LED (Light Emitting Dioda) disimbolkan seperti pada gambar diatas. Pemasangan
LED (Light Emitting Dioda) 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 (Light Emitting Dioda). Rangkaian dasar untuk menyalakan LED
(Light Emitting Dioda) membutuhkan sumber tegangan LED dan resistor sebgai pembatas arus
seperti pada rangkaian berikut.
Gambar 2.2. Rangkaian Dasar LED

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 tersedia
pada resistor.
3. Koneksikan LED cathode (-) ke arduino GND dengan menggunakan kabel jumper.

Gambar 2.3. Mockup rangkaian LED

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.
Cara kerja :
Jika pin kedua arduino diberi nilai HIGH, arduino akan memberikan nilai tegangan 5 V, 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.
Penejlasan Kode :
Kode program tersebut akan membuat LED hidup dan mati secara bergantian, dan akan diberi
waktu jeda dengan memanggil fungsi delay() 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(LED,
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,
HIGH);
delay(200);
// LED OFF and wait 200 miliseconds
digitalWrite(LED, LOW); delay(200);
}

NEXT JOB : MULTI LED


Untuk membuat multi LED untuk dikendalikan secara bergantian.
Langkah :
1. Nyalakan computer dengan program Arduino !
2. Sambungkan Trainer mikrokontroler dengan computer menggunakan kabel USB !
3. Sambungkan kabel-kabel jumper sesuai dengan praktikum yang dilaksanakan !
4. Ketiklah program yang diatas pada software Arduino !
5. Lakukan verifikasi terhadap program, apakah terjadi error atau tidak !
6. 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


//Running LED int ledPin1 =
2; int ledPin2 = 3; int
ledPin3 = 4;

void setup() {
//Setting PIN Output
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
} void loop()
{ digitalWrite(ledPin1,
HIGH);
digitalWrite(ledPin2,pin
LOW); digitalWrite(ledPin3,
LOW); delay(1000);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, LOW);
delay(1000);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
delay(1000);

}
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.
Gambar 2.5. Menyalakan LED dengan PWM

Gambar 2.6. Mockup LED dengan PWM

Kode Program :
// Declare the LED pin with PWM
int LED = 3; void setup() {
// Declare the pin for the LED as
Output
pinMode(LED, OUTPUT);
}
void loop(){
// Here we will fade the LED from
0 to maximum, 255
for (int i = 0; i < 256; i++){
analogWrite(LED, i);
delay(5);
}
// Fade the LED from maximum to 0
for (int i = 255; i >= 0; i--){
analogWrite(LED, i); delay(5);
}
}

Konsep PWM
Dengan membuat switching antara LOW dan HIGH dengan kecepatan tinggi, pergantian
tegangan akan nampak jelas pada diagram dibawah.

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 0255, yaitu 0
dari 0 volt dan 255 dari 5 volt atau 3.3 volt tergantung tegangan yang digunakan.
...
// Here we will fade the LED from 0 to maximum, 255
for (int i = 0; i < 256; i++){ 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--){ analogWrite(LED, i); delay(5);
}

Sebaliknya dengan menurukan variabel, akan mengakibatkan penurunan tegangan yang


dikirimkan ke pin PWM yang dipakai yang membuat 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 warna untuk 1 LED.
PERCOBAAN RGB LED
Perlengkapan :
1. Arduino and USB
2. Breadboard dan jumper wires
3. RGB LED
4. Resistors between 220–1,000 ohm
Gambar 2.8. Rangkaian Skema LED RGB

Gambar 2.8. MockUp LED RGB

Kode program :
// Declare the PWM LED pins
int redLED = 9; int greenLED =
10;
int blueLED = 11;

void setup() {
// Declare the pins for the LED as Output
pinMode(redLED, OUTPUT); pinMode(greenLED, OUTPUT);
pinMode(blueLED, OUTPUT);
}
// A simple function to set the level for each color from 0 to
255

void setColor(int redValue, int greenValue, int blueValue)


{ 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.
void setup() {
// Declare the pins for the LED as Output
pinMode(redLED, OUTPUT); pinMode(greenLED,
OUTPUT); pinMode(blueLED, OUTPUT);
}
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 warna LED. Karena
jumlah maksimal dari nilai yang diizinkan adalah 255, maka nilai masukkan dari fungsi untuk
masing-masing warna 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


warna_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 warna RED

Anda mungkin juga menyukai