Labsheet 05 Arduino - NEW
Labsheet 05 Arduino - NEW
1. Kompetensi
Peserta didik mampu menjelaskan pemrograman output digital mikrokontroler Arduino menggunakan
komponen seven segment
2. Sub Kompetensi
Dapat menerapkan pemrograman output digital dengan seven segment
Dapat menerapkan pemrograman pembacaan input dengan seven segment
3. Dasar Teori
Seven Segment (7-Segment) tidak asing lagi, yang sering dijumpai pada kehidupan sehari-sehari,
seperti pada jam tangan, jam dinding, mesin cuci, serta alat-alat elektronik lainnya. Walaupun bisa
dikatakan bahwa 7-Seg merupakan tampilan yang sudah lama ada, akan tetapi trend pengguanaanya
tidak bisa digantikan dengan tampilan lain. Hal inilah yang menjadikan 7-segment tetap masih
dipertahankan sebagai salah satu tampilan pada segala jenis alat-alat elektronik.
Pada dasarnya 7-seg terdiri dari 7 buah LED, yang dirangkai menjadi satu sehingga dapat
membentuk angka-angka 0-9. Pada perkembangannya 7-seg ditambahkan satu bagian lagi sebagai
tanda titik (dot point). Berdasarkan standart penamaan setiap bagian pada 7-seg dapat dituliskan
dengan ilustrasi gambar sebagai berikut;
7-seg terdiri dari 2 jenis atau type yang beredar dipasaran, yaitu Common Anode dan Common
Cathode. Common memiliki terjemahan “bersama”, artinya salah satu kutup pada 7-seg dijadikan
menjadi satu, atau dapat dikatakan satu kaki 7-seg dipakai bersama dengan jenis kutup yang sejenis.
Pengetahuan akan common pada setiap penggunaan 7-seg sangatlah penting, dikarena berkaitan
dengan cara untuk menghidupkannya apakah active high atau active low. Secara skematik dua jenis
tersebut dapat digambarkan sebagai berikut;
5. Langkah Kerja
3. Cek seven segment menggunakan multimeter dan isi tabel dibawah ini :
TABEL PENGUJIAN 1 2 3 4 5
0 1 2 3 4 5 6 7 8 9 Pin No
SEG A
SEG B
SEG C
SEG D
SEG E
SEG F
SEG G
DOT
Common (Anoda/Katoda)
6 7 8 9 10
SMK NEGERI 2 KLATEN
LAB SHEET Praktik Mikrokontroler
Semester 3 LS 5 : SEVEN SEGMENT 4 X 40 Menit
No. LSHU/03/MPPL/001 TITL Tgl : 2022 Hal 4 dari 7
void setup() {
void loop() {
// fungsi Digit
// untuk menampilkan angka pada seven segment
void Digit(byte data, boolean dp, int brightness){
brightness_now = micros();
if(brightness_now – brightness_last < brightness_limit){
// nyalakan 7 segmen sesuai angka
switch(data){
case 0:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_ON);
digitalWrite(SegF, SEGMENT_ON);
digitalWrite(SegG, SEGMENT_OFF);
digitalWrite(SegDp, dp);
break;
case 1:
digitalWrite(SegA, SEGMENT_OFF);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_OFF);
digitalWrite(SegE, SEGMENT_OFF);
digitalWrite(SegF, SEGMENT_OFF);
digitalWrite(SegG, SEGMENT_OFF);
digitalWrite(SegDp, dp);
break;
case 2:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_OFF);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_ON);
digitalWrite(SegF, SEGMENT_OFF);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;
case 3:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_OFF);
digitalWrite(SegF, SEGMENT_OFF);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;
case 4:
digitalWrite(SegA, SEGMENT_OFF);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
SMK NEGERI 2 KLATEN
LAB SHEET Praktik Mikrokontroler
Semester 3 LS 5 : SEVEN SEGMENT 4 X 40 Menit
No. LSHU/03/MPPL/001 TITL Tgl : 2022 Hal 6 dari 7
digitalWrite(SegD, SEGMENT_OFF);
digitalWrite(SegE, SEGMENT_OFF);
digitalWrite(SegF, SEGMENT_ON);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;
case 5:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_OFF);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_OFF);
digitalWrite(SegF, SEGMENT_ON);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;
case 6:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_OFF);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_ON);
digitalWrite(SegF, SEGMENT_ON);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;
case 7:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_OFF);
digitalWrite(SegE, SEGMENT_OFF);
digitalWrite(SegF, SEGMENT_OFF);
digitalWrite(SegG, SEGMENT_OFF);
digitalWrite(SegDp, dp);
break;
case 8:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_ON);
digitalWrite(SegF, SEGMENT_ON);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;
case 9:
digitalWrite(SegA, SEGMENT_ON);
digitalWrite(SegB, SEGMENT_ON);
digitalWrite(SegC, SEGMENT_ON);
digitalWrite(SegD, SEGMENT_ON);
digitalWrite(SegE, SEGMENT_OFF);
digitalWrite(SegF, SEGMENT_ON);
digitalWrite(SegG, SEGMENT_ON);
digitalWrite(SegDp, dp);
break;
}
}else{
// matikan semua 7 segment
for(byte d=0; d<sizeof(SEGMENT); d++){
SMK NEGERI 2 KLATEN
LAB SHEET Praktik Mikrokontroler
Semester 3 LS 5 : SEVEN SEGMENT 4 X 40 Menit
No. LSHU/03/MPPL/001 TITL Tgl : 2022 Hal 7 dari 7
digitalWrite(SEGMENT[d], SEGMENT_OFF);
}
brightness_last = brightness_now;
}
}
LS5-Tugas:
1. Buatlah program untuk menampilkan counter dari 1-3 dengan tombol menggunakan
seven segmen segment