Anda di halaman 1dari 10

PRAKTIKUM SISTEM MIKROKONTROLLER – MODUL 8

“Seven Segment”

Ahnaf Zainul Muttaqin – 1910501062

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Tidar

Jalan Kapten Suparman, 39, Magelang, Jawa Tengah, 56116

ahnaf.zainul.muttaqin@students.untidar.ac.id

8.1 Tujuan Percobaan

A. Percobaan ini bertujuan agar mahasiswa memahami dan dapat mengerti cara kerja
dari Seven Segment

8.2 Dasar Teori


Arduino UNO R3 merupakan suatu board yang menggunakan mikrokontroler
Atmega328 sebagai otaknya. Modul ini sudah dilengkapi dengan berbagai hal yang
dibutuhkan untuk mendukung mikrokontroler untuk bekerja, tinggal sambungkan ke
power supply atau sambungkan melalui kabel USB ke PC . Arduino Uno R3 ini
memiliki 14 pin digital dengan 6 pin yang dapat digunakan sebagai PWM, 6 pin analog,
16 MHz osilator kristal, port usb konektor, konektor sumber tegangan, header ICSP, dan
tombol reset. Arduino memiliki kelebihan tersendiri dibanding board mikrokontroler
yang lain selain bersifat open source, arduino juga mempunyai bahasa pemrogramannya
sendiri yang berupa bahasa C. Bentuk board Arduino uno dapat dilihat pada gambar 1.
Gambar 1. Arduino Uno R3

Pada praktikum kali ini kita akan menggunakan sebuah komponen yang
Bernama Seven Segment. Seven Segment merupakan komponen yang berfungsi
sebagai display atau penampil karakter angka atau huruf. 7 Segment ini
menampilkan karakter melalui kombinasi tiap-tiap segmentnya. Seven segment
tersebut terbagi menjadi 7 batang LED yang disusun membentuk angka 8 dengan
menggunakan huruf a-f yang disebut DOT MATRIKS. Setiap segment ini terdiri
dari 1 atau 2 LED (Light Emitting Dioda). Cara kerja dari seven segment yaitu
ketika elemen dari segment tersebut dialiri listrik, maka segment tersebut bisa
menyala. Nyala dari ketujuh segment dapat dimanipulasi sehiga dapat
menampilkan angka maupun huruf yang diinginkan. LED pada seven segment
dibagi menjadi dua jenis yaitu Seven segment common anoda dan seven segment
common anoda.
1. Seven Segment Common Anoda

Gambar 2. Seven Segment Common Anoda

Pada Seven Segmen Common Anoda ini, kaki dari pin anoda
terhubung menjadi satu pin pada semua segmennya. Sedangkan kaki
katodnya akan menjadi input untuk masing-masing segmentnya. Oleh
karena itu seven segment jenis ini, segmentnya akan menyala jika diberi
arus listrik atau berinput high karena pin katodanya sudah terhubung
dengan ground atau low.

2. Seven Segment Common Katoda


Gambar 3. Seven Segment Common Katoda

Pada Seven Segmen Common Katoda ini, kaki dari pin Katoda
terhubung menjadi satu pin pada semua segmennya. Sedangkan kaki
anodanya akan menjadi input untuk masing-masing segmentnya. Oleh
karena itu seven segment jenis ini, segmentnya akan menyala jika diberi
ground atau berinput low karena pin anodanya sudah terhubung dengan
tegangan listrik atau berinput high.

8.3 Hasil dan Pembahasan


A. Percobaan 1
Pada percobaan paraktikum kali ini, percobaan dilakukan dengan
menampilkan angka dari 0-9. Untuk itu maka dibutuhkan satu buah seven segment
sebagai displyanya dengan menggunakan Arduino uno sebagai controller. Untuk
kode programnya sebagai berikut.
Gambar 4. Kode Program Percobaan

Kode program diatas dimulai dengan dengan pendeklarasian variable const


byte pinKaki[8] = {0,1,2,3,4,5,6,7}; yang artinya variable pinKaki nilainya akan
sesuai dengan pin digital yang dipanggil yaitu dari pin 0 – 7 dengan menggunakan
tipe data const byte karena nilainya konstan atau tetap pada pin yang dideklarasikan.
Selanjutnya ada pembatan array digit[10][7] yang artinya merupakan array berukuran
10 x 7 dengan tipe data Boolean sehinggal hanya memiliki dua nilai yaitu 0 atau 1,
low atau high, atau true or false. Untuk bentuk array nya sendiri menyesuakan
dengan segment untuk menampilkan angka 0 – 9. Misalya array baris pertama
{1,1,1,1,1,1,0} akan menampilkan angka 0 sesuai dengan urutan segmen a-g pada
seven segment. Nilai Boolean 1 ini akan membuat segment menyala ketika seven
segmen yang digunakan merupakan jenis common katoda.
Pada void setup(), program akan mendefinisikan variable pinKaki[x] menjadi
output pada program. Nilai x ini menunjukan pinKaki mana yang akan dijadikan
output. Nilai dari pin x ini akan dipanggil menggunakan perualngan for dengan
parameter (byte x=0; x<=7; x++) yang artinya nilai x berupa 0 – 7 sehingga nantinya
pinKaki[0] sampai pinKaki[7] akan didefinisikan sebagai output.
Pada void loop(), terdapat perulangan for dengan parameter (byte z=0; z<=9;
z++). Perulangan for ini akan menjalankan fungsi nomor(z) dengan delay(1000);.
Fungsi nomor() akan terus berjalan yang nilai parameternya yang berupa z akan
diulang dengan nilai 0 – 9 sampai selesai dengan delay tiap perulangannya yaitu 1
detik.
Selanjutnya ada deklarasi fungsi nomor() yang digunakan pada perulangan
sebelumnya. Void nomor(byte angka), fungsi nomor tersebut mempunyai parameter
berupa variable angka dengan tipe data byte. Dalam fungsi nomor() akan
menjalankan perulangn for dengan parameter (byte i = 0; i<=6; i++) yang akan
mengulang fungsi digitalWrite(pinKaki[i], digit[angka][i]); yang artinya pinKaki[i]
yang nilainya diulang 0 – 6 akan dibuat high/low berdasarkan nilai Boolean dari
digit[angka][i] dari array yang terdapat sebelumnya. Untuk nilai i nya berdasrkan
perulang sebelumnya dan untuk variable angka didapat dari parameter fungsi
nomor().

Gambar 5. Rangkaian Simulasi Percobaan

Gambar 6. Rangkaian Hardware Percobaan


Pada rangkaian simulasi percobaan dan rangkaian hardware percobaan, seven
segment yang ditampilkan akan menampilakan angka dari 0 sampai 9 berulangkali.
Dapat dilihat bahwa, pin yang digunakan pada rangkaian tersebut yaitu pin 0 sampai
6 yang masing-masing merepresentasikan pin a sampai g secara beturut-turut pada
seven segment. Selain itu dapat dilihat juga bahwa seven segment yang digunakan
merupakan jenis common katoda karena terhubung dengan ground pada Arduino
uno.

8.4 Tugas
Tugas yang dibuat pada praktikum kali ini yaitu menampilkan angka dari 0-99 dengan
menggunakan dua seven segment. Untuk kode programnya yaitu sebagai berikut.
Gambar 7. Kode Program Tugas

Kode program diatas dimulai dengan dengan pendeklarasian variable const


byte pinKaki[14] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13}; yang artinya variable pinKaki
nilainya akan sesuai dengan pin digital yang dipanggil yaitu dari pin 0 – 13 dengan
menggunakan tipe data const byte karena nilainya konstan atau tetap pada pin yang
dideklarasikan. Selanjutnya ada pembatan array digit[10][7] yang artinya merupakan
array berukuran 10 x 7 dengan tipe data Boolean sehinggal hanya memiliki dua nilai
yaitu 0 atau 1, low atau high, atau true or false. Untuk bentuk array nya sendiri
menyesuakan dengan segment untuk menampilkan angka 0 – 9. Misalya array baris
pertama {1,1,1,1,1,1,0} akan menampilkan angka 0 sesuai dengan urutan segmen a-g
pada seven segment. Nilai Boolean 1 ini akan membuat segment menyala ketika
seven segmen yang digunakan merupakan jenis common katoda.
Pada void setup(), program akan mendefinisikan variable pinKaki[x] menjadi
output pada program. Nilai x ini menunjukan pinKaki mana yang akan dijadikan
output. Nilai dari pin x ini akan dipanggil menggunakan perualngan for dengan
parameter (byte x=0; x<=13; x++) yang artinya nilai x berupa 0 – 13 sehingga
nantinya pinKaki[0] sampai pinKaki[13] akan didefinisikan sebagai output.
Pada void loop(), terdapat perulangan for dengan parameter (byte z=0; z<=9;
z++). Perulangan for ini akan menjalankan fungsi puluhan(z) dengan delay(1000);.
Fungsi puluhan() akan terus berjalan yang nilai parameternya yang berupa z akan
diulang-ulang dengan nilai 0 – 9 sampai selesai.
Selanjutnya ada deklarasi fungsi puluhan() yang digunakan pada perulangan
sebelumnya. Sebelumnya Fungsi puluhan ini merupakan fungsi yang menampilan
angka yang berupa puluhan pada seven segment. Void puluhan (byte angka), fungsi
puluhan() tersebut mempunyai parameter berupa variable angka dengan tipe data
byte. Dalam fungsi puluhan() akan menjalankan perulangan for dengan parameter
(byte i = 0; i<=6; i++) yang akan mengulang fungsi digitalWrite(pinKaki[i],
digit[angka][i]); yang artinya pinKaki[i] yang nilainya diulang k nya 0 – 6 akan
dibuat high/low berdasarkan nilai Boolean dari digit[angka][i] dari array yang
terdapat sebelumnya. Untuk nilai i nya berdasrkan perulang sebelumnya dan untuk
variable angka didapat dari parameter fungsi ouluhan(). Setelah perulangan tersebut
selesai terdapat perulangan for dengan parameter (byte z=0; z<=9; z++). Perulangan
for ini akan menjalankan fungsi satuan(z) dengan delay(100);. Fungsi satuan() akan
terus berjalan yang nilai parameternya yang berupa z akan diulang-ulang dengan nilai
0 – 9 sampai selesai dengan delai sebesar 1ms.
Selanjutnya ada deklarasi fungsi satuan() yang digunakan pada perulangan
yang terdapat didalam fungsi puluhan. Sebelumnya Fungsi satuan ini merupakan
fungsi yang menampilan angka yang berupa satuanan pada seven segment. Void
satuan (byte angka2), fungsi satuan() tersebut mempunyai parameter berupa variable
angka dengan tipe data byte. Dalam fungsi satuan() akan menjalankan perulangn for
dengan parameter (byte k = 7,l = 0; k <= 13, l <= 6; k++ , l++) yang akan mengulang
fungsi digitalWrite(pinKaki[k], digit[angka2][l]); yang nilai k nya diulang 7 – 13
(menunjukan pin digital 7 -13) akan dibuat high/low berdasarkan nilai Boolean dari
digit[angka2][l] dari array yang terdapat sebelumnya. Untuk nilai i nya berdasrkan
parameter perulang sebelumnya dan untuk variable angka2 didapat dari parameter
fungsi satuan().
Gambar 8. Rangkaian Simulasi Percobaan

Gambar 9. Rangkaian Hardware Percobaan

Pada rangkaian simulasi tugas dan rangkaian hardware tugas, 2 seven segment
yang ditampilkan akan menampilakan angka dari 0 sampai 99 berulangkali. Dapat
dilihat bahwa, pin yang digunakan pada rangkaian tersebut yaitu pin 0 sampai 13
yang masing-masing merepresentasikan pin a sampai g dari 2 seven segment secara
beturut-turut pada seven segment. Selain itu dapat dilihat juga bahwa seven segment
yang digunakan merupakan jenis common katoda karena terhubung dengan ground
pada Arduino uno.
8.5 Kesimpulan
Dari praktikum yang telah dilakukan pada praktikum kedelapan ini dapat disimpulkan
bahwa seven segment dapat dengan baik menampilkan angka dari 0 sampai 9.Selain itu
dengan menggunakan Arduino uno jumlah seven segment yang dapat digunakan tanpa
modul yaitu maksimal 2 buah seven segment dengan angka yang ditampilkan yaitu 0
sampai 99. Untuk menampilkan angka pada seven segment ini terbilang cukup mudah
yaitu dengan menggunak for loop dengan input yang dapat disesuaikan. Terlepas dari
percobaan yang telah dilakukan selain bisa menampilkan angka, seven segment juga
dapat menampilkan karakter lainya misalnya huruf dan lain-lain.

8.6 Daftar Pustaka


[1] 2019, “Tipe Data Pemrograman Arduino IDE | Belajar Arduino dari Dasar”,
https://www.robotikindonesia.com/2019/11/tipe-data-pemrograman-arduino-
ide.html, diakses pada 17 September 2021 pukul 08.23.
[2] Jufrika, 2017, “Mengetahui Tipe Data Pada Arduino dan Contohnya”,
https://www.jufrika.com/2017/10/tipe-data-pada-arduino-dan-contohnya.html,
diakses pada 17 September 2021 pukul 08.25
[3] Muhammad, Bahasa Pemrograman Arduino, Yogyakarta : K-Media, 2020
[4] Richard, Dasar Elektronika, Yogyakarta : ANDI Yogyakarta, 2004
[5] Kho, Discson, 2020,” Pengertian Seven Segment Display (Layar Tujuh
Segmen)”, Pengertian Seven Segment Display (Layar Tujuh Segmen)
(teknikelektronika.com), diakses pada 17 November 2021 pukul 18.01
[6] Faudin, Agus, 2017, “Cara mengakses 7segment menggunakan Arduino Uno”,
Cara mengakses 7segment menggunakan Arduino Uno (nyebarilmu.com),
diakses pada 27 November 2021 pukul 18.05

Anda mungkin juga menyukai