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
7 SEGMEN
I. Tujuan
Mahasiswa mampu menggunakan mikrokontroller Arduino untuk mengendalikan tampilan 7
segment Common Anode
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”
• 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
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.