15
LAPORAN PRAKTIKUM LAB MIKROKONTROLER DAN INTERFACE NOMOR PERCOBAAN : P1 JUDUL PERCOBAAN : Antarmuka LED KELAS / GROUP : Telkom 4-A / 7 NAMA PRAKTIKAN : 1. Husnu Attamimy 2. Muhamad Aditya Prasetyadin 3. Nabiela Hurul E’in PROGRAM STUDI TEKNIK TELEKOMUNIKASI

Percobaan P1

Embed Size (px)

Citation preview

Page 1: Percobaan P1

LAPORAN PRAKTIKUM LAB MIKROKONTROLER

DAN INTERFACE

NOMOR PERCOBAAN : P1

JUDUL PERCOBAAN : Antarmuka LED

KELAS / GROUP : Telkom 4-A / 7

NAMA PRAKTIKAN : 1. Husnu Attamimy

2. Muhamad Aditya Prasetyadin

3. Nabiela Hurul E’in

PROGRAM STUDI TEKNIK TELEKOMUNIKASI

POLITEKNIK NEGERI JAKARTA

DEPOK

2013

Page 2: Percobaan P1

P1 : ANTARMUKA LED

I. DIAGRAM SKEMATIK

P1.1 Blink

P1.2 Fade

P1.3 Candle Light

P1.4 Mood Light

Page 3: Percobaan P1

DIY. Ping Pong

II. SKETCH

P1.1 Blink

Coding blink :

//Blink

int ledPin = 13; //LED connected to digital pin 13

void setup() //run once,when the sketch starts

{

pinMode(ledPin, OUTPUT); //sets the digital pin as output

}

void loop() //run over and over again

{

digitalWrite(ledPin, HIGH); //sets the LED on

delay(2000); //waits for a second

Page 4: Percobaan P1

digitalWrite(ledPin, LOW); //sets the LED off

delay(2000); //waits for a second

}

P1.2 Fade

Coding fade :

//Fading LED

int value = 0; //variable to keep the actual value

int ledpin = 9; //light connected to digital pin 9

void setup()

{

//nothing for setup

}

void loop()

{

for(value = 0 ; value <= 255; value+=5) //fade in(from min to max)

{

analogWrite(ledpin,value); //sets the value(range from 0 to 255)

delay(30); //waits for 30 milli seconds to see the

dimming effect

}

for(value = 255; value >=0; value-=5) //fade out(from max to min)

{

analogWrite(ledpin,value);

delay(30);

}

Page 5: Percobaan P1

}

P1.3 Candle Light

Coding candle light :

//CandleLight

int ledPin = 9; //select the pin for the LED

int val = 0; //variable that holds the current LED brightness

int delayval = 0; //variable that holds the current delay time

void setup(){

randomSeed(0); //initialize the random number generator

pinMode(ledPin, OUTPUT); //declare the ledPin as an OUTPUT

}

void loop(){

val = random(100,255); //pick a random number between 100 and 255

analogWrite(ledPin, val); // set the LED brightness

delayval = random(50,150); //pick a random number between 30 and 100

delay(delayval); //delay that many milliseconds

}

P1.4 Mood Light

Page 6: Percobaan P1

Coding mood light :

//Mood Light

const int redPin = 3; //choose the pin for each of the LEDs

const int greenPin = 5;

const int bluePin = 6;

const boolean invert = true; //set true if common cathode,false if

common anode

int color = 0; //a value from 0 to 255 representing the hue

int R,G,B; //the Red and Blue color components

void setup()

{

//pins driven by analogWrite do not need to be declared as outputs

}

void loop()

{

int brightness = 255; //255 is maximum brightness

hueToRGB(color,brightness); //call function to convert hue to RGB

//write the RGB values to the pins

analogWrite(redPin, R);

analogWrite(greenPin, G);

analogWrite(bluePin, B);

color++; //increment the color

if (color > 255)

color = 0;

delay(10);

Page 7: Percobaan P1

}

//function to convert a color to its Red,Green,and Blue components.

void hueToRGB(int hue,int brightness)

{

unsigned int scaledHue = (hue*6);

unsigned int segment = scaledHue / 256; //segment 0 to 5 around the

color wheel

unsigned int segmentOffset = scaledHue - (segment*256);//position

within the seg

unsigned int complement = 0;

unsigned int prev = (brightness*(255 - segmentOffset))/256;

unsigned int next = (brightness*segmentOffset)/256;

if(invert)

{

brightness = 255-brightness;

complement = 255;

prev = 255-prev;

next = 255-next;

}

switch(segment){

case 0: //red

R=brightness;

G=next;

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;

Page 8: Percobaan P1

G=complement;

B=brightness;

break;

case 5: //magenta

default:

R=brightness;

G=complement;

B=prev;

break;

}

}

DIY Ping Pong

Coding level :

/*

Flip-Flop 4 LED dengan delay 0,2 detik

Program ini dibuat oleh Husnu Attamimy

*/

void setup()

{

pinMode(10, OUTPUT);

pinMode(11, OUTPUT);

pinMode(12, OUTPUT);

pinMode(13, OUTPUT);

}

void loop()

Page 9: Percobaan P1

{

digitalWrite(10, HIGH); // set the LED on

digitalWrite(11, LOW); // set the LED off

digitalWrite(12, LOW); // set the LED off

digitalWrite(13, LOW); // set the LED off

delay(200); // wait for a second

digitalWrite(10, LOW); // set the LED off

digitalWrite(11, HIGH); // set the LED on

digitalWrite(12, LOW); // set the LED off

digitalWrite(13, LOW); // set the LED off

delay(200); // wait for a second

digitalWrite(10, LOW); // set the LED off

digitalWrite(11, LOW); // set the LED off

digitalWrite(12, HIGH); // set the LED on

digitalWrite(13, LOW); // set the LED off

delay(200); // wait for a second

digitalWrite(10, LOW); // set the LED off

digitalWrite(11, LOW); // set the LED off

digitalWrite(12, LOW); // set the LED off

digitalWrite(13, HIGH); // set the LED on

delay(200); // wait for a second

digitalWrite(10, LOW); // set the LED off

digitalWrite(11, LOW); // set the LED off

digitalWrite(12, HIGH); // set the LED on

digitalWrite(13, LOW); // set the LED off

delay(200); // wait for a second

digitalWrite(10, LOW); // set the LED off

digitalWrite(11, HIGH); // set the LED on

digitalWrite(12, LOW); // set the LED off

digitalWrite(13, LOW); // set the LED off

delay(200); // wait for a second

digitalWrite(10, HIGH); // set the LED on

digitalWrite(11, LOW); // set the LED off

digitalWrite(12, LOW); // set the LED off

digitalWrite(13, LOW); // set the LED off

delay(200); // wait for a second

delay(200); // wait for a second

}

III. ANALISA

Page 10: Percobaan P1

P1.1 Blink

Percobaan ini bertujuan untuk membuat lampu berkelip-kelip. format

int ledPin=13; untuk menggunakan pin 13 sebagai OUTPUT Selanjutnya

memasukkan perintah void setup() untuk merun program pertama saat

program ini dimulai dengan isi perintah pinMode(ledPin,OUTPUT); fungsi

ini betujuan Menset OUTPUT, selanjutnya fungsi void Koo untuk menset

agar dilakukan berulang-ulang dalam hal ini LED akan berkeli-kelip terus.

Perintah digitalWrite(ledPin,HIGH); HIGH agar LED dalam keadaan

hidup atau 1 dan LOW agar LED mati lalu atau 0 (nilai digital) lalu masukkan

delay / jeda waktu yang diinginkan dengan format delay(1000); 1000

adalah waktu yang diinginkan yaitu 1000 ms atau 1 detik.

P1.2 Fade

Cara kerja dari Fade Light yaitu sebuah LED yang redup terang.

dengan perintah int (integer) ledPin=9; perintah int val=0; variable yang

digunanakan setiap program arduino terdapat fungsi yang harus selalu ada

yaitu void setup() dan void loop(). Fungsi setup digunakan untuk melakukan

pengaturan awal atau setup yang dijalankan sekali saja. Fungsi void loop akan

melakukan satu fungsi secara berulang-ulang. Pada perintah val=

random(100,255) ; perintah ini bertujuan untuk membatasi nilai acak atau

random dari 0 sampai dengan 255. Pada saat Program di jalankan lampu LED

akan redup terang secara berulang-ulang dengan tingkat pencahaya yang telah

diset.

P1.3

Pada percobaan kali ini menggunakan 1 buah LED yang ketika

dijalankan programnya maka LED akan menyala seperti cahaya lilin. Perintah

int ledPin = 9; untuk menghubungkan OUTPUT arduino ke LED. Pada

program ini juga terdapat void setup() dan void loop(). Dengan 1 kali fungsi

maka lampu yang dijalankan akan terus berulang-ulang. perintah val=

random(100,255) ; yaitu untuk membatasi nilai acak dari 0 -255.

P1.4 Mood Light

Page 11: Percobaan P1

Pada program kali ini yaitumenjalankan LED yang mempunyai warna

Red, Green, Blue atau RGB. Pada program ini menyalahkan lampu dengan delay

yang telah ditentukan pada coding. Fungsi void setup dan void loop juga terdapat

dalam program ini untuk melakukan secara berulang-ulang dalam satu kali fungsi.

PIN yang digunakan adalah 3, 5, 6 yang merupakan OUTPUT PWM. Saat

program di jalankan maka LED akan berubah warna.

DIY PING-PONG

Pada program ini yaitu menjalankan program LED yang berjalan dari 1

sampai 4 dan kembali lagi layaknya sebuah ping pong yang di pantulkan. PIN yang

digunakan adalah digital yaitu 10,11,12, dan 13. void setup()void loop(), dengan

satu kali fungsi maka akan menjalankan LED secara berulang-ulang. pinMode(10,

OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT);pinMode(13, OUTPUT); yaitu

menset OUTPUT pada arduino pada masing-masing pin yang telah ditentukan.

digitalWrite agar fungsi LED dalam bentuk digital 0-255 karena nilai maksimal

digital adalah 255. Nilai HIGH dan LOW ditentukan pada program dimana LED akan

menyala.

IV. KESIMPULAN

P1.1 Blinking

Pada saat program dijalankan maka lampu LED akan berkelap-kelip dan juga

delay atau interval waktu ditentukan cepat atau lambatnya LED berkelip.

P1.2 Fade Light

Pada saat program dijalankan maka lampu LED akan redup terang secara acak

dari 0- 255.

P1.3 Candle Light

Program ini akan menjalankan LED akan menyala seperti cahaya lilin dengan

tingkat intensitas secara acak dari 0 – 255.

P.14 Mood Light

Page 12: Percobaan P1

Program ini menjalankan LED RGB agar menyalakn lampu RED, GREEN,

dan BLUE denggan interval waktu yang telah di program. Lampu akan bergantian

secara berulang-ulang sampai catu daya di lepas.

DIY

Program ini setalah dijalankan akan menyalakan 4 buah LED yang menyala

secara berpantulan.

DAFTAR PUSTAKA

Jon Sheet Microcontroller