Top Banner
LAPORAN PRAKTIKUM MIKROKONTROLER PROYEK 3 – RUD COUNTER ( RANDOM, UP, AND DOWN ) FIQI S. KHOIR 13306141062 LABORATORIUM ELEKTRONIKA DAN INSTRUMENTASI A.Tujuan 1.Merancang perangkat Seven Segment yang dikombinasikan dengan perangkat Arduino UNO sebagai perangkat yang berfungsi sebagai Pencacah B.Program
12

3 II Laporan Praktikum Mikrokontroler - Count Up n Down

Jul 10, 2016

Download

Documents

SiMalungunu

Arduino Uno - seven segment - RUD Counter
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 3 II Laporan Praktikum Mikrokontroler - Count Up n Down

LAPORAN PRAKTIKUM MIKROKONTROLER

PROYEK 3 – RUD COUNTER ( RANDOM, UP, AND DOWN )

FIQI S. KHOIR 13306141062

LABORATORIUM ELEKTRONIKA DAN INSTRUMENTASI

A. Tujuan1. Merancang perangkat Seven Segment yang dikombinasikan dengan

perangkat Arduino UNO sebagai perangkat yang berfungsi sebagai Pencacah

B. Program

Page 2: 3 II Laporan Praktikum Mikrokontroler - Count Up n Down
Page 3: 3 II Laporan Praktikum Mikrokontroler - Count Up n Down

C. Desain

Page 4: 3 II Laporan Praktikum Mikrokontroler - Count Up n Down

D. Pembahasan

Percobaan Proyek 3 bertujuan untuk merancang perangkat Seven Segment yang dikombinasikan dengan perangkat Arduino UNO sebagai perangkat yang berfungsi sebagai Pencacah Naik, Turun , dan Acak.

Percobaan menggunakan 2 buah seven segment, dimana seven segment pertama berfungsi sebagai display satuan, sedangkan seven segment kedua berfungsi sebagai display puluhan. Sistem control yang digunakan adalah Arduino UNO. Dan Sub Program yang digunakan ada 3, yaitu Program untuk melakukan count up, count down , serta count random. Setiap pengalihan program menggunakan push button, dengan push button 1 untuk mengaktifkan count random, push button 2 untuk mengaktifkan count down, sedang push button 3 sebagai count up.

Sebelum melakukan programming pada ke tiga sub program, yang pertama kali dilakukan adalah mengatur deklarasi yang digunakan, yaitu,

CountDown : fungsi untuk cacah turun

CountUp : fungsi untuk cacah naik

CountRandom : fungsi untuk cacah random

CountRandom1 : fungsi untuk bilangan random satuan

CountRandom2 : fungsi untuk bilangan random puluhan

biner1 : fungsi untuk bilangan satuan

biner2 : fungsi untuk bilangan puluhan

n : fungsi pin

k : fungsi for untuk loop bilangan puluhan

l : fungsi for untuk loop bilangan satuan

Page 5: 3 II Laporan Praktikum Mikrokontroler - Count Up n Down

Kemudian mengatur nyalanya seven segment berdasarkan perintah dari pin, dengan aturan byte, yaitu :

byte angka[10] = {

0b0111111, //0

0b0000110, //1

0b1011011, //2

0b1001111, //3

0b1100110, //4

0b1101101, //5

0b1111101, //6

0b0000111, //7

0b1111111, //8

0b1101111}; //9

a. Void Setup

Pada bagian void setup, mengatur pin pin Arduino yang akan digunakan. Mulai dari pin arduino 0-13 sebagai output, kemudian pin A0-A3 sebagai input push button. Pin A0 difungsikan sebagai pin 14, dst. Selanjutnya

… for(k=0;k<=9;k++){

for(l=0;l<=9;l++){

for(n=0;n<=6;n++){ …

Page 6: 3 II Laporan Praktikum Mikrokontroler - Count Up n Down

b. Void Loop

Pertama mengatur loop for , mulai dari k sebagai puluhan ,l sebagai satuan, dan n sebagai pin yang men-trigger seven segment untuk menyala secara fungsi binary yang telah dideklarasikan sebelumnya.

1. Sub Program Count Up

Pertama mengatur fungsi If, dengan fungsi count up dalam keadaan HIGH. Kemudian pada loop for , untuk fungsi k adalah k++ dan l adalah l++. Selanjutnya, mengatur fungsi biner untuk membaca fungsi n sebagai fungsi binary yang akan menyalakan seven segment dalam bentuk decimal dengan fungsi binary. Kemudian memberikan selang waktu 100 milisekon sebagai jeda, sehingga display puluhan merupakan perubahan dalam detik , sedang display satuan merupakan perubahan dalam 0,1 detik :

for(k=0;k<=9;k++) {

for(l=0;l<=9;l++) {

for(n=0;n<=6;n++) {

biner1=bitRead(angka[l],n);

digitalWrite(n,biner1);

}

for(n=0;n<=6;n++){

biner2=bitRead(angka[k],n);

digitalWrite(n+7,biner2);

}

delay(100);

Page 7: 3 II Laporan Praktikum Mikrokontroler - Count Up n Down

Screen Shoot Count-Up

1. Start ( CountUp==HIGH)

2. End

2. Sub Program Count Down

Pertama mengatur fungsi If, dengan fungsi count down dalam keadaan HIGH. Kemudian pada loop for , untuk fungsi k adalah k-- dan l adalah l--. Selanjutnya, mengatur fungsi biner untuk membaca fungsi n sebagai fungsi binary yang akan menyalakan seven segment dalam bentuk decimal dengan fungsi binary. Kemudian memberikan selang waktu 100 milisekon sebagai jeda, sehingga display puluhan merupakan perubahan dalam detik , sedang display satuan merupakan perubahan dalam 0,1 detik :

Page 8: 3 II Laporan Praktikum Mikrokontroler - Count Up n Down

for(k=0;k<=9;k--) {

for(l=0;l<=9;l--) {

for(n=0;n<=6;n++) {

biner1=bitRead(angka[l],n);

digitalWrite(n,biner1);

}

for(n=0;n<=6;n++){

biner2=bitRead(angka[k],n);

digitalWrite(n+7,biner2);

}

delay(100);

Screen Shoot Count-Down

1. Start ( CountDown==HIGH)

2. End

Page 9: 3 II Laporan Praktikum Mikrokontroler - Count Up n Down

3. Sub Program Count Random

Pertama mengatur fungsi If, dengan fungsi count random dalam keadaan HIGH. Kemudian mengatur bagian puluhan seven segment sebagai CountRandom2, dan satuan seven segment sebagai CountRandom1. Selanjutnya, mengatur fungsi biner untuk membaca fungsi n sebagai fungsi binary yang akan menyalakan seven segment dalam bentuk decimal dengan fungsi binary.

CountRandom1=random(0,9);

CountRandom2=random(0,9);

for(n=0;n<=6;n++){

biner1=bitRead(angka[CountRandom1],n);

biner2=bitRead(angka[CountRandom2],n);

digitalWrite(n,biner1);

digitalWrite(n+7,biner2);

}

delay(100);

}

}

Page 10: 3 II Laporan Praktikum Mikrokontroler - Count Up n Down

Screen Shoot Count-Random

1. Click1 ( CountRandom==HIGH)

2. Click2 ( CountRandom==HIGH)

3. Click3 ( CountRandom==HIGH)