Anda di halaman 1dari 11

LAPORAN PRAKTIK ANTARMUKA LED

MATA KULIAH MIKROKONTROLER DAN ANTARMUKA 1


Dosen Pengajar : Agus Wagyana, ST., MT.

Disusun Oleh :
Adam Harde Bagus Maulana (3314130002)
Fainaya Permatasari (3314130012)
Muhammad Luthfi Beritsa (3314130066)
Wafi Akhlaqil Karimah (3314130060)
Kelas : TT - 4D

PROGRAM STUDI TEKNIK TELEKOMUNIKASI


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI JAKARTA
DEPOK
2016

PRAKTIK ANTARMUKAS 1 LED


1.

Judul Aplikasi

P1.1.
P1.2.
P1.3.
P1.4.
2.

Blinking LED
Fading
Candle Light
Mood Light

Rangkaian Skematik
P.1. Blinking LED

P.2. Fading

P.3. Candle Light

P.4. Mood Light

3.

Cara Kerja Aplikasi


P.1. Blinking LED
Cara kerja aplikasi blinking LED ini adalah dimana program akan mengedipkan
LED (nyala-padam) setiap 1 detik. Dimana pin yang digunakan pada rangkaian
adalah pin no 13 berupa pin digital karena hasil output yang diinginkan hanya nyalapadam.
3

P.2. Fading
Cara kerja aplikasi fading ini adalah dimana program akan menyalakan/mematikan
LED secara bertahap. LED tidak langsung mati melainkan redup secara perlahan
baru kemudian mati total. Dan saat LED akan menyala juga melakukan hal yang
sama, yaitu dari redup menuju terang. Output dari LED tersebut pun seperti berkedip
dengan tegangan dan waktu yang ditentukan. Dimana pin yang digunakan pada
rangkaian adalah pin no 9 berupa pin analog.
P.3. Candle Light
Cara kerja aplikasi candle light ini adalah dimana program akan menyalakan LED
seperti lilin. Layaknya sebuah lilin yang sumbu apinya bergoyang atau berkedip.
Output dari LED tersebut pun seperti berkedip atau bergoyang dengan tegangan dan
waktu yang ditentukan. Hasil dari LED tersebut terlihat seperti lilin sungguhan
dengan fungsi random yang digunakan dan mengatur intensitas cahayanya secara
acak adalah cara untuk membuat LED tersebut terlihat berkedip. Dimana pin yang
digunakan pada rangkaian adalah pin no 6 berupa pin analog.
P.4. Mood Light
Cara kerja aplikasi mood light ini adalah dimana program akan mengontrol warna
RGB LED. Dengan aplikasi ini kita bisa memilih tampilan warna sesuai keinginan,
dari mulai warna warna dasar sepetri merah, biru, hijau, bahkan sampai warna hijau
tosca ataupun warna hijau seperti ciri khas warna arduino, dengan menginput
komposisi nilai warna merah, hijau dan biru pada software arduino. Dimana pin
yang digunakan pada rangkaian adalah pin 3, 5, dan 6 yang merupakan pin analog.

4.

Analisis Sketch
P1.1. Blinking LED
Sketch berupa:
int pinLED = 13; // LED dihubungkan ke pin digital D13
void setup() // fungsi yang dijalankan hanya sekali
{
pinMode(pinLED, OUTPUT); // set pinLED sebagai output
}
void loop() // fungsi yang dijalankan teruis berulang-ulang
{
digitalWrite(pinLED, HIGH); // set LED nyala (on)
delay(1000); // tunggu 1000 ms atau 1 detik
digitalWrite(pinLED, LOW); // set LED padam (off)
delay(1000); // tunggu 1 detik
}
4

Pada sketch diatas, program bertujuan untuk mengedipkan LED (nyala-padam) setiap 1
detik. Dimana pin yang digunakan adalah pin 13 yaitu pin Digital. Lalu yang menjadi
output adalah LED dengan perintah pinMode. Dimana digunakan perintah void loop
agar nantinya fungsi akan dijalankan secara berulang-ulang. Untuk membuat LED
menyala, digunakan perintah High dan untuk membuat LED mati, digunakan perintah
Low, karena program ini ingin mengedipkan LED setiap 1 detik, maka delay bernilai
1000ms baik untuk waktu menyala ataupun mati. Untuk delay bisa diganti sesui keinginan
hasil output pada LED.

P1.2. Fading
Sketch berupa :
int nilai = 0;

// nilai awal LED

int pinLED = 9;

// LED dihubungkan ke pin D9 (PWM)

void setup()
{
pinMode(pinLED, OUTPUT);

// set pinLED sebagai output

}
void loop()
{
for(nilai = 0 ; nilai <= 255; nilai+=5) // fade in (min -> max)
{
analogWrite(pinLED, nilai);
delay(30);

// set LED (0 -> 255)

// tunggu 30 ms

}
for(nilai = 255; nilai >=0; nilai-=5)

// fade out (max -> min)

{
analogWrite(pinLED, nilai);

// set LED (255 -> 0)

delay(30);
}
}
5

Pada sketch di atas, program bertujuan untuk menyalakan/mematikan LED secara


bertahap, dimana pin yang digunakan adalah pin no 9 yaitu pin analog. Lalu yang
menjadi outpu adalah LED dengan perintah pinMode. Lalu untuk membuat
fungsi berjalan terus-menerus maka digunakan perintah void loop. Dikarenakan
program bertujuan untuk membuat output LED menyala dan mati secara bertahap
maka digunakan perintah fade in untuk menyala, dan fade out untuk mati,
dengan mengatur nilai dari delay yang diinginkan. Sebagai contoh pada sketch di
atas dlay untuk fade in dan fade out bernilai 30ms, sehingga nantinya LED akan
menyala secara bertahap 30ms dan mati secara bertahap 30ms.

P1.3. Candle Light


Sketch berupa :

int pinLED = 6;
int nilai = 0;

// LED dihubungkan dengan pin D6 (PWM)


// nilai awal LED

int nilaiDelay = 0; // nilai delay awal


void setup()
{
randomSeed(0);

// menghasilkan bilangan acak

pinMode(pinLED, OUTPUT);

// menentukan sebagai output

}
void loop()
{
nilai = random(100,255); // ambil bil. acak antara 100 - 255
analogWrite(pinLED, nilai);
// set intensitas nyala LED
nilaiDelay = random(50,150); // ambil bil. acak antara 50, 150
delay(nilaiDelay);
// delay secara acak
}
Pada sketch diatas, program bertujuan untuk menyalakan LED seperti lilin.
Dimana pin yang digunakan adalah pin no 6 berupa pin analog. Lalu diberikan
nilai 0 untuk awal LED dan juga nilai delay awal, dengan perintak int nilai.
Karena hasil outputnya ingin seperti lilin yang sumbu apinya bergoyang atau
berkedip, maka digunakan perintah randomSeed jadi itu berfungsi untuk
6

menghasilkan bilangan acak. Juga output yang digunakan adalah LED dengan
perintah pinMode. Lalu agar fungsi yang dijalankan terus-menerus, maka diberi
perintah void loop. Perintah nilai digunakan untuk mengatur kecerahan acak dari
setengah menyala sampai sepenuhnya menyala. Perintah analogWrite untuk mengatur
intensitas cahaya acak pada LED. Perintah nilaiDelay adalah untuk menentukan
seberapa lama LED akan memberikan output acaknya.

P1.4. Mood Light


Sketch berupa :

//Program untuk mengontrol warna RGB LED


const int redPin =6; //menentukan pin-pin untuk RGB LED
const int greenPin = 5;
const int bluePin =3;
const Boolean invert = false; //set true untuk common anode
int color=0; //nilai warna (hue) dari 0 sampai 225
int R, G, B; / komponen warna Red, Green, dan Blue
void setup()
{
//pin yang dikendalikan oleh analogWrite tidak harus
//ditentukan sebagai output
}
void loop()
{
int brightness=25; //255->maximum brightness
hueToRGB(color, brightness);// memanggil fungsi hueToRGB
analogWrite(redPin, R); //memberikan nilai RGB ke pin
analogWrite(greenPin, G);
analogWrite(bluePin, B);
7

color++; //increment variable color

if(color >25)
color=0;
delay(10);
}
//fungsi untuk mengubah warna ke komponen Red, Green, Blue
void hueTo RGB(int hue, int brightness)
{
unsigned int scaledHue=(hue*6);
//segment 0 sampai 5 di sekitar roda warna
unsigned int segment = scaledHue/256;
//posisi pada segmen
unsigned int segmentOffset=scaleHue-(segment*256);
unsigned int complement=0;
unsigned int prev=(brightness*(255-segmentOffset)) /256;
unsigned int next=(brightness*segmentOffset)/256;
if(invert)
{
brightness = 25-brigthness;
complement=255;
prev=255-prev;
next=255-next;
}
Case 0; //red
R=brightness;
G=next;
8

B=complement;
Break;
Case 1: //yellow
R=prev;
G=brightness
B=complement;
Break;
Case 2: //green
R=complement;
G=brightness;
B=next;
Break;
Case 3: //cyan
R= complement;
G=prev;
B=brightness;
Break;
Case 4: //blue
R=next;
G=prev;
B=brightness;
Case 5: //magenta
Defauly:
R=brightness;
G=complement;
B=prev;
Break;
9

}
}
Pada sketch diatas, program bertujuan untuk mengtrol warna RGB LED. Dimana
pin yang digunakan merupakan pin analog, jadi menggunakan pin 6, 5, dan 3. Juga
karena LED menggunakan RGB maka membuat perintah const Boolean invert
=false untuk mengatur true pada common anodenya. Lalu perintak int color=0
untuk mengatur nilai warna dari 0 sampai 255. Juga komponen warna yang akan
digunakan adalah warna Red, Green, dan Blue sehingga menggunakan perintah
int R, G, B. Agar fungsi menjadi berulang-ulang maka menggunakan perintah
void lopp. Lalu untuk mengatur warna yang nantinya akan ditampilkan,
mengatur nilai kecerahan dengan maksimal 255, dan meggil fungsi hueToRGB
juga memberi perintah untuk memberikan nilai RGB pada pin dengan perintah
analogWrite.. untuk mengubah-ubah warna menggunakan perintah delay. Lalu
mengatur tampilan warna nantinya apda output maka memberi perintah mengenai
nilai dari brightness, complement, prev juga next, agar nanti output yang dihasilkan
berubah-ubah menjadi 6 warna, dari mulai red, yellow, green, cyan, blue dan jug
amagenta.

5.

Kesimpulan
Pada praktik antarmuka LED ini, ada 4 aplikasi yang bisa digunakan untuk
pengendalian LED, yaitu blinking, fading, candle light dan mood light.
Konsep blinking sendiri yaitu mengedipkan LED dengan mengatur nilai delay
pada perintah High(on) dan Low(off).
Konsep fading yaitu menyalakan atau mematikan LED secara bertahap dengan
menggunakan perintah fade in (on) fade out(off) lalu mengatur nilai delay
keduanya.
Konsep candle light yaitu mengatur agar LED menyala seperti lilin dengan
perintah randomSeed, dan mengatur nilai dari delay.
Konsep mood light yaitu mengtrol warna RGB LED dengan mengatur komposisi
warna yang diinginkan, dengan nilai pada R G B dari brightness, complement,
prev, dan next. Perintah yang digunakan berupa hueToRGB (color, brighntness).

10