Anda di halaman 1dari 24

LAPORAN PRAKTIKUM

MIKROKONTROLER II
BAB II

Dosen Pembimbing:
Dr. Tri Wiyanto, S.Si, MT
19730502 200312 1 002

Disusun oleh :
Mohklis Widi Utama P
P27838120107
D4 AJ2

POLITEKNIK KESEHATAN KEMENKES SURABAYA


JURUSAN TEKNIK ELEKTROMEDIK
TAHUN AJARAN 2020/2021
PRAKTIKUM I I

7 SEGMEN

I. Tujuan
Mahasiswa mampu menggunakan mikrokontroller Arduino untuk mengendalikan tampilan 7
segment Common Anode

II. Alat dan Bahan


1. Arduino Uno
2. Modul Multi-Function Shield Arduino
3. Software Arduino
4. Software Simulator Tinkercad
5. 7 Segment
6. Push Button

III. Dasar Teori


Arduino adalah pengendali mikro single-board yang bersifat sumber terbuka, diturunkan
dari wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai
bidang. Perangkat kerasnya memiliki prosesor Atmel AVR.
7 segmen merupakan sebuah display yang berfungsi menampilkan sebuah karakter baik
huruf maupun digit angka. Namun untuk huruf sangat terbatas, ada beberapa huruf yang
tidak bisa ditampilkan.
Pushbutton adalah sakelar tekan yang berfungsi untuk menghubungkan atau memisahkan
bagian-bagian dari suatu instalasi listrik satu sama lain (suatu sistem switch tekan pushbutton
terdiri dari sakelar tekan start. Pada dasarnya, terdapat 2 jenis pushbutton di pasaran: Push-
On dan Push-Off. Tetapi yang kita gunakan pada tutorial ini adalah yang berjenis Push-On,
yaitu komponen yang terdiri atas dua kutub yang saling terpisah / tidak terhubung, dan
sebuah tombol yang ketika ditekan akan menghubungkan kedua kutub tersebut sehingga
akan mengalirkan arus listrik dari satu sisi kutub ke sisi kutub berikutnya.
IV. Lembar Kerja Praktikum
A. Lembar kerja Nomor 1
a. Diagram Skematik

b. Penjelasan Rangkaian
Pada rangkaian diatas menggunakan 4 buah 7segment common anoda, yang
mana setiap common nya terhubung pada pin A1, A2, A3, A4 Arduino. Sedangkan
untuk membentuk karakter pada 7segment nya terhubung pada pin 2, 3, 4, 5, 6, 7, 8
pada Arduino
c. Flowchart

START

INISIALISASI

SEGMENT 1 MEMUNCULKAN
TULISAN “ 1 “

DELAY

SEGMENT 2 MEMUNCULKAN
TULISAN “ 2 “

DELAY

SEGMENT 3 MEMUNCULKAN
TULISAN “ 3 “

DELAY

SEGMENT 4 MEMUNCULKAN
TULISAN “ 4 “

DELAY

END
Pertama kali program dijalankan maka program akan diinisialisasi kemudian
program akan langsung menyalakan masing-masing 7segment berdasarkan program
yang sudah disetting yaitu 7segment pertama memunculkan tulisan “1”, kemudian
yang kedua memunculkan tulisan “2”, yang ketiga memunculkan tulisan “3”,
kemudian yang terakhir memunculkan tulisan “4”
d. Listing Program
int databaca; digitalWrite(A1, 0);
void setup() { digitalWrite(A2, 0);
pinMode(A1, OUTPUT); digitalWrite(A3, 1);
pinMode(A2, OUTPUT); digitalWrite(A4, 0);
pinMode(A3, OUTPUT); digitalWrite(2, 0);
pinMode(A4, OUTPUT); digitalWrite(3, 0);
pinMode(2, OUTPUT); digitalWrite(4, 0);
pinMode(3, OUTPUT); digitalWrite(5, 0);
pinMode(4, OUTPUT); digitalWrite(6, 1);
pinMode(5, OUTPUT); digitalWrite(7, 1);
pinMode(6, OUTPUT); digitalWrite(8, 0);
pinMode(7, OUTPUT); delay(50);
pinMode(8, OUTPUT); digitalWrite(A1, 0);
} digitalWrite(A2, 0);
void loop() { digitalWrite(A3, 0);
digitalWrite(A1, 1); digitalWrite(A4, 1);
digitalWrite(A2, 0); digitalWrite(2, 1);
digitalWrite(A3, 0); digitalWrite(3, 0);
digitalWrite(A4, 0); digitalWrite(4, 0);
digitalWrite(2, 1); digitalWrite(5, 1);
digitalWrite(3, 0); digitalWrite(6, 1);
digitalWrite(4, 0); digitalWrite(7, 0);
digitalWrite(5, 1); digitalWrite(8, 0);
digitalWrite(6, 1); delay(50);
digitalWrite(7, 1); }
digitalWrite(8, 1);
delay(50);
digitalWrite(A1, 0);
digitalWrite(A2, 1);
digitalWrite(A3, 0);
digitalWrite(A4, 0);
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 0);
delay(50);
e. Hasil dan Analisa
• Kondisi ketika program diupload maka 7segment akan memunculkan display
sesuai program yaitu 1, 2, 3, 4

Analisa :
Dari program diatas program Arduino dapat menampilkan display pada 7segment,
pada 7segment pertama memunculkan “1”, pada 7segment kedua memunculkan “2”,
pada 7segment ketiga memunculkan “3”, pada 7segment keempat memunculkan “4”,
B. Lembar Kerja Nomor 2
a. Diagram Skematic

b. Penjelasan Rangkaian
Pada rangkaian diatas menggunakan 4 buah 7segment common anoda, yang
mana setiap common nya terhubung pada pin A1, A2, A3, A4 Arduino. Sedangkan
untuk membentuk karakter pada 7segment nya terhubung pada pin 2, 3, 4, 5, 6, 7, 8
pada Arduino
c. Flow Chart

START

INISIALISASI

SEGMENT 1 MEMUNCULKAN
TULISAN “ A “

DELAY

SEGMENT 2 MEMUNCULKAN
TULISAN “ b “

DELAY

SEGMENT 3 MEMUNCULKAN
TULISAN “ C “

DELAY

SEGMENT 4 MEMUNCULKAN
TULISAN “ d “

DELAY

END
Pertama kali program dijalankan maka program akan diinisialisasi kemudian
program akan langsung menyalakan masing-masing 7segment berdasarkan program
yang sudah disetting yaitu 7segment pertama memunculkan tulisan “A”, kemudian
yang kedua memunculkan tulisan “b”, yang ketiga memunculkan tulisan “C”,
kemudian yang terakhir memunculkan tulisan “d”
d. Listing Program
int databaca; digitalWrite(A3, 1);
void setup() { digitalWrite(A4, 0);
pinMode(A1, OUTPUT); digitalWrite(2, 0);
pinMode(A2, OUTPUT); digitalWrite(3, 1);
pinMode(A3, OUTPUT); digitalWrite(4, 1);
pinMode(A4, OUTPUT); digitalWrite(5, 0);
pinMode(2, OUTPUT); digitalWrite(6, 0);
pinMode(3, OUTPUT); digitalWrite(7, 0);
pinMode(4, OUTPUT); digitalWrite(8, 1);
pinMode(5, OUTPUT); delay(50);
pinMode(6, OUTPUT); digitalWrite(A1, 0);
pinMode(7, OUTPUT); digitalWrite(A2, 0);
pinMode(8, OUTPUT); digitalWrite(A3, 0);
} digitalWrite(A4, 1);
void loop() { digitalWrite(2, 1);
digitalWrite(A1, 1); digitalWrite(3, 0);
digitalWrite(A2, 0); digitalWrite(4, 0);
digitalWrite(A3, 0); digitalWrite(5, 0);
digitalWrite(A4, 0); digitalWrite(6, 0);
digitalWrite(2, 0); digitalWrite(7, 1);
digitalWrite(3, 0); digitalWrite(8, 0);
digitalWrite(4, 0); delay(50);
digitalWrite(5, 1); }
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
delay(50);
digitalWrite(A1, 0);
digitalWrite(A2, 1);
digitalWrite(A3, 0);
digitalWrite(A4, 0);
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
delay(50);
digitalWrite(A1, 0);
digitalWrite(A2, 0)
e. Hasil dan Analisa
• Kondisi ketika program diupload maka 7segment akan memunculkan display
sesuai program yaitu A, b, C, d.

Analisa :
Dari program diatas program Arduino dapat menampilkan display pada 7segment,
pada 7segment pertama memunculkan “A”, pada 7segment kedua memunculkan “b”,
pada 7segment ketiga memunculkan “C”, pada 7segment keempat memunculkan “d”.
C. Lembar Kerja Nomor 3
a. Diagram Skematic

b. Penjelasan Rangkaian
Pada rangkaian diatas menggunakan 4 buah 7segment common anoda, yang
mana setiap common nya terhubung pada pin A1, A2, A3, A4 Arduino. Sedangkan
untuk membentuk karakter pada 7segment nya terhubung pada pin 2, 3, 4, 5, 6, 7, 8
pada Arduino. Rangkaian diatas juga menggunakan Push Button yang mana
terhubung pada pin 9 dan 10 Arduino.
c. Flow Chart

START

INISIALISASI

SEGMENT 1 MATI

TIDAK
SW 1 DI TEKAN ?

YA

SEGMENT 1
MEMUNCULKAN “A”

TIDAK
SW 2 DI TEKAN ?

YA

SEGMENT 1
MEMUNCULKAN “b”

Pertama kali program dijalankan maka program akan diinisialisasi, kemudian


pada posisi awal kondisi 7segment akan mati, apabila sw1 ditekan maka 7segment
akan menampilkan display “A”, kemudian apabila sw2 ditekan maka 7segment akan
menampilkan display “b”.
d. Listing Program
int databaca; if(digitalRead(9) == LOW){
int kunci = 0; kunci = 2 ;}
void setup() { if (kunci == 2 ){
pinMode(A1, OUTPUT); digitalWrite(A1, 1);
pinMode(A2, OUTPUT); digitalWrite(A2, 0);
pinMode(A3, OUTPUT); digitalWrite(A3, 0);
pinMode(A4, OUTPUT); digitalWrite(A4, 0);
pinMode(2, OUTPUT); digitalWrite(2, 1);
pinMode(3, OUTPUT); digitalWrite(3, 1);
pinMode(4, OUTPUT); digitalWrite(4, 0);
pinMode(5, OUTPUT); digitalWrite(5, 0);
pinMode(6, OUTPUT); digitalWrite(6, 0);
pinMode(7, OUTPUT); digitalWrite(7, 0);
pinMode(8, OUTPUT); digitalWrite(8, 0);
pinMode(9, INPUT); delay(50);
pinMode(10, INPUT);} }
void loop() { }
if (kunci == 0){
digitalWrite(A1, 0);
digitalWrite(A2, 0);
digitalWrite(A3, 0);
digitalWrite(A4, 0);
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);}
if (digitalRead(10) == LOW){
kunci = 1;}
if (kunci ==1){
digitalWrite(A1, 1);
digitalWrite(A2, 0);
digitalWrite(A3, 0);
digitalWrite(A4, 0);
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
delay(50);}
e. Hasil dan Analisa
• Kondisi awal 7segment dalam kondisi mati

• Kondisi ketika sw1 ditekan maka 7segment akan memunculkan display “A”
• Kondisi ketika sw2 ditekan maka 7segment akan memunculkan display “b”

Analisa :
Dari hasil pengujian program diatas 7segment dapat diatur dengan Pushbutton,
yang mana ketika sw1 ditekan maka 7segment akan menampilkan “A”, sedangkan
apabila sw2 ditekan maka 7segment akan menampilkan “b”.
D. Lembar Kerja Nomor 4
a. Diagram Skematic

b. Penjelasan Rangkaian
Pada rangkaian diatas menggunakan 4 buah 7segment common anoda, yang
mana setiap common nya terhubung pada pin A1, A2, A3, A4 Arduino. Sedangkan
untuk membentuk karakter pada 7segment nya terhubung pada pin 2, 3, 4, 5, 6, 7, 8
pada Arduino. Rangkaian diatas juga menggunakan Push Button yang mana
terhubung pada pin 9, 10, 11, 12 Arduino.
c. Flow Chart

START

INISIALISASI

SEGMENT 1 MATI

TIDAK
SW 1 DI TEKAN ?

YA

SEGMENT 1
MEMUNCULKAN “A”

TIDAK
SW 2 DI TEKAN ?

YA

SEGMENT 1
MEMUNCULKAN “b”

TIDAK
SW 3 DI TEKAN ?

YA

SEGMENT 1 SEGMENT 1
MEMUNCULKAN “d” MEMUNCULKAN “C”

YA TIDAK
SW 4 DI TEKAN ?
d. Listing Program
int databaca; digitalWrite(A1, 1);
int kunci = 0; digitalWrite(A2, 0);
void setup() { digitalWrite(A3, 0);
pinMode(A1, OUTPUT); digitalWrite(A4, 0);
pinMode(A2, OUTPUT); digitalWrite(2, 1);
pinMode(A3, OUTPUT); digitalWrite(3, 1);
pinMode(A4, OUTPUT); digitalWrite(4, 0);
pinMode(2, OUTPUT); digitalWrite(5, 0);
pinMode(3, OUTPUT); digitalWrite(6, 0);
pinMode(4, OUTPUT); digitalWrite(7, 0);
pinMode(5, OUTPUT); digitalWrite(8, 0);
pinMode(6, OUTPUT); delay(50);}
pinMode(7, OUTPUT); if(digitalRead(10) == LOW){
pinMode(8, OUTPUT); kunci = 3 ;}
pinMode(9, INPUT); if (kunci == 3 ){
pinMode(10, INPUT); digitalWrite(A1, 1);
pinMode(11, INPUT); digitalWrite(A2, 0);
pinMode(12, INPUT);} digitalWrite(A3, 0);
void loop() { digitalWrite(A4, 0);
if (kunci == 0){ digitalWrite(2, 0);
digitalWrite(A1, 0); digitalWrite(3, 1);
digitalWrite(A2, 0); digitalWrite(4, 1);
digitalWrite(A3, 0); digitalWrite(5, 0);
digitalWrite(A4, 0); digitalWrite(6, 0);
digitalWrite(2, 1); digitalWrite(7, 0);
digitalWrite(3, 1); digitalWrite(8, 1);
digitalWrite(4, 1); delay(50);}
digitalWrite(5, 1); if(digitalRead(9)==LOW){
digitalWrite(6, 1); kunci = 4 ;}
digitalWrite(7, 1); if (kunci == 4 ){
digitalWrite(8, 1);} digitalWrite(A1, 1);
if (digitalRead(12) == LOW){ digitalWrite(A2, 0);
kunci = 1;} digitalWrite(A3, 0);
if (kunci ==1){ digitalWrite(A4, 0);
digitalWrite(A1, 1); digitalWrite(2, 1);
digitalWrite(A2, 0); digitalWrite(3, 0);
digitalWrite(A3, 0); digitalWrite(4, 0);
digitalWrite(A4, 0); digitalWrite(5, 0);
digitalWrite(2, 0); digitalWrite(6, 0);
digitalWrite(3, 0); digitalWrite(7, 1);
digitalWrite(4, 0); digitalWrite(8, 0);
digitalWrite(5, 1); delay(50);}}
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
delay(50);}
if(digitalRead(11) == LOW){
kunci = 2 ;}
if (kunci == 2 ){
e. Hasil dan Analisa
• Kondisi awal ketika program dijalankan 7segment dalam keadaan mati

• Kondisi ketika sw1 ditekan maka 7segment akan menampilkan display “A”
• Kondisi ketika sw2 ditekan maka 7segment akan menampilkan display “b”

• Kondisi ketika sw3 ditekan maka 7segment akan menampilkan display “C”
• Kondisi ketika sw4 ditekan maka 7segment akan menampilkan display “d”
V. Tugas
1. Rencanakan program untuk mendeteksi saklar dan menampilkan ke 7 segmen di
shield multifuction, dengan keterangan sebagai berikut:
a. Pada saat awal akan cetak huruf H pada Y3
b. Bila saklar PINB.5 ditekan maka 7 segmen Y2 akan cetak huruf b (kecil)
c. Bila saklar PINB.6 ditekan maka 7 segmen Y4 akan cetak huruf P
Note: sesuaikan dengan saklar di multifunction shield.
Jawaban :
A. Listing Program

#include <ShiftRegister74HC595.h> if (digitalRead(A1) == LOW)


ShiftRegister74HC595<2> sr(8, 7, 4); {kunci = 1;}
int databaca; if (kunci == 1){
int kunci = 0; sr.set(0,LOW); // SEGMENT 1
sr.set(1,HIGH); // SEGMENT 2
void setup() { sr.set(2,LOW); // SEGMENT 3
pinMode(A1, INPUT); sr.set(3,LOW); // SEGMENT 4
pinMode(A2, INPUT);} sr.set(8,HIGH); // A
sr.set(9,HIGH); // B
void loop(){ sr.set(10,LOW);// C
if (kunci ==0){ sr.set(11,LOW); // D
sr.set(0,LOW); // SEGMENT 1 sr.set(12,LOW); // E
sr.set(1,LOW); // SEGMENT 2 sr.set(13,LOW); // F
sr.set(2,HIGH); // SEGMENT 3 sr.set(14,LOW);// G
sr.set(3,LOW); // SEGMENT 4 sr.set(15,HIGH);// dp
sr.set(8,HIGH); // A }
sr.set(9,LOW); // B if (digitalRead(A2) == LOW)
sr.set(10,LOW);// C {kunci = 2;}
sr.set(11,HIGH); // D if (kunci == 2){
sr.set(12,LOW); // E sr.set(0,LOW); // SEGMENT 1
sr.set(13,LOW); // F sr.set(1,LOW); // SEGMENT 2
sr.set(14,LOW);// G sr.set(2,LOW); // SEGMENT 3
sr.set(15,HIGH);// dp sr.set(3,HIGH); // SEGMENT 4
} sr.set(8,LOW); // A
sr.set(9,LOW); // B
sr.set(10,HIGH);// C
sr.set(11,HIGH); // D
sr.set(12,LOW); // E
sr.set(13,LOW); // F
sr.set(14,LOW);// G
sr.set(15,HIGH);// dp
}
}

B. Hasil dan Analisa


➢ Kondisi pertama ketika program sudah dijalankan maka 7segment Y3 akan
menampilkan display “ H “
➢ Kondisi ketika S1 ditekan maka 7segment Y2 akan menampilkan huruf b (kecil)

➢ Kondisi ketika S2 ditekan maka 7segment Y4 akan menampilkan huruf p (kecil)

VI. Kesimpulan
Berdasarkan percobaan praktikum yang telah dilakukan bahwa untuk mengaktifkan
7segment berjenis common anode maka dibutuhkan logika 1 pada common agar 7segment
dapat menyala, dan pada karakternya dibutuhkan logika 0 agar dapat mencetak display yang
diinginkan.

Anda mungkin juga menyukai