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
Embed
3 II Laporan Praktikum Mikrokontroler - Count Up n Down
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
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
C. Desain
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
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++){ …
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);
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 :
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
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.