14
LAPORAN MIKROKONTROLER VARIASI NYALA LAMPU LED Disusun oleh Nama : ahdika setiyadi NIM :10306141014 Kelas : Fisika B

LAPORAN MIKROKONTROLER.docx

Embed Size (px)

Citation preview

Page 1: LAPORAN MIKROKONTROLER.docx

LAPORAN MIKROKONTROLER

VARIASI NYALA LAMPU LED

Disusun oleh

Nama : ahdika setiyadi

NIM :10306141014

Kelas : Fisika B

Page 2: LAPORAN MIKROKONTROLER.docx

Variasi Nyala Lampu LED

Tujuan : Dapat membuat program sesederhana mungkin tentang

a. Nyala ping pong

b. Menyebar merapat

c. Flip flop nyala ganjil

d. Flip flop nyala genap

Rangkaian lampu led

Dalam bahasa pemrograman yang digunakan pada software arduino yaitu bahasa C ada 2 bagian utama

yang harus ada pada setiap program yaitu void setup(){} dan void loop(){}.Fungsi tanda “ { “ dan “ } “ baik

di void setup dan void loop digunakan untuk mengawali perintah. Isi perintah pada void setup khusus di

Page 3: LAPORAN MIKROKONTROLER.docx

nyala lampu led adalah untuk “mempersiapkan” lampu led pada masing-masing pin yang

digunakan.Sedang isi perintah void loop adalah inti dari program yang digunakan untuk menampilkan

nyala lampu led.

A. Nyala ping pong

Program dalam arduino:

int led;

void setup(){

for(led=10;led>=1;led--){

pinMode(led,OUTPUT);

}

}

void loop(){

for(led=10;led>=1;led--){

digitalWrite(led,HIGH);

delay(50);

digitalWrite(led,LOW);

}

for(led=2;led<=9;led++){

digitalWrite(led,HIGH);

delay(50);

digitalWrite(led,LOW);

}

}

Pembahasan

a. void setup()

Perintah for(led=10;led>=1;led--) dengan led=10 adalah intalisasi bahwa pin no 10 yang

akan digunakan pertama kali, sedang led>=1 adalah merupakan syarat agar perintah for

dapat jalan dan led—adalah perintah bahwa led no 10 akan berkurang 1 pada setiap

pengulangan dalam perintah for.

Page 4: LAPORAN MIKROKONTROLER.docx

{pinMode(led,OUTPUT); } menyatakan bahwa led menunjukan no pin yang akan digunakan

sebagai output. Jadi secara ringkas pin yang akan digunakan dimulai dari pin no 10 sampai

sampai pin no 1 dengan urutan 10,9,8,. . .,1

b. void loop()

for(led=10;led>=1;led--){

digitalWrite(led,HIGH);

delay(50);

digitalWrite(led,LOW);}

berati untuk led dengan no pin 10,9,8, . . .,1 yang digunakan dalam perintah ini

dengan syarat 1 nomor pin untukl satu kali putaran perintah yaitu

digitalWrite(led,HIGH) yang berati lampu nyala, delay(50) berati perpindahan ke

perintah digitalWrite(led,LOW) adalah 50, digitalWrite(led,LOW) adalah perintah agar

lampu mati.

Setelah led dengan nomor 1 pin selesai dikenai perintah maka perintah berlanjut

lompat ke perintah selanjutnya yaitu

for(led=1;led<=10;led++){

digitalWrite(led,HIGH);

delay(50);

digitalWrite(led,LOW); }

perintah diatas berati led yang akan digunakan adalah led dengan pin no

1,2,3, . . . ,10.Setiap satu pin akan dikenai digitalWrite(led,HIGH) yang berate lampu

menyala, delay(50) berate selang waktu antara perintah digitalWrite(led,HIGH) ke

digitalWrite(led,LOW )adalah 50. digitalWrite(led,LOW) adalah perintah agar lampu

mati.Perintah ini berlangsung berurutan jika pin no 10 selesai dikenai perintah maka

akan loncat ke perintah sebelumnya(diatasnya) dan akan berlangsung terus menerus

sampai sumber daya habis.

B. Nyala menyebar merapat

Program yang digunakan di arduino

int led,Led;

void setup(){

for(Led=10;Led>=6;Led--)

Page 5: LAPORAN MIKROKONTROLER.docx

pinMode(Led,OUTPUT);

for(led=1;led<=5;led++)

pinMode(led,OUTPUT);

}

void loop(){

Led=11;

led=0;

do{

Led=Led-1;

digitalWrite(Led,HIGH);

delay(100);

led=led+1;

digitalWrite(led,HIGH);

}while(Led>5&&led<6);

Led=11;

led=0;

do{Led=Led-1;

digitalWrite(Led,LOW);

delay(100);

led=led+1;

digitalWrite(led,LOW);

}while(Led>5&&led<6);

led=6;

Led=5;

do{ led=led-1;

digitalWrite(led,HIGH);

delay(100);

Led=Led+1;

digitalWrite(Led,HIGH);

}while(led>1&&Led<10);

Page 6: LAPORAN MIKROKONTROLER.docx

led=6;

Led=5;

do{led=led-1;

digitalWrite(led,LOW);

delay(100);

Led=Led+1;

digitalWrite(Led,LOW);

}while(led>1&&Led<10);

}

Pembahasan

Void setup(){perintah}

Berisi dua peritah for dan pinMode,yaitu for(Led=10;Led>=6;Led--),

pinMode(Led,OUTPUT); ,for(led=1;led<=5;led++) , pinMode(led,OUTPUT); .

for(Led=10;Led>=6;Led--), pinMode(Led,OUTPUT); berati pin yang akan digunakan adalah no 10

sampai no 6 dengan inisialisasi nama “Led”.

for(led=1;led<=5;led++) , pinMode(led,OUTPUT); berati pin yang akan digunakan adalah no 1

sampai no 5 dengan inisialisasi nama “led”.

Void loop(){perintah}

Berisi 4 perintah do while. Do while merupakan perintah perulangan yang mana terdiri dari

1. Syarat pin akan no brapa yang akan di mulai.Syarat ini di isi sebelum kata”do” yang berate di

atasnya.

2. Do{},tanda kurung {} mengapit perintah perintah apa saja yang harus dilakukan, disini

programmer menginginkan lampi menyala dan mati dengan perintah digitalWrite.

3. While() tanda kurung () berati mengapit persyaratan yang berhubungan dengan perintah

dalam do.Secara garis besar perintah while berati sebagai aturan yang membatasi perintah

do dan bagaimana syarat perintah do berakhir.Ini seperti syarat pada led<=10 di perulangan

for.

Diprogram yang dibuat oleh programmer 4 perintah do while sebenarnya dapat dibagi 2 yaitu

perintah agar lampu menyala dan perintah agar lampu mati/padam.

Perintah agar lampu menyala adalah

Led=11;

Page 7: LAPORAN MIKROKONTROLER.docx

led=0;

do{

Led=Led-1;

digitalWrite(Led,HIGH);

delay(100);

led=led+1;

digitalWrite(led,HIGH);

}while(Led>5&&led<6);

Perintah menyala ini dibuat agar led dengan pin no 1 sampai pin no 5 menyala,juga agar Led

dengan pin no 10 sampai no 6 menyala atau dengan kata lain menyala merapat

Dan

led=6;

Led=5;

do{ led=led-1;

digitalWrite(led,HIGH);

delay(100);

Led=Led+1;

digitalWrite(Led,HIGH);

}while(led>1&&Led<10);

Perintah menyala ini dibuat agar led dengan pin no 5 sampai pin no 2 menyala,juga agar Led

dengan pin no 6 sampai no 10 menyala atau dengan kata lain menyala menyebar

Perintah agar lampu padam adalah

led=6;

Led=5;

do{ led=led-1;

digitalWrite(led,HIGH);

delay(100);

Led=Led+1;

digitalWrite(Led,HIGH);

Page 8: LAPORAN MIKROKONTROLER.docx

}while(led>1&&Led<10);

Perintah menyala ini dibuat agar led dengan pin no 5 sampai pin no 1 padam,juga agar Led

dengan pin no 6 sampai no 10 padam atau dengan kata lain padam menyebar

Dan

Led=11;

led=0;

do{Led=Led-1;

digitalWrite(Led,LOW);

delay(100);

led=led+1;

digitalWrite(led,LOW);

}while(Led>5&&led<6);

Perintah menyala ini dibuat agar led dengan pin no 1 sampai pin no 5 padam,juga agar Led

dengan pin no 10 sampai no 6 padam atau dengan kata lain padam merapat

C. Nyala flip flop ganjil

Program di arduino

int led;

void setup(){

for(led=10;led>=1;led--){

pinMode(led,OUTPUT);

}

}

void loop(){

digitalWrite(9,HIGH);

digitalWrite(7,HIGH);

digitalWrite(5,HIGH);

digitalWrite(3,HIGH);

digitalWrite(1,HIGH);

delay(100);

Page 9: LAPORAN MIKROKONTROLER.docx

digitalWrite(9,LOW);

digitalWrite(7,LOW);

digitalWrite(5,LOW);

digitalWrite(3,LOW);

digitalWrite(1,LOW);

delay(100);

digitalWrite(10,HIGH);

digitalWrite(8,HIGH);

digitalWrite(6,HIGH);

digitalWrite(4,HIGH);

digitalWrite(2,HIGH);

delay(100);

digitalWrite(10,LOW);

digitalWrite(8,LOW);

digitalWrite(6,LOW);

digitalWrite(4,LOW);

digitalWrite(2,LOW);

delay(100);

}

Pembahasan

Void setup(){perintah}

Berisi perulangan for,seperti dibawah ini

for(led=10;led>=1;led--){

pinMode(led,OUTPUT);}

fungsi perulangan ini adalah untuk nyeting pin yang akan digunakan yaitu diawali pin 10 sampe pin 1

yang di inisialisasi nama “led” . ”led>=1” merupakan pengujian yang digunakan untuk melakukan

pengulangan yang dilakukan lagi atau diakhiri.Sedang led—adalah pemutakhiran pencacah dipakai

untuk menaikan atau menurunkan nilai oencacah yang digunakan untuk mengontrol pengulangan.

Void loop(){perintah}

Page 10: LAPORAN MIKROKONTROLER.docx

Berisi perintah agar led yang nyala adalah pin dengan no ganjil yang nyalanya bersamaan kemudian mati

dan pin dengan no genap nyala bersamaan dan mati.Perintah menyalakan lampu menggunakan

perintah digitalWrite(no_pin,HIGH).Satu perintah ini untuk satu no pin sehingga untuk menyalakan

lampu pin ganjil(1,3,5,7,9) dibutuhkan 5 perintah digitalWrite.Begitu pula dengan untuk menyalakan

lampu led dengan pin no genap(10,8,6,4,2) .Untuk perintah mematikan lampu led juga menggunakan

perintah digitalWrite hanya kata “HIGH” diganti dengan “LOW” aturan yang dibutuhkan juga sama.

Perintah delay(angka) difungsikan sebagai timer lampu nyala/mati sebelum pindah ke perintah yang

dibawahnya.Disini programmer menyeting agar delay bernilai 100mili detik dengan perintah delay(100)

D. Nyala flip flop genap

Listing program

int led;

void setup(){

for(led=10;led>=1;led--){

pinMode(led,OUTPUT);

}

}

void loop(){

digitalWrite(10,HIGH);

digitalWrite(9,HIGH);

digitalWrite(6,HIGH);

digitalWrite(5,HIGH);

digitalWrite(2,HIGH);

digitalWrite(1,HIGH);

delay(1000);

digitalWrite(10,LOW);

digitalWrite(9,LOW);

digitalWrite(6,LOW);

digitalWrite(5,LOW);

digitalWrite(2,LOW);

digitalWrite(1,LOW);

Page 11: LAPORAN MIKROKONTROLER.docx

delay(1000);

digitalWrite(8,HIGH);

digitalWrite(7,HIGH);

digitalWrite(4,HIGH);

digitalWrite(3,HIGH);

delay(1000);

digitalWrite(8,LOW);

digitalWrite(7,LOW);

digitalWrite(4,LOW);

digitalWrite(3,LOW);

delay(1000);}

Pembahasan

Void setup(){perintah}

Berisi perintah untuk “mempersiapkan” agar pin yang digunakan adalah pin no 10 sampe pin no 1

dengan inilialsasi nama”led”. Perintah tersebut terdiri dari

for digunakan untuk perulangan dengan led=10 adalah inisial_pencacah atau nilai awal

pencacah dan led>=1 adalah bagian pengujian yang digunakan untuk menentukan

pengulangan atau pengakhiran perintah for. Dan led—digunakan untuk menaikan atau

menurunkan nilai pencacah .

Dan perintah pinMode(led,OUTPUT) adalah perintah agar arduino

“mempersiapkan”pin yang digunakan dengan nama led.

Void loop(){perintah}

Berisi perintah agar lampu led yang nyala adalah pin no 1,2,5,6,9,10 dan nyala bersama. Kemudian

mati dan pin dengan no 3,4,7,8 nyala bersama kemudian mati.Dan perintah untuk menyalakan

lampu led adalah digitalWrite(no_led,HIGH). Satu perintah ini untuk satu no pin sehingga untuk

menyalakan lampu pin (1,2,5,6,9,10) dibutuhkan 6 perintah digitalWrite.Begitu pula untuk

mematikan lampu led dengan no pin tersebut juga menggunakan digitalWrite(no_pin,LOW) dengan

aturan yang sama dengan digitalWrite yang digunakan untuk menyalakan lampu, yaitu Satu perintah

digitalWrite untuk satu no pin. Untuk menyalakan pin led no 3,4,7,dan 8 juga menggunakan

digitalWrite(no_led,HIGH) dan digitalWrite(no_pin,LOW) untuk mematikan lampu led.