Disusun Oleh :
Muzakkir
32119087
Kelompok 6
i
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, atas berkah
dan limpahan rahmat-Nya sehingga laporan praktikum elektronika digital dan
mikrokontroler ini dapat terselesaikan dengan judul “Seven Segment.
Dalam laporan ini masih terdapat banyak kesalahan, baik dari isi,
penyusunan maupun penulisannya. Oleh karena itu, penulis menyampaikan maaf
dan mengharapkan kritik dan saran yang bersifat membangun untuk perbaikan
pembuatan laporan ke depannya.
Penulis,
Muzakkir
ii
DAFTAR ISI
KATA PENGANTAR.......................................................................................................ii
DAFTAR ISI....................................................................................................................iii
DAFTAR GAMBAR........................................................................................................iv
DAFTAR TABEL..............................................................................................................v
DIGITAL OUTPUT LED..................................................................................................1
I. Tujuan Percobaan...................................................................................................1
II. Tugas Pendahuluan................................................................................................1
III. Teori Dasar............................................................................................................8
1. Pengertian seven segment.......................................................................................8
2. Jenis-jenis seven segment......................................................................................9
3. Prinsip kerja seven segment................................................................................10
IV. Rangkaian Percobaan..........................................................................................12
V. Alat dn Bahan......................................................................................................12
VI. Langkah Percobaan..............................................................................................12
VII. Hasil Percobaan...................................................................................................19
1. Percobaan seven segment....................................................................................19
2. Percobaan DOT Matrix........................................................................................20
VIII.Analisa Percobaan................................................................................................20
1. Percobaan seven segment.....................................................................................22
2. Percobaan DOT Matrix........................................................................................27
IX. Kesimpulan..........................................................................................................29
DAFTAR PUSTAKA.......................................................................................................vi
LAMPIRAN....................................................................................................................vii
iii
DAFTAR GAMBAR
iv
DAFTAR TABEL
v
DIGITAL OUTPUT LED
I. Tujuan Percobaan
Setelah melakukan praktikum, praktikan diharapkan:
1. Mampu membuat layout simulasi rangkaian output seven segment
di proteus menggunakan Arduino uno
2. Mampu membuat program sketch di IDE Arduino dengan
menyalakan simulasi seven segment di proteus
3. Mampu mengaplikasikan hasil simulasi di proteus ke Board
Modul Arduino Uno
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
1
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,HIGH); // yang akan
membentuk angka 1 pada seven segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11, HIGH);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8, HIGH);
digitalWrite(7,LOW); //yang akan membentuk
angka 2 pada seven segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,LOW); //yang akan membentuk
angka 3 pada seven segmen,
delay (1000);
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8, LOW);
digitalWrite(7,LOW); //yang akan membentuk
angka 4 pada seven segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,HIGH);
digitalWrite(8,LOW);
digitalWrite(7,LOW); //yang akan membentuk
angka 5 pada seven segmen,
2
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW); //yang akan membentuk
angka 6 pada seven segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7,HIGH); //yang akan
membentuk angka 7 pada seven segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW); //yang akan membentuk
angka 8 pada seven segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9, HIGH);
digitalWrite(8,LOW);
digitalWrite(7,LOW); //yang akan membentuk
angka 9 pada seven segmen
delay (1000);
}
3
Modul Arduino Uno.
void setup(){
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
}
void loop(){
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9, HIGH);
digitalWrite(8,LOW);
digitalWrite(7,LOW); //yang akan membentuk
angka 9 pada seven segmen
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW); //yang akan membentuk
angka 8 pada seven segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
digitalWrite(7,HIGH); //yang akan
membentuk angka 7 pada seven segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
4
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW); //yang akan membentuk
angka 6 pada seven segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,HIGH);
digitalWrite(8,LOW);
digitalWrite(7,LOW); //yang akan membentuk
angka 5 pada seven segmen,
delay (1000);
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8, LOW);
digitalWrite(7,LOW); //yang akan membentuk
angka 4 pada seven segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,LOW); //yang akan membentuk
angka 3 pada seven segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11, HIGH);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8, HIGH);
digitalWrite(7,LOW); //yang akan membentuk
angka 2 pada seven segmen,
5
delay (1000);
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,HIGH); // yang akan
membentuk angka 1 pada seven segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,HIGH); // yang akan
membentuk angka 0 pada seven segmen,
delay (1000);
}
void loop(){
digitalWrite(5,HIGH);
delay(1000);
satu();
delay(1000);
dua();
delay(1000);
6
tiga();
delay(1000);
empat();
delay(1000);
digitalWrite(5, LOW);
digitalWrite(4, HIGH);
delay(1000);
satu();
delay(1000);
dua();
delay(1000);
digitalWrite(4, LOW);
digitalWrite(3, HIGH);
delay(1000);
satu();
delay(1000);
dua();
delay(1000);
tiga();
delay(1000);
digitalWrite(3, LOW);
}
void nol(){
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,HIGH); //yang akan
membentuk angka 0 pada seven segmen,
}
void satu(){
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,HIGH); //yang akan
membentuk angka 1 pada seven segmen,
}
7
void dua(){
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8, HIGH);
digitalWrite(7,LOW); //yang akan membentuk
angka 2 pada seven segmen,
}
void tiga(){
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,LOW); //yang akan membentuk
angka 3 pada seven segmen,
}
void empat(){
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8, LOW);
digitalWrite(7,LOW); //yang akan membentuk
angka 4 pada seven segmen,
}
8
membentuk angka 8 yang penyusunnya menggunakan diberikan
lebel dari „a‟ sampai „g‟ dan satu lagi untuk dot point (DP).
Setiap segmen ini terdiri dari 1 atau 2 Light Emitting Diode
( LED ). salah satu terminal LED dihubungkan menjadi satu
sebagai kaki common. (Agus Bejo, 2007)
9
Gambar 2. Jenis seven segment
3. Prinsip kerja seven segment
Prinsip kerja seven segmen ialah input biner pada switch
dikonversikan masuk ke dalam decoder, baru kemudian decoder
mengkonversi bilangan biner ersebut menjadi decimal,yang
nantinya akan ditampilkan pada seven segment.
Seven segment dapat menampilkan angka-angka desimal dan
beberapa karakter tertentu melalui kombinasi aktif atau tidaknya
LED penyusunan dalam seven segment. Untuk memudahkan
penggunaan seven segment, umumnya digunakan sebuah decoder
(mengubah/ mengkoversi input bilangan biner menjadi desimal)
atau seven segment driver yang akan mengatur aktif tidaknya led-
led dalam seven segment sesuai dengan nilai biner yang
diberikan.
Dekoder BCD ke seven segment digunakan untuk menerima
masukan BCD 4-bit dan memberikan keluaran yang melewatkan
arus melalui segmen untuk menampilkan angka desimal. Jenis
dekoder BCD ke seven segment ada dua macam yaitu dekoder
yang berfungsi untuk menyalakan seven segment mode common
anoda dan dekoder yang berfungsi untuk menyalakan seven
segment mode common katoda. Contoh IC converter BCD to
Seven Segment untuk 7-segment Common Anoda decoder IC
TTL 7447 untuk Common Katoda IC TTL 7448. Salah satu
contoh saja, IC 74LS47 merupakan dekoder BCD ke seven
10
segment yang berfungsi untuk menyalakan seven segmen mode
common anoda. Gambar dan konfigurasi pin IC 74LS47
ditunjukkan pada gambar berikut (Agus Bejo, 2007)
Dekoder BCD ke seven segment mempunyai masukan berupa
bilangan BCD 4-bit (masukan A, B, C dan D). Bilangan BCD ini
dikodekan sehingga membentuk kode tujuh segmen yang akan
menyalakan ruas-ruas yang sesuai pada seven segment. Masukan
BCD diaktifkan oleh logika „1‟, dan keluaran dari dekoder 7447
adalah aktif low. Tiga masukan ekstra juga ditunjukkan pada
konfigurasi pin IC 7447 yaitu masukan (lamp test), masukan
(blanking input/ripple blanking output), dan (ripple blanking
input).
Pada konfigurasi pin IC 7447 yaitu masukan (lamp test),
masukan (blanking input/ripple blanking output), dan (ripple
blanking input). Lamp Test, berfungsi untuk mengeset display,
bila diberi logika „0‟ maka semua keluaran dari IC ini akan
berlogika 0. Sehingga seven segment akan menunjukkan angka
delapan (8). BI'/RBO' , Blanking Input/Row Blanking Output,
berfungsi untuk mematikan keluaran dari IC. Bila diberi logika
“0” maka semua keluaran IC akan berlogika “1” dan seven
segment akan mati. RBI' , Row Blanking Input, berfungsi untuk
mematikan keluaran dari IC jika semua input berlogika “0”. Bila
diberi logika “0”, diberi logika “1” dan diberi logika “0” maka
semua keluaran IC akan berlogika “1” dan seven segment akan
mati. (Agus Bejo, 2007)
11
Gambar 3. Konfigurasi pin IC 74LS47
12
Kabel jumper
male-female, male-male,
5 20 Buah
female-female
Tabel 1. Alat dan Bahan
13
5. Selanjutnya ketik sketch di bawah ini.
void setup() {
// put your setup code here, to run once:
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
}
14
6. Selanjutnya klik “Verify” pada toolbar, fungsinya untuk
mengecek coding yang kita buat sudah benar atau masih ada yang
salah.
7. Jika sketch yang kita buat suda benar, maka proses coding akan
terlihat seperti pada gambar.
9. Kemudian klik program file, dan cari lokasi sketch yang telah
dibuat pada langkah sebelumnya. (dapat dilihat pada proses
verify).
10. Setelah itu, klik open pada file yang bertipe “HEX”, seperti pada
gambar 10. Kemudian klik OK.
15
11. Selanjutnya klik play pada software proteus untuk memulai
simulasi.
12.Percobaan selanjutnya, kita akan membuat Seven Segmen
memunculkan angka 0 – 9 secara berurut.
13. Ketik sketch di bawah ini.
void setup() {
// put your setup code here, to run once:
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
}
void loop() {
// put your main code here, to run
repeatedly:
digitalWrite(10, LOW);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
16
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
17
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
delay(1000);
}
18
18. Rangkai komponen tersebut seperti pada gambar.
19
VII. Hasil Percobaan
1. Percobaan seven segment
a. Percobaan menyalakan angka 3 pada empat buah seven
segmen
20
Gambar 7. Hasil percobaan menyalakan angka 0 sampai 9 pada empat seven
segment
d. Percobaan menyalakan angka 0 sampai angka 3 berjalan dan
bergantian pada empat seven segment
21
struktur program sketch minimal terdiri dari 2 fungsi yaitu setup dan
loop.
Setup bagian program yang berfungsi untuk mendeskripsikan
variable yang digunakan . Cara penulisan sketch pada fungsi setup
yaitu dengan menuliskan void setup() yang diikuti tanda “ { ”
sebagai pembuka statement dan tanda “ } ” sebagai penutup
statement. Adapun statement yang digunakan pada fungsi setup()
yaitu pinMode(2, OUTPUT), pinMode(3, OUTPUT), pinMode(4,
OUTPUT), pinMode(5, OUTPUT), pinMode(6, OUTPUT),
pinMode(7, OUTPUT), pinMode(8, OUTPUT), pinMode(9,
OUTPUT), pinMode(10, OUTPUT), pinMode(11, OUTPUT),
pinMode(12, OUTPUT), pinMode(13,OUTPUT), yang artinya
mendeskripsikan atau mengenalkan kepada program bahwa pin yang
digunakan adalah pin nomor 2,3,4,5,6,7,8,9,10,11,12, dan 13 sebagai
output (keluaran) dengan diakhiri tanda “ ; ” sebagai tanda
berakhirnya instruksi. Pin 2 untuk segmen a pada seven segmen, pin
3 untuk segmen b pada seven segmen, pin 4 untuk segmen c pada
seven segmen, pin 5 untuk segmen d pada seven segmen, pin 6 untuk
segmen e pada seven segmen, pin 7 untuk segmen f pada seven
segmen, pin 8 untuk segmen g pada seven segmen, pin 9 untuk
segmen h pada seven segmen, pin 10 untuk seven segmen pertama
(LED 1), pin 11 untuk seven segmen kedua (LED 2), pin 12 untuk
seven segmen ketiga (LED 3), dan pin 13 untuk seven segmen
keempat (LED 4 . Setelah itu dilanjutkan pada penulisan fungsi
kedua yaitu fungsi loop(). Fungsi loop () adalah bagian dari program
yang loop berfungsi untuk menjalankan perintah terus menerus.
Karena seven segment yang digunakan jenis anoda maka untuk
menyalakan LED diberi perintah “LOW” dan untuk mematikan LED
menggunakan perintah “HIGH”. Adapun statement yang digunakan
pada fungsi setup() yaitu digitalWrite(2,LOW/HIGH),
digitalWrite(3,LOW/HIGH), digitalWrite(4, LOW/HIGH),
22
digitalWrite(5,LOW/HIGH), digitalWrite(6,LOW/HIGH),
digitalWrite(7, LOW/HIGH),digitalWrite(8, LOW/HIGH),
digitalWrite(9, LOW/HIGH), digitalWrite(10, LOW/HIGH),
digitalWrite(11, LOW/HIGH), digitalWrite(12,LOW/HIGH),
digitalWrite(13, LOW/HIGH), yang diakhiri tanda “ ; ” sebagai
tanda berakhirnya instruksi. Setelah selesai membuat program
sketchnya maka selanjutnya mengompile intruksi tersebut sampai
muncul keterangan “Done Compiling” yang menandakan proses
compiling nya telah berhasil. Selanjutnya memasukkan program
sketch ke proteus untuk mensimulasikan rangkaian. Apabila
simulasinya sudah sesuai dengan yang diinginkan barulah program
sketch diupload ke dalam board Arduino Uno.
1. Percobaan seven segment
a. Percobaan menyalakan angka tiga pada empat buah seven
segmen
Adapun syntax program yang digunakan pada percobaan
ini adalah sebagai berikut:
void setup() {
// put your setup code here, to run once:
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW); //yang akan membentuk angka 3 pada empat
seven segmen.
}
23
adalah segmen a, b, c, d, dan g serta h untuk tanda titikhanya
pada keempat buah seven segment (LED 1, LED 2, LED 3,
dan LED 4). Percobaan ini dilakukan dengan menghubungkan
pin 2,3,4,5,8, 9 seven segment positif arduino dan pin LED
10,11,12,13 ke grounding atau “LOW”. Perintah “LOW”
diberikan karena jenis LED seven segment yang digunakan
adalah jenis anoda maka untuk menyalakan angka 3, semua pin
yang ingin dinyalakan diberi perintah “LOW”.
}
void loop() {
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH); //membentuk angka 3 pada sebuah seven
segment.
}
24
“LOW”. Karena yang dinyalakan hanya LED 1, maka pada pin
11,12, 13 diberikan perintah “HIGH” karena pada LED 2, LED
3 dan LED 4 di matikan dan hanya LED 1 yang dinyalakan.
}
void loop(){
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW); // yang akan membentuk angka 0 pada
seven segmen,
delay (1000);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW); // yang akan membentuk angka 1 pada
seven segmen,
delay (1000);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW); //yang akan membentuk angka 2 pada
seven segmen,
25
delay (1000);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW); //yang akan membentuk angka 3 pada
seven segmen,
delay (1000);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW); //yang akan membentuk angka 4 pada
seven segmen,
delay (1000);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW); //yang akan membentuk angka 5 pada seven
segmen,
delay (1000);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW); //yang akan membentuk angka 6 pada seven
segmen,
delay (1000);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW); //yang akan membentuk angka 7 pada seven
segmen,
delay (1000);
digitalWrite(2,LOW);
26
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW); //yang akan membentuk angka 8 pada
seven segmen,
delay (1000);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW); //yang akan membentuk angka 9 pada
seven segmen
delay (1000);
}
Dalam percobaan ketiga ini, segmen yang dinyalakan adalah
segmen yang membentuk angka 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9
secara bergntian pada semua LED.. Percobaan ini dilakukan
mempunyai statement tambahan yaitu statement pemanggilan
dengan penulisan seperti berikut : nol (); delay (1000) ; satu ();
delay (1000) ; dua (); delay (1000) ; tiga (); delay (1000) ; empat
(); delay (1000) ; lima (); delay (1000) ; enam (); delay (1000) ;
tujuh (); delay (1000) ; delapan (); delay (1000) ; sembilan ();
delay (1000) ;. Artinya yang pertama kali terpanggil adalah angka
0 dengan waktu penundaan selama 1 detik (maksud dari 1000
dalam satuan mikrosekon), kemudian angka satu dan seterusnya
sehingga menjadi rangkaian counter up.
d. Percobaan menyalakan angka 0 sampai angka 3 berjalan dan
bergantian pada empat seven segment
Adapun syntax program yang digunakan pada percobaan
ini adalah sebagai berikut:
void setup() {
// put your setup code here, to run once:
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);
27
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
}
void loop(){
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);// yang akan membentuk angka 0 pada seven
segmen,
delay (1000);
digitalWrite(11,LOW);
digitalWrite(10,HIGH);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);// yang akan membentuk angka 1 pada seven
segmen,
delay (1000);
digitalWrite(12,LOW);
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
digitalWrite(13,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4, HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7, HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);//yang akan membentuk angka 2 pada seven
segmen,
delay (1000);
digitalWrite(13,LOW);
digitalWrite(11,HIGH);
digitalWrite(12,HIGH);
digitalWrite(10,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);//yang akan membentuk angka 3 pada seven
segmen,
delay (1000);
}
Dalam percobaan ketiga ini, segmen yang dinyalakan
adalah segmen yang membentuk angka 0, 1, 2, 3, 4, 5, 6, 7, 8,
dan 9 secara bergntian pada semua LED. Hal pertama
dilakuakn adalah memberikan perintah “LOW” pada pin 2, 3,
4, 5, 6, 7, dan 10 sehingga hasilnya membentuk angka 0 pada
28
LED 1 dan meng-offkan LED 2, LED 3, dan LED 4.
Selanjutnya adalah membentuk angka satu pada LED 2 dan
meng-offkan LED1, LED 3, dan LED 4. Begitupun seterusnya
secara berjalan dan bergantian. Percobaan ini mempunyai
statement tambahan yaitu statement pemanggilan dengan
penulisan seperti berikut : nol (); delay (1000) ; satu (); delay
(1000) ; dua (); delay (1000) ; tiga (); delay (1000) ; empat ();
delay (1000) ; lima (); delay (1000) ; enam (); delay (1000) ;
tujuh (); delay (1000) ; delapan (); delay (1000) ; sembilan ();
delay (1000) ;. Artinya yang pertama kali terpanggil adalah
angka 0 dengan waktu penundaan selama 1 detik (maksud dari
1000 dalam satuan mikrosekon), kemudian angka 1 dan
seterusnya secara berjalan dan bergantian sehingga menjadi
rangkaian counter up..
2. Percobaan DOT Matrix
Adapun syntax program yang digunakan pada percobaan
ini adalah sebagai berikut:
void setup() {
// put your setup code here, to run once:
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(3);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
29
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(3);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
delay(3);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
delay(3);
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
delay(3);
30
Setelah melakukan praktikum dan menganalisa hasil percobaan,
maka praktikan menarik kesimpulan sebagai berikut :
1. Setelah melakukan percobaan, praktikan dapat layout simulasi
rangkaian output seven segmen di proteus menggunakan Arduino
uno dengan cara setelah mengcompile program yang telah dibuat
dan tidak terdapat kesalahan.
2. Setelah melakukan percobaan, praktikan mampu membuat program sketch
di IDE Arduino dengan menyalakan simulasi seven segmen di proteus.
3. Setelah melakukan percobaan, praktikan mampu mengimplemtasikan hasil
simulasi di proteus ke Board Modul Arduino Uno. Dimana pada percobaan
kali ini menggunakan pin-pin digital dari arduino yaitu dari pin A0 sampai
dengan pin A13, dimana pin- pin tersebut akan dipakai sebagai digital
output. Dan jika kita ingin membuat suatu aplikasi, maka aplikasi arduino
pada komputer harus terinstall dan harus diprogram terlebih dahulu sesuai
instruksi.
31
DAFTAR PUSTAKA
vi
LAMPIRAN
vii