JOB : 2 / E / 2023
Pemrograman
Jurusan : T. AUVI Tingkat :2
Mikrokontroler
Semester :3 Waktu : 2x 45 menit
Arduino
Program Diklat : Tanggal :
“Display 7 Segment”
Bid. Keahlian : T. Elektro Nama :
E. Dasar Teori
1. Display 7 Segment
Seven segment merupakan bagian-bagian yang digunakan untuk menampilkan
angka atau bilangan decimal. Seven segment tersebut terbagi menjadi 7 batang LED
yang disusun membentuk angka 8 dengan menggunakan huruf a-f. 7 Segmen tersebut
biasanya mempunyai 7 Segmen atau elemen garis dan 1 segmen titik yang
menandakan “koma” Desimal. Jumlah semua segmen atau elemen LED sebenarnya
adalah 8.
Prinsip kerja 7 segment adalah sebagai berikut :
a) Untuk memunculkan angka 0 maka bagian-bagian yang harus dihidupkan adalah
A,B,C,D,E,F
b) Untuk menyalakan 7 segment dapat dilakukan secara langsung dengan memberi
logika 1 pada jenis common cathode dan memberi logika 0 pada common anode
void setup() {
// put your setup code here, to run once:
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(dp, OUTPUT);
}
void loop() {
// angka 0
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
digitalWrite(dp, HIGH);
delay (1000);
// angka 1
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp, HIGH);
delay (1000);
}
3. Cek ulang penulisan program
4. Compaile lalu upload program dengan mengeklik tanda panah
Pertanyaan :
1. Apakah fungsi dari sintak program const int a=D0, b=D1, c=D2, d=D3, e=D4, f=D5,
g=D6, dp= D7;
2. Buatlah penampil angka 1-10
Percobaan II (Ic 74HC595 Sebagai driver 7 Segment)
Algoritma
1) Start Program
2) Inisialisasi pin arduino D5 dengan nama Clock
3) Inisialisasi pin arduino D6 dengan nama Latch
4) Inisialisasi pin arduino D7 dengan nama Data
5) Mendeskripsikan variabel digit untuk menyimpan data Array berjumlah 10 digit
6) Deklarasi Clock, Latch, Data sebagai OUTPUT
7) Mengeluarkan logika LOW ke pin Latch
8) Mengeluarkan data 0 secara bergantian dari pin Data lalu Clock dengan urutan
MSB untuk digit 4
9) Mengeluarkan data 0 secara bergantian dari pin Data lalu Clock dengan urutan
MSB untuk digit 3
10) Mengeluarkan data 0 secara bergantian dari pin Data lalu Clock dengan urutan
MSB untuk digit 2
11) Mengeluarkan data 0 secara bergantian dari pin Data lalu Clock dengan urutan
MSB untuk digit 1
12) Delay 1 detik
13) Mengeluarkan data 1 secara bergantian dari pin Data lalu Clock dengan urutan
MSB untuk digit 4
14) Mengeluarkan data 1 secara bergantian dari pin Data lalu Clock dengan urutan
MSB untuk digit 3
15) Mengeluarkan data 1 secara bergantian dari pin Data lalu Clock dengan urutan
MSB untuk digit 2
16) Mengeluarkan data 1 secara bergantian dari pin Data lalu Clock dengan urutan
MSB untuk digit 1
17) Delay 1 detik
18) Selesai.
Program
1. Buatlah rangkaaian seperti gambar berikut !
2. Buka aplikasi arduino IDE
3. Buatlah Program dengan panduan algoritma diatas lalu Ketikan program pada kolom
dibawah !
#define DATA D7 //DS
#define CLK D5//SH_CP
#define LATCH D6 //ST_CP
byte digit[10]= {0xFC, 0x30, ……, ……, ……, ……,……, ……,……, ……};
void setup() {
// put your setup code here, to run once:
pinMode(LATCH, OUTPUT);
pinMode(CLK, OUTPUT);
pinMode(DATA, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LATCH, LOW);
shiftOut(DATA, CLK, MSBFIRST, ~digit[0]); // digitTwo
shiftOut(DATA, CLK, MSBFIRST, ~digit[0]); // digitOne
shiftOut(DATA, CLK, MSBFIRST, ~digit[0]); // digitTwo
shiftOut(DATA, CLK, MSBFIRST, ~digit[0]); // digitOne
digitalWrite(LATCH, HIGH);
delay(1000);
digitalWrite(LATCH, LOW);
shiftOut(DATA, CLK, MSBFIRST, ~digit[1]); // digitTwo
shiftOut(DATA, CLK, MSBFIRST, ~digit[1]); // digitOne
shiftOut(DATA, CLK, MSBFIRST, ~digit[1]); // digitTwo
shiftOut(DATA, CLK, MSBFIRST, ~digit[1]); // digitOne
digitalWrite(LATCH, HIGH);
delay(1000);
}
4. Cek ulang penulisan program
5. Compaile lalu upload program dengan mengeklik tanda panah
6. Amati yang terjadi !
Tantangan :
1. Buatlah program arduino untuk menampilkan angka 0-9 !
2. Buatlah program untuk menampilkan nomor absen dan huruf EA !