Anda di halaman 1dari 16

LAPORAN SISTEM TERBENAM DAN IOT

MANIPULASI LED

Disusun Oleh:
Putri Shafa Salsabella Helmi / 3.34.18.0.18
IK-3A

PROGRAM STUDI D3 TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNI NEGERI SEMARANG
2020/2021
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 pembuatan instruksi waktu tunda, delay.

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 220–1,000 ohm

III. Dasar Teori


LED (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

IV. Langkah Kerja


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, 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