bab iii perancangan dan realisasi...

30
13 BAB III PERANCANGAN DAN REALISASI ALAT Pada bab ini akan dijelaskan secara rinci perancangan alat yang dibuat, dimulai dari penjelasan blok diagram sistem dan penjelasan bagian-bagiannya, kegunaan, cara kerja, dan perhitungannya. Perancangan sistem ini dibagi menjadi dua bagian utama, yaitu perancangan perangkat keras dan perangkat lunak. Perancangan dan realisasi sistem yang terdiri dari perangkat keras dan perangkat lunak digabungkan dalam bentuk blok diagram yang ditunjukkan pada Gambar 3.1. Bagian-bagian penyusun sistem penampil teks bergerak RGB merupakan bagian perangkat kerasnya, sedangkan perangkat lunaknya ada pada program interface dan program mikrokontroler. Gambar 3.1. Blok diagram sistem keseluruhan. Sistem yang dibuat merupakan penggabungan sistem kendali digital, penyaklaran, dan komunikasi data serial komputer. Proses pengendalian baris dan kolom dilakukan secara otomatis oleh sistem, pengguna cukup menulis teks pada program interface, melakukan pengaturan animasi, memori penyimpanan, serta warna teks dan latar belakang, kemudian mengirimkannya ke mikrokontroler lewat komunikasi serial. Sistem penampil teks bergerak RGB terhubung dengan komputer selain untuk komunikasi serialnya, juga untuk hubungan catu dayanya. Sistem penampil teks Komputer Program Interface Sistem Penampil Teks Bergerak RGB Modul mikrokontroler AVR ATmega32 Modul kendali kolom Modul kendali baris Modul penampil teks bergerak Dot Matrix RGB 64 kolom x 7 baris Koneksi catu daya Koneksi serial

Upload: ngotuyen

Post on 23-Mar-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

13

BAB III

PERANCANGAN DAN REALISASI ALAT

Pada bab ini akan dijelaskan secara rinci perancangan alat yang dibuat, dimulai

dari penjelasan blok diagram sistem dan penjelasan bagian-bagiannya, kegunaan, cara

kerja, dan perhitungannya. Perancangan sistem ini dibagi menjadi dua bagian utama,

yaitu perancangan perangkat keras dan perangkat lunak.

Perancangan dan realisasi sistem yang terdiri dari perangkat keras dan perangkat

lunak digabungkan dalam bentuk blok diagram yang ditunjukkan pada Gambar 3.1.

Bagian-bagian penyusun sistem penampil teks bergerak RGB merupakan bagian

perangkat kerasnya, sedangkan perangkat lunaknya ada pada program interface dan

program mikrokontroler.

Gambar 3.1. Blok diagram sistem keseluruhan.

Sistem yang dibuat merupakan penggabungan sistem kendali digital,

penyaklaran, dan komunikasi data serial komputer. Proses pengendalian baris dan

kolom dilakukan secara otomatis oleh sistem, pengguna cukup menulis teks pada

program interface, melakukan pengaturan animasi, memori penyimpanan, serta warna

teks dan latar belakang, kemudian mengirimkannya ke mikrokontroler lewat

komunikasi serial.

Sistem penampil teks bergerak RGB terhubung dengan komputer selain untuk

komunikasi serialnya, juga untuk hubungan catu dayanya. Sistem penampil teks

Komputer

Program Interface

Sistem Penampil Teks Bergerak RGB

Modul mikrokontroler

AVR ATmega32

Modul kendali kolom

Modul kendali baris

Modul penampil teks bergerak

Dot Matrix RGB 64 kolom x 7 baris

Koneksi catu daya

Koneksi serial

Page 2: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

14

bergerak RGB mendapat catu daya dari power supply komputer, dengan tegangan

masukan tetap sebesar lima volt.

3.1. Perancangan dan Realisasi Perangkat Keras Sistem

Bagian ini menjelaskan tentang perancangan dan realisasi perangkat keras

sistem. Perangkat keras sistem terdiri dari:

1. Modul mikrokontroler

2. Modul pengendali baris dan kolom

3. Modul penampil teks bergerak

Mikrokontroler berfungsi sebagai pengendali utama dari modul pengendali

baris, pengendali kolom, dan komunikasi serial dengan komputer.

Modul pengendali baris berfungsi untuk mengatur baris LED yang akan

dihidupkan, karena dalam satu kondisi hanya diperbolehkan satu baris saja yang

dihidupkan. Proses pengendalian baris ini dilakukan secara bergantian dan berurutan.

Modul pengendali kolom berfungsi untuk mengatur kolom LED yang akan

dihidupkan, kondisinya tergantung pada nilai logika baris yang dihidupkan.

Modul penampil berfungsi sebagai media untuk mengatur baris LED yang akan

dihidupkan, sehingga dapat membentuk suatu teks dengan warna dan animasi tertentu,

berikut juga warna latar belakangnya.

3.1.1. Perancangan dan Realisasi Modul Mikrokontroler

Mikrokontroler digunakan sebagai kendali utama dari keseluruhan sistem.

Mikrokontroler terhubung dengan dua modul lain yang berfungsi sebagai pengendali

khusus, yaitu:

1. Modul kendali baris, dan

2. Modul kendali kolom

Mikrokontrol dan PC berkomunikasi secara serial dengan kecepatan 9600 bps.

Data yang dikirimkan dari PC akan melalui MAX232 terlebih dahulu untuk konversi

level tegangannya, kemudian diteruskan ke mikrokontroler. Mikrokontroler pada

perancangan diatur sebagai pengirim dan penerima, yaitu sebagai penerima data dari PC

untuk masukan data, dan sebagai pengirim untuk memberi informasi bahwa data sudah

Page 3: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

15

lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

untuk hubungan pengiriman dan penerimaan datanya, ditunjukkan pada Gambar 3.2.

Gambar 3.2. Komunikasi data antara PC dan ATmega32.

Pada perancanganada tiga PORT mikrokontroler yang digunakan sebagai

kendali utama untuk baris dan shift register yang secara bersesuaian ditunjukkan pada

Tabel 3.1.

Tabel 3.1. Koneksi baris dan shift register dengan PORT mikrokontroler.

PORT Urutan Fungsi Kendali

PORTA PORTA.6PORTA.0 K 7 Baris1 Baris K

PORTC PORTC.3PORTC.0 K Shift register untuk warna red

PORTC.7PORTC.4 K Shift register untuk warna blue

PORTB PORTB.3PORTB.0 K Shift register untuk warna green

Komunikasi serial yang digunakan mikrokontroler adalah level tegangan TTL,

sedangkan PC menggunakan level tegangan yang bersesuaian dengan protokol RS232.

Oleh sebab itu dibutuhkan suatu konverter tegangan untuk mengubah level tegangan

dari TTL ke RS232 dan sebaliknya, yaitu dengan menggunakan MAX232 produksi

Maxim. Untai mikrokontroler, dan koneksinya untuk reset dan serial secara lengkap

ditunjukkan pada Gambar 3.3.

TX

PC

RX

T1OUT T1IN

MAX232

R1IN R1OUT

TXD (PORTD.1)

ATmega32

RXD (PORTD.0)

Page 4: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

16

Gambar 3.3. Untai mikrokontroler, reset, dan tx-rx serial.

3.1.2. Perancangan dan Realisasi Modul Pengendali Baris

Modul ini berfungsi sebagai kendali untuk baris, untuk memilih baris LED RGB

mana yang akan dihidupkan. Dot matrix RGB yang digunakan pada perancangan yang

menjadi kaki common-nya adalah anoda dari LED RGB, oleh sebab itu kaki common

dari tiap-tiap baris dihubungkan ke kendali untuk masing-masing baris secara

bersesuaian. Keluaran dari PORTA tidak dapat dihubungkan secara langsung ke kaki

common untuk masing-masing baris, karena port I/O untuk keluaran hanya dapat

memberikan arus sebesar 20mA, sehingga hanya dapat menghidupkan satu LED dengan

satu warna dasar saja. Jadi jika port I/O keluaran ingin digunakan untuk mengendalikan

piranti yang konsumsi arus maupun tegangannya lebih besar, maka harus ditambahkan

rangkaian pengendali untuk piranti tersebut. Rangkaian pengendali tambahan yang

digunakan pada perancangan adalah rangkaian penyaklaran, dengan menggunakan

MOSFET sebagai komponen utamanya.

Kelebihan MOSFET dibanding transistor adalah lebih mudah dalam

pengontrolannya, karena cukup memberikan bias tegangan saja. Selain itu penggunaan

MOSFET juga lebih hemat daya dibanding transistor, dan dapat mengalirkan arus yang

cukup besar. Untuk mengalirkan arus yang cukup besar dibutuhkan transistor yang

ukurannya semakin besar pula, namun jika yang digunakan adalah MOSFET maka

luasan rangkaian dapat diperkecil, karena ukuran MOSFET lebih kecil dari transistor

daya. Pada rangkaian, MOSFET difungsikan sebagai saklar elektronik, yaitu untuk

PB1PB2PB3PB4PB5/MOSIPB6/MISOPB7/SCKRSTVCCGNDXTAL1XTAL2PD0/RXDPD1/TXDPD2PD3PD4PD5PD6 PD7

PC0PC1PC2PC3PC4PC5PC6PC7

AVCCGNDAREFPA7PA6PA5PA4PA3PA2PA1PA0PB0

IC1

ATMega32

1

2

3

4

5

6

7

8

9

11

10

J1

D Connector 9

1

MA

X2

32

IC2

SW1SW2SW3SW4SW5SW6SW7

C2

C1

VCC

C3

C4

VCC

DUATIGARXTX

DUA

TIGA

VCCDT13CL3ST3OE3DT11CL1ST1OE1

DT12CL2ST2OE2

VCC

RXTX

RST RST

Y1XTAL

CX1

CX2

SR

CR

RR

VCC

12

JPSVCC

12345

JP2

123456

JP1

RLD

LED

Page 5: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

17

melewatkan arus yang cukup dari sumber daya untuk menghidupkan LED untuk tiap

barisnya. Rangkaian kendali baris yang dirancang dapat dilihat pada Gambar 3.4.

Gambar 3.4. Rangkaian kendali untuk tiap baris.

Pada rangkaian terlihat bahwa antara Gate (G) dan Source (S) dihubungkan

dengan sebuah resistor 1 KΩ, resistor ini berfungsi sebagai R-pull up bagi masukan

MOSFET yaitu pada kaki Gate. Saat PORTA.n bernilai logika 0, maka terdapat

perbedaan tegangan antara kaki G dan S sebesar -5V, MOSFET akan berada dalam

kondisi triode sehingga dapat melewatkan arus dari catu daya ke baris yang

bersangkutan. Sebaliknya saat PORTA.n bernilai logika 1, maka antara kaki G dan S

tidak terdapat perbedaan tegangan, MOSFET akan berada dalam kondisi cut-off,

sehingga jalur antara catu daya dan baris yang bersangkutan menjadi terputus.

Dot matrix yang digunakan pada perancangan adalah tujuh baris, mulai dari

baris satu sampai tujuh, sehingga PORTA yang digunakan adalah PORTA.0 hingga

PORTA.6, yaitu bersesuaian dengan nilai n pada Gambar 3.4, dimulai dari nol hingga

enam. Bersesuaian dengan Gambar 3.4, PORTA.n digunakan untuk mengendalikan

MOSFET pada baris (n+1).

Komponen MOSFET yang digunakan dalam perancangan adalah HEXFET

Power MOSFET tipe P-channel dengan nama IRF9540 buatan International Rectifier

yang digunakan dalam perancangan karena memiliki beberapa keunggulan, antara lain:

1. Fast switching

2. Maximum drain current up to 23A

3. RDS(on) maks. = 0,117Ω, sehingga extremely efficient

Sedangkan kekurangan dari IRF9540 ditunjukkan pada lampiran B, yaitu

mengenai pengaruh suhu terhadap arus drain maksimum yang dapat dilewatkan. Dari

gambar terlihat bahwa pengaruh panas menyebabkan arus drain maksimum yang dapat

Page 6: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

18

dilewatkan menjadi turun, faktor yang paling umum adalah paparan panas matahari,

khususnya apabila sistem penampil diletakkan di tempat yang terkena panas matahari

secara langsung, seperti yang ada pada lampu lalu lintas.

Arus maju puncak yang dilewatkan pada tiap warna dasar RGB berbeda-beda,

untuk R = 105 mA, G = 52,5 mA, dan B = 105 mA, penjelasan perolehan nilai-nilai ini

dapat dilihat pada penjelasan untuk persamaan (3.4). Jika ketiga LED dihidupkan

bersama, maka hubungan konsumsi arus yang dibutuhkan untuk satu dot dengan duty

cycle yang digunakan sesuai persamaan berikut:

( ) cycledutyIIII BGRdot . ++= ……………………………………….(3.1)

DenganIdot= arus satu dot, IR = arus LED red, IG = arus LED green, IB = arus LED

blue. Demikian nilai Idot untuk duty cycle satu per tujuh diperoleh:

( ) 71 . mA 105mA 5,52mA 105 ++=dotI

mA 5,37=dotI

Penampil teks bergerak RGB yang dibuat standarnya menggunakan delapan buah

dot matrix ukuran 7 baris x 8 kolom. Sehingga perhitungan total arus untuk satu baris

penampil sebanyak 64 dot dengan duty cycle satu per tujuh adalah:

dotdot II x 64 64 = …………………………………………………………...(3.2)

mA 537 x 64 64 ,I dot =

A 4,2 64 =dotI

Didapatkan nilai arus maksimum yang lewat pada MOSFET adalah 2,4 Ampere.

Dengan menggunakan nilai ini, maka disipasi daya maksimum yang terpakai oleh

MOSFET dengan duty cycle satu per tujuh dapat dicari dengan menggunakan

persamaan berikut:

(on)2 . DSRIP = ……………………………………………………………(3.3)

( ) Ω= 117,0.4,2 2AP

Watt674,0=P

Saat MOSFET dalam kondisi triode maka disipasi daya maksimum yang

terpakai adalah 0,674 Watt. Hal ini hanya berlaku apabila ketiga LED RGB dinyalakan

Page 7: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

19

Q1MOSFET-PSW1

B1

VCC

Q2MOSFET-PSW2

B2

VCC

Q3MOSFET-PSW3

B3

VCC

Q4MOSFET-PSW4

B4

VCC

Q5MOSFET-PSW5

B5

VCC

Q6MOSFET-PSW6

B6

VCC

Q7MOSFET-PSW7

B7

VCC

RP1 RP2 RP3 RP4

RP5 RP6 RP7

bersama, selain daripada itu tentu nilainya lebih kecil dari 0,674 Watt. Perhitungan

dapat dilakukan sama seperti yang sebelumnya, yaitu menggunakan persamaan (3.1),

(3.2), dan (3.3).

Untai pengendali baris ada tujuh buah, yang masing-masing memiliki gambar

untai yang sama, hanya koneksinya pada port yang bersesuaian yang berbeda. Gambar

untai pengendali baris ditunjukkan pada Gambar 3.5.

Gambar 3.5.Untai pengendali baris dengan MOSFET tipe-P.

3.1.3. Perancangan dan Realisasi Modul Pengendali Kolom

Modul ini berfungsi sebagai kendali untuk kolom, untuk mengisi data kolom

LED RGB yang akan dihidupkan. Kaki common katoda untuk tiap warna dasar

dihubungkan ke kaki keluaran paralel shift register yang bersesuaian dengan masing-

masing warnanya melalui sebuah resistor. Pemasangan kaki common katoda untuk tiap

warna dasar bersesuaian dengan shift register-nya dapat dilihat pada Gambar 3.6.

Gambar 3.6. Koneksi tiap satu kolom LED RGB dan shift register pasangannya.

Page 8: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

20

Keterangan S.REG pada Gambar 3.6 menunjuk pada pin keluaran shift register

yang digunakan. Komponen shift register yang digunakan pada perancangan adalah

shift register HCF4094BE 8 stage tipe MOS buatan STMicroelectronics yang

didalamnya telah dilengkapi store bus register dengan tri-state output. Keunggulan dari

chip ini adalah memiliki pin strobe dan output enable, sehingga dapat diatur kapan data

harus dikeluarkan ataupun ditahan, selain itu pada saat yang sama data yang baru dapat

langsung diisikan dan disimpan tanpa mengubah data lama yang sudah ada. Konfigurasi

kaki dari IC HCF4094BE dapat dilihat pada lampiran B bagian konfigurasi kaki.

Data masukan yang diterima dari 8-stage shift registerakan disimpan dalam 8-bit

storage register, kemudian baru diteruskan ke tri-state output. Masukan datanya berupa

serial dan hasil keluarannya berupa data paralel. Tabel kebenaran dari shift register

HCF4094BE ditunjukkan pada lampiran C bagian Tabel Kebenaran HCF4094BE, yang

digunakan sebagai pedoman pengendalian untuk masing-masing pin kendali pada shift

register.

Saat output enable bernilai logika low, maka output akan berada dalam kondisi

tri-state. Data pada tiap stage shift register akan dikirim ke storage register ketika

masukan strobe bernilai logika high, sebaliknya ketika masukan strobe bernilai logika

low, maka data yang tertampil adalah data terakhir yang ada pada storage register,

dengan syarat output enable-nya bernilai logika high. Pada saat output enable dan

strobe keduanya bernilai logika high, maka saat terjadi clock transisi dari low ke high,

data yang ada pada Qn adalah data yang ada pada Qn-1 sebelumnya dan data yang ada

pada stage tujuh dipindahkan ke Q7 dan keluaran Qs. Keluaran Qs ini dihubungkan ke

pin data shift register selanjutnya untuk warna yang sama, melalui hubungan kaskade

seperti yang ditunjukkan pada Gambar 3.7.

str = strobe, clk = clock, oe = output enable

Gambar 3.7. Hubungan kaskade HCF4094BE.

Resistor kolom 1 …………………..………………………………………………………………………………………………………….……… kolom ke 64

data

str

clk

oe

Parallel output

data Qs

Parallel output

data Qs

Parallel output

data Qs

8 8 8 8 8

Page 9: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

21

Karena jumlah kolom yang digunakan ada 64, maka dibutuhkan delapan shift

register yang dihubungkan secara kaskade untuk masing-masing warna dasar. Pin

output enable, strobe, data, dan clock diatur lewat port keluaran mikrokontroler. Jadi

untuk tiap warna dasar R, G, dan B masing-masing membutuhkan empat port keluaran

mikrokontroler untuk pengaturan shift register-nya.

Koneksi kontrol shift register dengan PORT pada mikrokontrol berdasarkan

warna dasarnya secara bersesuaian ditunjukkan pada Tabel 3.2.

Tabel 3.2. Koneksi per bagian kontrol shift register dengan PORT mikrokontroler.

Kaki Kontrol Red Green Blue

Data PORTC.2 PORTB.2 PORTC.6

Clock PORTC.0 PORTB.0 PORTC.4

Strobe PORTC.1 PORTB.1 PORTC.5

Output enable PORTC.3 PORTB.3 PORTC.7

PORT pada mikrokontroler cukup mengeluarkan logika high mauupun low

untuk mengontrol kaki kontrol pada shift register. Keluaran data dari kaki kontrol

dianggap valid apabila memenuhi kriteria waktu tunda minimal yang ditunjukkan pada

lampiran C bagian Tabel Karakteristik Elektrik HCF4094BE.

Shift register yang digunakan untuk pengendali kolom ada 24 buah, yang terdiri

dari delapan shift register untuk warna red, delapan shift register untuk warna green,

dan delapan shift register untuk warna blue. Untai pengendali baris yang digunakan

ditunjukkan pada Gambar 3.8.

Gambar 3.8. Untai pengendali baris dengan menggunakan shift register.

1

SH

IFT

RE

GIS

TE

R

IC11

C11VCCST1DT11CL1

R11R12R13R14

OE1R15R16R17R18

DT21

1

SH

IFT

RE

GIS

TE

R

IC21

C21VCCST1DT21CL1

R21R22R23R24

OE1R25R26R27R28

DT31

1

SH

IFT

RE

GIS

TE

R

IC31

C31VCCST1DT31CL1

R31R32R33R34

OE1R35R36R37R38

DT41

1

SH

IFT

RE

GIS

TE

R

IC41

C41VCCST1DT41CL1

R41R42R43R44

OE1R45R46R47R48

DT51

1

SH

IFT

RE

GIS

TE

R

IC12

C12VCCST2DT12CL2

G11G12G13G14

OE2G15G16G17G18

DT22

1

SH

IFT

RE

GIS

TE

R

IC13

C13VCCST3DT13CL3

B11B12B13B14

OE3B15B16B17B18

DT23

1

SH

IFT

RE

GIS

TE

R

IC22

C22VCCST2DT22CL2

G21G22G23G24

OE2G25G26G27G28

DT32

1

SH

IFT

RE

GIS

TE

R

IC32

C32VCCST2DT32CL2

G31G32G33G34

OE2G35G36G37G38

DT42

1

SH

IFT

RE

GIS

TE

R

IC42

C42VCCST2DT42CL2

G41G42G43G44

OE2G45G46G47G48

DT52

1

SH

IFT

RE

GIS

TE

R

IC23

C23VCCST3DT23CL3

B21B22B23B24

OE3B25B26B27B28

DT33

1

SH

IFT

RE

GIS

TE

R

IC33

C33VCCST3DT33CL3

B31B32B33B34

OE3B35B36B37B38

DT43

1

SH

IFT

RE

GIS

TE

R

IC43

C43VCCST3DT43CL3

B41B42B43B44

OE3B45B46B47B48

DT53

RR11RR12RR13RR14

RR15RR16RR17RR18

RG11RG12RG13RG14

RB11RB12RB13RB14

RR21RR22RR23RR24

RG21RG22RG23RG24

RB21RB22RB23RB24

RR31RR32RR33RR34

RG31RG32RG33RG34

RB31RB32RB33RB34

RR41RR42RR43RR44

RG41RG42RG43RG44

RB41RB42RB43RB44

RG15RG16RG17RG18

RB15RB16RB17RB18

RR25RR26RR27RR28

RG25RG26RG27RG28

RB25RB26RB27RB28

RR35RR36RR37RR38

RG35RG36RG37RG38

RB35RB36RB37RB38

RR45RR46RR47RR48

RG45RG46RG47RG48

RB45RB46RB47RB48

Page 10: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

22

Gambar 3.8 (Lanjutan). Untai pengendali baris dengan menggunakan shift register.

3.1.4. Perancangan dan Realisasi Modul Penampil Teks Bergerak

Modul ini terdiri dari delapan buah dot matrix RGB ukuran 7 baris x 8 kolom

yang dihubungkan secara kaskade seperti yang ditunjukkan pada Gambar 3.9, berfungsi

untuk menampilkan teks berikut warnanya dan warna latar belakang sesuai dengan

masukan data sebelumnya pada program interface. Namun jika diinginkan penampil

yang lebih panjang, modul ini dapat juga ditambah dengan melakukan expand hingga

lima belas dot matrix RGB. Panjang sebanyak delapan buah dot matrix RGB ini

disesuaikan dengan standar umum yang ada, yaitu kelipatan empat. Panjang minimal

yang digunakan pada perancangan adalah delapan dot matrix RGB, yaitu 64 kolom x 7

baris.

Gambar 3.9. Hubungan kaskade dot matrix RGB 64 kolom x 7 baris.

Pemilihan dot matrix RGB ini didasarkan pada latar belakang yang telah

dijelaskan sebelumnya. Satu piksel pada dot matrix RGB sesuai namanya terdiri dari

tiga warna dasar, yaitu red, green, dan blue ditunjukkan pada Gambar 3.10, yang dapat

dikombinasi sehingga dapat menghasilkan empat warna lain, yaitu cyan, magenta,

yellow, dan white. Pemilihan warna teks dan latar belakang didasarkan pada tujuh

pilihan warna yang tersedia tersebut.

1

SH

IFT

RE

GIS

TE

R

IC51

C51VCCST1DT51CL1

R51R52R53R54

OE1R55R56R57R58

DT61

1

SH

IFT

RE

GIS

TE

R

IC61

C61VCCST1DT61CL1

R61R62R63R64

OE1R65R66R67R68

DT71

1

SH

IFT

RE

GIS

TE

R

IC71

C71VCCST1DT71CL1

R71R72R73R74

OE1R75R76R77R78

DT81

1

SH

IFT

RE

GIS

TE

R

IC81

C81VCCST1DT81CL1

R81R82R83R84

OE1R85R86R87R88

DT91

1

SH

IFT

RE

GIS

TE

R

IC52

C52VCCST2DT52CL2

G51G52G53G54

OE2G55G56G57G58

DT62

1

SH

IFT

RE

GIS

TE

R

IC62

C62VCCST2DT62CL2

G61G62G63G64

OE2G65G66G67G68

DT72

1

SH

IFT

RE

GIS

TE

R

IC82

C82VCCST2DT82CL2

G81G82G83G84

OE2G85G86G87G88

DT92

1

SH

IFT

RE

GIS

TE

R

IC72

C72VCCST2DT72CL2

G71G72G73G74

OE2G75G76G77G78

DT82

1

SH

IFT

RE

GIS

TE

R

IC53

C53VCCST3DT53CL3

B51B52B53B54

OE3B55B56B57B58

DT63

1

SH

IFT

RE

GIS

TE

R

IC63

C63VCCST3DT63CL3

B61B62B63B64

OE3B65B66B67B68

DT73

1

SH

IFT

RE

GIS

TE

R

IC73

C73VCCST3DT73CL3

B71B72B73B74

OE3B75B76B77B78

DT83

1

SH

IFT

RE

GIS

TE

R

IC83

C83VCCST3DT83CL3

B81B82B83B84

OE3B85B86B87B88

DT93

RR51RR52RR53RR54

RG51RG52RG53RG54

RB51RB52RB53RB54

RR61RR62RR63RR64

RG61RG62RG63RG64

RB61RB62RB63RB64

RR71RR72RR73RR74

RG71RG72RG73RG74

RB71RB72RB73RB74

RR81RR82RR83RR84

RG81RG82RG83RG84

RB81RB82RB83RB84

RR55RR56RR57RR58

RG55RG56RG57RG58

RB55RB56RB57RB58

RR65RR66RR67RR68

RG65RG66RG67RG68

RB65RB66RB67RB68

RR75RR76RR77RR78

RG75RG76RG77RG78

RB75RB76RB77RB78

RR85RR86RR87RR88

RG85RG86RG87RG88

RB85RB86RB87RB88

Dot

matrixRGB(1)

7 baris x 8 kolom

8 Dot

matrixRGB(2)

7 baris x 8 kolom

………………………………………

Dot

matrixRGB(8)

7 baris x 8 kolom

Page 11: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

23

Gambar 3.10. Komposisi satu piksel dot matrix RGB

Gambar untuk satu dot matrix RGB lebih lengkapnya dapat dilihat pada

lampiran D bagian Gambar Koneksi Pin. Sesuai dengan gambar tersebut, yang menjadi

kaki common pada LED yang berbeda warna untuk satu baris adalah kaki anoda, oleh

sebab itu kaki common anoda tersebut dihubungkan ke kendali baris, dan kaki common

katoda untuk satu kolom LED dengan warna yang sama dihubungkan ke kendali kolom

yang bersesuaian. Spesifikasi untuk dot matrix RGB yang digunakan dapat dilihat pada

lampiran D bagian Tabel Karakteristik Elektrik.

Arus yang dilewatkan untuk tiap warna dibuat berbeda, yaitu untuk

mendapatkan warna dengan intensitas yang sama untuk ketiga warna dasar di tiap piksel

yang digunakan, agar ketika ketiga warna dasar tersebut dinyalakan, diharapkan dapat

memiliki intensitas cahaya yang sama sehingga dapat dimunculkan warna white.

Perhitungan nilai resistansi yang digunakan untuk tiap kolom tiap warna mengacu pada

lampiran C bagian Grafik intensitas cahaya. Pada grafik lampiran terlihat bahwa dengan

menurunkan arus typical menjadi setengah, maka intensitas cahaya typical-nya juga

turun menjadi setengahnya. Hal ini hanya diterapkan untuk warna hijau, karena sesuai

datasheet dot matrix yang digunakan warna hijau memiliki intensitas cahaya dua kali

lebih besar dibanding dua warna yang lain. Nilai resistor yang dipasang untuk tiap

warna dasar dapat dihitung dan ditentukan dengan persamaan sebagai berikut:

( )warna

warnatyp

warna I

duty cycleVViR

.

.−=

………………………………..……(3.4)

( )Ohm 30 Ohm 52,29

mA 15

. V 9,15 7

1

≈=−=redR

( )Ohm 33 Ohm 38,32

mA 5,7

. V 3,35 7

1

≈=−=greenR

( )Ohm 18 Ohm 19,16

mA 15

. V 3,35 7

1

≈=−=blueR

Page 12: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

24

Pada kenyataannya, nilai-nilai resistansi yang didapat dari perhitungan sulit

untuk didapatkan. Oleh sebab itu nilai yang ada pada sisi paling kanan digunakan

sebagai nilai pendekatan dari nilai-nilai yang didapat dari perhitungan.

Pada perancangan digunakan nilai duty cycle-nya adalah satu per tujuh, karena

metode yang digunakan adalah scanning baris, dengan jumlah baris yang digunakan ada

tujuh. Perhitungan arus maksimum yang digunakan untuk penampil teks bergerak sudah

dilakukan pada bagian pembahasan kendali baris persamaan (3.2), yaitu maksimal

sebesar 2,4 A. Nilai arus yang dibutuhkan tersebut tidak terlalu besar karena perangkat

keras yang dirancang menggunakan kendali yang dilakukan secara scanning, sehingga

meminimalkan arus yang digunakan.

Nilai daya maksimum yang digunakan oleh penampil dengan duty cycle satu per

tujuh dapat dihitung dengan menggunakan persamaan di bawah ini.

dotpenampil IVP 64.= ……………………………………………………….(3.5)

A 2,4 .V 5=penampilP

Watt12=penampilP

Penampil teks bergerak RGB yang digunakan disusun dari 8 buah dot matrix

RGB ukuran 7 baris x 8 kolom yang disusun memanjang ke samping, dan terhubung

dengan MOSFET dan resistor pada shift register yang bersesuaian. Untai penampil yang

digunakan ditunjukkan pada Gambar 3.11.

Gambar 3.11. Untai penampil teks bergerak RGB.

BK

1B

K2

BK

3B

K4

BK

5B

K6

BK

7B

K8

RK

1R

K2

RK

3R

K4

RK

5R

K6

RK

7R

K8

B1

B2

B3

B4

GK

8G

K7

GK

6G

K5

GK

4G

K3

GK

2G

K1

B5

B6

B7

B8

DOT MATRIX RGB 8x8

DM1

BK

1B

K2

BK

3B

K4

BK

5B

K6

BK

7B

K8

RK

1R

K2

RK

3R

K4

RK

5R

K6

RK

7R

K8

B1

B2

B3

B4

GK

8G

K7

GK

6G

K5

GK

4G

K3

GK

2G

K1

B5

B6

B7

B8

DOT MATRIX RGB 8x8

DM2

BK

1B

K2

BK

3B

K4

BK

5B

K6

BK

7B

K8

RK

1R

K2

RK

3R

K4

RK

5R

K6

RK

7R

K8

B1

B2

B3

B4

GK

8G

K7

GK

6G

K5

GK

4G

K3

GK

2G

K1

B5

B6

B7

B8

DOT MATRIX RGB 8x8

DM3

BK

1B

K2

BK

3B

K4

BK

5B

K6

BK

7B

K8

RK

1R

K2

RK

3R

K4

RK

5R

K6

RK

7R

K8

B1

B2

B3

B4

GK

8G

K7

GK

6G

K5

GK

4G

K3

GK

2G

K1

B5

B6

B7

B8

DOT MATRIX RGB 8x8

DM4

B7

B6

B5

G1

1G

12

G1

3G

14

G1

5G

16

G1

7G

18

B4

B3

B2

B1

B7

B6

B5

G2

1G

22

G2

3G

24

G2

5G

26

G2

7G

28

B4

B3

B2

B1

B7

B6

B5

G3

1G

32

G3

3G

34

G3

5G

36

G3

7G

38

B4

B3

B2

B1

B7

B6

B5

G4

1G

42

G4

3G

44

G4

5G

46

G4

7G

48

B4

B3

B2

B1

B1

1B

12

B1

3B

14

B1

5B

16

B1

7B

18

R1

1R

12

R1

3R

14

R1

5R

16

R1

7R

18

R2

8R

27

R2

6R

25

R2

4R

23

R2

2R

21

B2

8B

27

B2

6B

25

B2

4B

23

B2

2B

21

R3

8R

37

R3

6R

35

R3

4R

33

R3

2R

31

B3

8B

37

B3

6B

35

B3

4B

33

B3

2B

31

R4

8R

47

R4

6R

45

R4

4R

43

R4

2R

41

B4

8B

47

B4

6B

45

B4

4B

43

B4

2B

41

BK

1B

K2

BK

3B

K4

BK

5B

K6

BK

7B

K8

RK

1R

K2

RK

3R

K4

RK

5R

K6

RK

7R

K8

B1

B2

B3

B4

GK

8G

K7

GK

6G

K5

GK

4G

K3

GK

2G

K1

B5

B6

B7

B8

DOT MATRIX RGB 8x8

DM5

BK

1B

K2

BK

3B

K4

BK

5B

K6

BK

7B

K8

RK

1R

K2

RK

3R

K4

RK

5R

K6

RK

7R

K8

B1

B2

B3

B4

GK

8G

K7

GK

6G

K5

GK

4G

K3

GK

2G

K1

B5

B6

B7

B8

DOT MATRIX RGB 8x8

DM6

BK

1B

K2

BK

3B

K4

BK

5B

K6

BK

7B

K8

RK

1R

K2

RK

3R

K4

RK

5R

K6

RK

7R

K8

B1

B2

B3

B4

GK

8G

K7

GK

6G

K5

GK

4G

K3

GK

2G

K1

B5

B6

B7

B8

DOT MATRIX RGB 8x8

DM7

BK

1B

K2

BK

3B

K4

BK

5B

K6

BK

7B

K8

RK

1R

K2

RK

3R

K4

RK

5R

K6

RK

7R

K8

B1

B2

B3

B4

GK

8G

K7

GK

6G

K5

GK

4G

K3

GK

2G

K1

B5

B6

B7

B8

DOT MATRIX RGB 8x8

DM8

B7

B6

B5

G5

1G

52

G5

3G

54

G5

5G

56

G5

7G

58

B4

B3

B2

B1

B7

B6

B5

G6

1G

62

G6

3G

64

G6

5G

66

G6

7G

68

B4

B3

B2

B1

B7

B6

B5

G7

1G

72

G7

3G

74

G7

5G

76

G7

7G

78

B4

B3

B2

B1

B7

B6

B5

G8

1G

82

G8

3G

84

G8

5G

86

G8

7G

88

B4

B3

B2

B1

R5

8R

57

R5

6R

55

R5

4R

53

R5

2R

51

B5

8B

57

B5

6B

55

B5

4B

53

B5

2B

51

R8

8R

87

R8

6R

85

R8

4R

83

R8

2R

81

B8

8B

87

B8

6B

85

B8

4B

83

B8

2B

81

R7

8R

77

R7

6R

75

R7

4R

73

R7

2R

71

B7

8B

77

B7

6B

75

B7

4B

73

B7

2B

71

R6

8R

67

R6

6R

65

R6

4R

63

R6

2R

61

B6

8B

67

B6

6B

65

B6

4B

63

B6

2B

61

Page 13: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

25

3.2. Perancangan dan Realisasi Perangkat Lunak Sistem

Bagian ini menjelaskan tentang perancangan dan realisasi perangkat lunak

sistem. Perangkat lunak sistem terdiri dari dua bagian, yaitu program interface dan

program mikrokontroler. Kedua program tersebut menggunakan bahasa pemrograman

yang berbeda, program interface dibuat dengan bahasa pemrograman Visual Basic,

sedangkan program mikrokontroler dibuat dengan bahasa pemrograman C.

Program interface digunakan oleh pengguna untuk menuliskan data teks yang

akan dikirimkan, mengatur pengaturan memori penyimpanan data, animasi, warna teks

dan latar belakang, dan pengiriman data keseluruhan.

Program mikrokontroler digunakan untuk mengendalikan proses pengendalian

baris dan kolom pada sistem penampil teks bergerak RGB, sehingga data teks yang

ditampilkan sesuai dengan yang diharapkan.

3.2.1. Perancangan dan Realisasi Program Interface

Program interface merupakan suatu program untuk tampilan yang digunakan

pengguna untuk menuliskan atau mengubah data teks, melakukan pengaturan memori

penyimpanan, animasi, warna teks dan latar belakang, dan mengirimkan keseluruhan

data. Proses kerja dari program interface mengacu pada diagram alir program yang

ditunjukkan pada Gambar 3.12.

Gambar 3.12. Diagram alir program interface.

Mulai

Inisialisasi tampilan awal

ubah teks, animasi,

warna teks dan latar belakang,

atau memori penyimpanan

Ya Tidak Ya

Selesai

Keluar kirim

Tidak

Ya

Page 14: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

26

Program interface tidak harus aktif setiap saat, program ini hanya perlu

diaktifkan pada saat pengguna ingin melakukan perubahan data, yang meliputi teks,

warna, memori penyimpanan, dan animasi.

Setiap kali program interface diaktifkan atau dibuka, maka program akan

melakukan inisialisasi data dan tampilan awal sebagai standar pengaturan agar program

siap untuk digunakan. Setelah proses tersebut berlangsung pengguna dapat melakukan

pengubahan data teks, warna teks atau latar belakang, memori penyimpanan, maupun

animasi. Data yang sudah siap untuk dikirim akan terlebih dahulu dicek oleh program,

jika data valid maka data segera dikirimkan melalui komunikasi serial ke

mikrokontroler, sebaliknya bila data tidak valid maka pengguna diharuskan melakukan

pengaturan ulang. Data dianggap valid apabila data teks yang dimasukkan pengguna

tidak melebihi 50 karakter. Setelah proses pengiriman, pengguna dapat menutup

aplikasi maupun kembali melakukan pengaturan data. Berikut adalah tampilan program

interface yang dibuat, ditunjukkan pada Gambar 3.13.

Gambar 3.13. Tampilan program interface.

Gambar di atas merupakan tampilan ketika aplikasi mula-mula diaktifkan,

tombol kirim belum ada karena belum ada teks yang dituliskan pada kotak tempat

menulis teks. Penempatan tombol kirim berada tepat di bawah tombol keluar dan

Pengaturan

warna teks

Pengaturan

warna latar belakang

Pengaturan

memori

Pengaturan

animasi

Tempat

menulis teks

Sisa ruang kosong

karakter yang tersedia

Tombol

keluar

Contoh tampilan berdasar

pengaturan warna teks dan

latar belakang

Page 15: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

27

textbox_TextChanged() label_remain= 50 – TextLength

If(TextLength == 0) hide(button_kirim)

Else show(button_kirim)

application_Open() list_textcolor_1 = “Red”

list_textcolor_2 = “Red” list_textcolor_3 = “Red” list_backcolor_1 = “No color” list_backcolor_2 = “No color” list_memory = “RAM” list_animation = “Shift Left” button_kirim = hide()

letaknya sejajar. Saat ada teks yang dituliskan pada kotak teks, maka tombol kirim akan

muncul. Tombol kirim akan kembali tidak terlihat apabila isi kotak teks kosong.

Tampilan mula-mula aplikasi dapat terjadi demikian karena pada saat awal program

melakukan inisialisasi untuk warna teks dan latar belakang, memori, dan animasi.

Pengaturan tersebut merupakan pengaturan awal standar, yang akan selalu

menghasilkan tampilan demikian setiap kali aplikasi diaktifkan. Program melakukan

inisialisasi tampilan setiap kali aplikasi diaktifkan dengan algoritma yang ditunjukkan

pada Kode 3.1.

Kode 3.1. Inisialisasi tampilan awal aktif.

Pada tampilan aplikasi terdapat sebuah label bertuliskan “Remain: 50”, ini

merupakan label penunjuk sisa karakter, yang fungsinya sebagai indikator bagi

pengguna untuk mengetahui sisa ruang kosong karakter yang tersedia. Proses pengisian

nilai sisa karakter ini berada didalam fungsi penerimaan data karakter pada kotak teks

yang ditunjukkan pada Kode 3.2.

Kode 3.2. Penerimaan data karakter pada kotak teks.

Setiap kali pengguna menuliskan suatu karakter maka nilai sisa karakter ini akan

berkurang satu, jadi sisa karakter ini dapat bernilai positif atau nol. Positif terjadi bila

Page 16: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

28

jumlah data teks yang dituliskan kurang dari 50, nol jika jumlah data teks sama dengan

50. Terdapat proteksi saat nilai sisa karakter mencapai nol, kotak teks tidak dapat diisi

kembali, tujuannya adalah agar karakter yang dituliskan tidak melebihi 50 karakter.

Ada beberapa bagian yang nilainya telah dideklarasi terdahulu di bagian properti

sistem, antara lain adalah warna dari form aplikasi dan contoh tampilan, daftar isi dari

memori, animasi, warna teks, dan warna latar belakang. Terdapat tujuh pilihan memori

penyimpanan yang dapat digunakan, deklarasi isi dari daftar memori yang tersedia

ditunjukkan pada Tabel 3.3.

Tabel 3.3. Daftar isi pilihan memori penyimpanan.

Indeks Nama Memori 0 EEPROM 1 1 EEPROM 2 2 EEPROM 3 3 EEPROM 4 4 EEPROM 5 5 EEPROM 6 6 EEPROM 7 7 EEPROM 8 8 RAM

Setiap kali ada perubahan pada memori yang dipilih maka secara otomatis

program menyimpan indeks dari nama memori yang dipilih dari daftar, sehingga tidak

perlu ada fungsi pada kode program untuk mendeteksi memori yang dipilih oleh

pengguna. Lain halnya dengan daftar animasi yang pemilihannya terkait erat dengan

jumlah karakter dari teks yang dimasukkan. Terdapat lima pilihan animasi yang

tersedia, ditunjukkan pada Tabel 3.4.

Tabel 3.4. Daftar isi pilihan animasi dan persyaratan penggunaannya.

Indeks Nama Animasi Syarat Penggunaan

0 Shift Left Tersedia untuk jumlah karakter pada kotak teks dari 1 sampai 50

1 Static Tersedia apabila jumlah karakter yang dituliskan pada kotak teks tidak melebihi 10 karakter

2 Blink 3 Scroll Down 4 Show Horizontal

Page 17: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

29

list_anim_Open() if(TextLength > 10)

hide(“Static”) hide(“Blink”) hide(“Scroll Down”) hide(“Show Horizontal”)

Else show(“Static”) show(“Blink”) show(“Scroll Down”) show(“Show Horizontal”)

Proses pendeteksian jumlah karakter yang ada pada kotak teks, terjadi setiap kali

saat pengguna membuka daftar animasi untuk memilih. Proses ini dilakukan dengan

mengikuti algoritma yang ditunjukkan pada Kode 3.3.

Kode 3.3. Pemilihan animasi pada daftar.

Setiap kali ada perubahan pada animasi yang dipilih maka secara otomatis

program menyimpan indeks dari nama animasi yang dipilih pada daftar. Fungsi yang

ada pada Kode 3.3 digunakan sebagai proteksi yang berkaitan dengan jumlah karakter

yang ada pada kotak teks, sesuai dengan persyaratan yang ada pada Tabel 3.4. Pada saat

pengguna membuka daftar animasi dan jumlah karakter pada saat itu kurang dari atau

sama dengan sepuluh maka nama animasi pada indeks satu sampai empat tetap

ditampilkan, sebaliknya bila jumlah karakter pada saat itu lebih besar dari sepuluh maka

nama animasi pada indeks satu sampai empat disembunyikan.

Pengaturan untuk warna teks dan latar belakang tampilan dilakukan dalam dua

tahapan, yaitu pemilihan banyaknya variasi warna dan jenis warna yang ingin

digunakan. Banyaknya variasi warna hanya satu saja yang dapat dipilih dari beberapa

pilihan yang tersedia, yaitu maksimal tiga untuk warna teks dan dua untuk warna latar

belakang. Jumlah daftar warna yang tertampil sesuai dengan pilihan banyaknya variasi

warna yang dipilih. Daftar warna diletakkan tepat di sebelah kanan pilihan jumlah

variasi warna, yang hanya akan tertampil pada saat pilihan jumlah variasi warna yang

ada tepat di sebelah kirinya dipilih, konsepnya sesuai dengan petunjuk yang ada pada

Tabel 3.5.

Page 18: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

30

optionbutton_tc1_Select() show(list_tc1) hide(list_tc2) hide(list_tc3) optionbutton_tc2_Select() show(list_tc2) hide(list_tc3) optionbutton_tc3_Select() show(list_tc3) optionbutton_bc1_Select() show(list_bc1) hide(list_bc2) optionbutton_bc2_Select() show(list_bc2)

Tabel 3.5. Hubungan pemilihan jumlah variasi warna dan daftar yang tertampil.

Keperluan Jumlah Variasi Warna Daftar Warna yang Tertampil Warna teks 1 Teks 1

2 Teks 1 dan 2 3 Teks 1, 2, dan 3

Warna latar belakang 1 Latar belakang 1 2 Latar belakang 1 dan 2

Konsep yang ada pada Tabel 3.5 digunakan sebagai algoritma untuk mengatur

hubungan pemilihan jumlah variasi warna dan daftar yang ditampilkan. Penggunaan

algoritma ini jelas terlihat ketika pilihan banyaknya variasi warna dipilih yang

ditunjukkan pada Kode 3.4.

Kode 3.4. Penampilan daftar warna berdasarkan banyak variasi warna yang dipilih.

Pengubahan jenis warna yang dipilih dari daftar tidak akan berpengaruh

terhadap tampilan pilihan banyaknya variasi warna, karena daftar warna yang tertampil

bergantung pada banyaknya variasi warna yang dipilih. Pengubahan warna pada daftar

hanya akan berpengaruh terhadap warna dari gambar contoh tampilan yang ada pada

form, yaitu dengan mengatur nilai data RGB-nya dari 0 sampai 255. Dalam hal ini yang

dipakai adalah nilai minimal atau maksimalnya saja, yaitu 0 atau 255. Warna yang

ditampilkan pada gambar sesuai kombinasi nilai data RGB-nya ditunjukkan pada Tabel

3.6.

Page 19: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

31

Tabel 3.6. Hubungan nilai data RGB dan warna yang ditampilkan.

Kombinasi Nilai Warna Warna yang Ditampilkan R G B

255 0 0 Red 0 255 0 Green 0 0 255 Blue 0 255 255 Cyan

255 0 255 Magenta 255 255 0 Yellow 255 255 255 White

0 0 0 No Color

Konsep yang digunakan pada daftar warna ini sama seperti yang digunakan pada

daftar memori penyimpanan dan animasi, program secara otomatis menyimpan nilai

indeks dari warna yang dipilih. Urutan indeks dari daftar warna ditunjukkan pada Tabel

3.7.

Tabel 3.7. Daftar warna berdasarkan urutan indeks.

Indeks Warna 0 Red 1 Green 2 Blue 3 Cyan 4 Magenta 5 Yellow 6 White 7 No Color

Data warna yang nantinya akan dikirimkan ke mikrokontroler tidak sama seperti

yang digunakan pada memori penyimpanan dan animasi. Data memori penyimpanan

dan animasi dikirimkan dalam bentuk karakter angka, sedangkan data warna dikirimkan

dalam bentuk karakter huruf. Oleh sebab itu pada program diperlukan suatu fungsi

untuk mengecek nilai indeks dari warna yang dipilih, kemudian menyimpannya dalam

bentuk karakter huruf yang bersesuaian dengan warnanya. Algoritma dari fungsi

tersebut ditunjukkan pada Kode 3.5.

Page 20: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

32

cek_color() If (index_color == 0)

set_color(255,0,0) data_color = ‘r’ Else If(index_color == 1)

set_color(0,255,0) data_color = ‘g’ Else If(index_color == 2)

set_color(0,0,255) data_color = ‘b’ Else If(index_color == 3)

set_color(0,255,255) data_color = ‘c’ Else If(index_color == 4)

set_color(255,0,255) data_color = ‘m’ Else If(index_color == 5)

set_color(255,255,0) data_color = ‘y’ Else If(index_color == 6)

set_color(255,255,255) data_color = ‘w’

Send_Serial_Data(alldata) port_name = COM1

baudrate = 9600 parity = none data_bit = 8 stop_bit = 1 serial_port_send(alldata)

Kode 3.5. Hubungan indeks warna dan data warna.

Setelah semua pengaturan selesai dilakukan, pengguna hanya perlu menekan

tombol kirim untuk mengirimkan data ke mikrokontroler. Data dikirimkan dari

komputer ke mikrokontroler menggunakan komunikasi serial RS232. Untuk dapat

melakukan pengiriman data maka diperlukan fungsi untuk menangani inisialisasi port

dan pengiriman data, yang ditunjukkan pada Kode 3.6, sedangkan fungsi deteksi

penekanan tombol kirim ditunjukkan pada Kode 3.7.

Kode 3.6. Inisialisasi port serial dan pengiriman data.

Page 21: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

33

button_send_Click()

Send_serial_data(alldata) Message(“Success”)

Kode 3.7. Deteksi penekanan tombol kirim.

Ketika tombol kirim ditekan maka fungsi pada Kode 3.7 akan dijalankan, data

akan dikirimkan dan terdapat pesan bahwa data pengaturan telah berhasil dikirimkan.

Pada Kode 3.7, “alldata” menunjuk pada keseluruhan data pengaturan yang akan

dikirimkan, yang terdiri dari indeks memori penyimpanan, indeks animasi, warna teks,

warna latar belakang, jumlah karakter teks, dan data teks. Format dari data serial yang

dikirimkan ditunjukkan pada Gambar 3.14.

Gambar 3.14. Format dari data yang dikirimkan secara serial.

Keseluruhan data yang dikirim dikemas dalam suatu tipe data string / array

karakter. Nilai dari indeks memori dan animasi adalah suatu karakter angka, nilai data

warna teks dan latar belakang adalah suatu karakter huruf, nilai dari jumlah karakter

adalah suatu karakter angka dengan array[8] menyimpan nilai puluhan, dan array[9]

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] ……………… dst.

Index memori

Data warna teks (tc1, tc2, dan tc3)

Data warna latar belakang (bc1, dan bc2)

Jumlah karakter (puluhan, dan satuan)

Data karakter

Index animasi

array data pengaturan Mikrokontroler

AVR

Page 22: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

34

menyimpan nilai satuannya. Array yang berikutnya digunakan untuk menampung data

teks yang dimasukkan oleh pengguna, yang panjangnya dapat bervariasi, mulai dari 1

hingga 50. Jadi panjang array maksimal keseluruhan adalah 60 array, 10 array pertama

untuk data pengaturan, dan 50 array terakhir untuk data teks.

Tombol keluar pada tampilan digunakan untuk keluar dari aplikasi. Program

interface ini merupakan program tambahan, tidak mutlak harus ada namun

keberadaannya sangat membantu dan memudahkan pengguna dalam melakukan

pengaturan keseluruhan data. Program tidak perlu aktif setiap saat, hanya perlu

dijalankan saat pengguna ingin melakukan perubahan data dan mengirimkannya ke

memori penyimpanan yang diinginkan saja. Setelah proses pengaturan dan pengiriman

keseluruhan selesai dilakukan, program dapat dinon-aktifkan.

3.2.2. Perancangan dan Realisasi Program Mikrokontroler

Program mikrokontroler merupakan program utama dari keseluruhan sistem,

tidak seperti program interface yang keberadaanya hanya sebagai tambahan. Program

mikrokontroler merupakan program yang mutlak harus ada, karena program ini berisi

algoritma yang mengatur keseluruhan fungsi dan kendali dari sistem.

Data warna, memori, animasi, dan teks disimpan dalam memori yang ada di

dalam mikrokontroler, sebagian besar data disimpan dalam memori penyimpanan

primer dan sebagian lagi disimpan dalam memori penyimpanan sekunder. Memori

penyimpanan primer yang dimaksud adalah Electrically Erasable Programmable Read-

Only Memory (EEPROM), sedangkan memori penyimpanan sekunder yang dimaksud

adalah Random Access Memory (RAM). Memori penyimpanan primer digunakan

sebagai tempat penyimpanan permanen, yang akan tetap tersimpan meskipun catu daya

dimatikan. Sedangkan memori penyimpanan sekunder digunakan sebagai tempat

penyimpanan sementara, yang akan hilang ketika catu daya dimatikan.

Program mikrokontroler terdiri dari dua bagian, yaitu program utama dan

program interupsi. Program utama berisi kendali untuk baris dan pengiriman data untuk

kendali kolom, sedangkan program interupsi digunakan untuk menangani interupsi

pengiriman data dari komputer ke mikrokontroler, dan menyimpannya ke dalam

memori yang bersesuaian. Pengendalian baris lebih mudah dilakukan dibandingkan

pengendalian kolom, karena dalam satu kali proses dapat mengendalikan tujuh baris

secara bersamaan. Sedangkan pengendalian kolom membutuhkan teknik yang lebih

Page 23: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

35

rumit, karena pengisian datanya dilakukan secara serial dan nilai tiap baris penampil

umumnya berbeda, sehingga pengubahannya lebih sering dilakukan. Proses kerja dari

program mikrokontroler mengacu pada diagram alir program yang ditunjukkan pada

Gambar 3.15.

Gambar 3.15.Diagram alir program mikrokontroler.

Setiap kali mikrokontroler dihidupkan, maka program akan selalu dimulai

dengan insialisasi variabel penyimpan data. Tujuan inisialisasi tersebut adalah

menyiapkan variabel-variabel yang akan digunakan program untuk proses perhitungan

dan penyimpanan data sementara. Proses kemudian dilanjutkan ke pembacaan data yang

tersimpan pada EEPROM, kemudian menyalin data tersebut ke array penampungan data

sementara. Algoritma pengisian data dari EEPROM ke array penampungan sementara

ditunjukkan pada Kode 3.8.

Mulai

Inisialisasi variabel

penyimpan data

Baca data dari EEPROM

dan salin ke array

Cek dan inisialisasi

index penyimpanan data

Proses tampil:

Teks EEPROM 1

Teks EEPROM 2

Teks EEPROM 3

Teks EEPROM 4

Teks EEPROM 5

Teks EEPROM 6

Teks EEPROM 7

Teks EEPROM 8

Teks RAM

Interupsi

terima data serial

Salin data ke

EEPROM atau RAM

Page 24: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

36

eeprom_to_array(index)

puluhan = data_eeprom[index][8] satuan = data_eeprom[index][9] ulang = puluhan x 10 + satuan i=0 repeat(from i to (ulang + 9)) data_array[i] = data_eeprom[index][i]

i=i+1

init_specific_data() index_memori = data_array[1]

index_animasi = data_array[2] warna_teks[0] = data_array[3] warna_teks[1] = data_array[4] warna_teks[2] = data_array[5] warna_background[0] = data_array[6] warna_background[1] = data_array[7] jml_teks = data_array[8] x 10 + data_array[9] i=0 repeat(from i to (i < jml_teks)) data_teks[i]=data_array[i + 10]

i=i+1

Kode 3.8. Penyalinan data EEPROM ke array penampung sementara.

Setelah penyalinan data dari EEPROM ke array penampung sementara selesai

dilakukan, maka langkah selanjutnya adalah pemeriksaan dan inisialisasi indeks

penyimpan data. Pada langkah ini, data yang sudah ditampung dalam array penampung

sementara dipecah ke tempat penampung khusus, tujuannya adalah menempatkan data

pada tempat yang bersesuaian. Tempat penampung khusus tersebut mencakup data

warna teks dan latar belakang, indeks animasi dan memori penyimpanan, serta data

teks. Proses inisialisasi masing-masing tempat penyimpanan khusus tesebut ditunjukkan

pada Kode 3.9.

Kode 3.9. Penyalinan data array penampung sementara ke data penampung khusus.

Dengan menempatkan data pada tempat penyimpanan khusus yang bersesuaian,

maka akan memudahkan pembuat program dalam melakukan proses penyeleksian, dan

kendali untuk baris dan kolom. Langkah selanjutnya adalah mengisi nilai array

Page 25: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

37

A b ….

Array data teks

MSB

Nilai satu elemen array penampil

Nilainya adalah 7F heksa

penampil, array penampil berbeda dengan array untuk data teks. Perbedaannya adalah

satu karakter pada data teks hanya membutuhkan satu elemen saja, sedangkan satu

karakter untuk penampil membutuhkan enam buah elemen yang masing-masing

nilainya elemennya dapat berbeda-beda. Satu elemen pada data teks direpresentasikan

pada penampil dalam enam buah elemen yang ditunjukkan pada Gambar 3.16.

Dibutuhkan enam elemen karena satu karakter penampil membutuhkan ruang tujuh

baris dan lima kolom, satu kolom tersisa digunakan untuk spasi.

Gambar 3.16. Representasi array data teks ke array penampil.

Tipe data untuk masing-masing elemen adalah karakter, namun yang membuat

berbeda adalah kegunaannya. Satu elemen array data teks digunakan untuk menyimpan

satu karakter, sedangkan enam elemen array penampil digunakan untuk menyimpan

nilai-nilai tampilan dari karakter tersebut. Contoh representasi dari array data teks ke

array penampil ditunjukkan pada Gambar 3.17. Nilai tiap elemen dapat dituliskan dalam

bentuk biner maupun heksadesimal.

Gambar 3.17. Contoh representasi isi array data teks ke array penampil.

Karena enam elemen array penampil digunakan untuk merepresentasikan satu

karakter pada data teks, maka array penampil membutuhkan tempat yang lebih besar

dibanding array data teks. Perbandingan kapasitas array data teks dibandingkan array

[0] [1] ….

Array data teks

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] …. [9] [10]

Array penampil Elemen untuk spasi Elemen untuk spasi

Page 26: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

38

penampil adalah satu berbanding enam. Nilai Least Significant Bit (LSB) data pada

penampil dapat diisi dengan bebas karena tidak digunakan, namun untuk bit yang lain

tidak boleh terjadi kesalahan dalam pengisian nilainya. Nilai-nilai tampilan dari sebuah

karakter dan indeks dari dari daftar karakter digunakan program untuk pengisian data

tampilan, sehingga karakter yang tertampil sesuai dengan karakter yang tersimpan pada

data teks.

Setelah pengisian semua data selesai dilakukan, program berlanjut ke fungsi

penampilan, yaitu mencakup kendali untuk baris dan kendali kolom. Proses

pengendalian untuk penampil dilakukan dengan metode scanning baris. Pengendalian

baris lebih mudah dilakukan karena dapat dilakukan secara paralel, tujuh baris dapat

dikendalikan secara bersamaan. Sedangkan pengendalian kolom lebih sulit dilakukan

karena menggunakan teknik pengiriman data serial, dengan 64 buah kolom yang

dikendalikan untuk masing-masing warna dasar RGB.

Pengendalian baris mengikuti syarat bahwa dalam setiap kondisi hanya

diperbolehkan satu baris saja yang dalam kondisi hidup, dan baris yang lain harus dalam

kondisi mati. Proses ini dilakukan secara bergantian mulai dari baris satu hingga baris

tujuh, kemudian diulangi kembali mulai dari baris satu dan seterusnya, dengan proses

pengendalian yang diulang-ulang selama beberapa waktu lamanya. Karena masukan

kendali baris adalah aktif low, maka untuk menghidupkan suatu baris, pin yang

terhubung dengan baris tersebut harus bernilai logika nol, dan baris yang lain bernilai

logika satu. Kendali untuk baris mengikuti syarat yang ditunjukkan pada Tabel 3.8.

Tabel 3.8. Hubungan nilai PORT A dan baris yang aktif.

Nilai Biner PORT A(Kendali Baris) Baris yang Aktif 10111111 1 11011111 2 11101111 3 11110111 4 11111011 5 11111101 6 11111110 7

Meskipun proses pengendalian dilakukan secara scanning, namun nampak

bahwa ketujuh baris seolah-olah menyala secara bersamaan, hal ini dikarenakan

frekuensi scanning terjadi sangat cepat, sehingga mata manusia tidak dapat mendeteksi

Page 27: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

39

selection_coloumn_data(line)

case 1 : if((data_tampil[index] AND 80H) == 80H) set_color(text(line))

else set_color(background(line))

case 2 : if((data_tampil[index] AND 40H) == 40H) set_color(text(line))

else set_color(background(line))

case 3 : if((data_tampil[index] AND 20H) == 20H) set_color(text(line))

else set_color(background(line))

case 4 : if((data_tampil[index] AND 10H) == 10H) set_color(text(line))

else set_color(background(line))

case 5 : if((data_tampil[index] AND 08H) == 08H) set_color(text(line))

else set_color(background(line))

case 6 : if((data_tampil[index] AND 04H) == 04H) set_color(text(line))

else set_color(background(line))

case 7 : if((data_tampil[index] AND 02H) == 02H) set_color(text(line))

else set_color(background(line))

perubahan tersebut. Pada saat awal program dijalankan, ketujuh baris harus dalam

kondisi mati, dan hanya diaktifkan saat akan dihidupkan saja. Proses pengisian data

kolom dilakukan dengan melakukan perbandingan antara data penampil dengan suatu

data menggunakan logika AND. Algoritma seleksi data kolom penampil ditunjukkan

pada Kode 3.10, tujuan menggunakan perbandingan logika AND adalah untuk

mengetahui nilai bit dari data yang akan dicek, karena nilai tiap bit data menunjukkan

kondisi lampu yang sebenarnya dari baris dan kolom penampil yang bersesuaian.

Kode 3.10. Prosedur seleksi data kolom penampil.

Prosedur set_color(color) digunakan untuk pengaturan data warna dari kolom

penampil. Nilai dari text(line) dan background(line) adalah suatu karakter yang

merepresentasikan data warna. Saat prosedur set_color(color) dipanggil, maka program

Page 28: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

40

set_color(color)

case ‘r’ : data_r = 0, data_g = 1, data_b = 1 case ‘g’ : data_r = 1, data_g = 0, data_b = 1 case ‘b’ : data_r = 1, data_g = 1, data_b = 0 case ‘c’ : data_r = 1, data_g = 0, data_b = 0 case ‘m’ : data_r = 0, data_g = 1, data_b = 0 case ‘y’ : data_r = 0, data_g = 0, data_b = 1 case ‘w’ : data_r = 0, data_g = 1, data_b = 1

clock_r = 1, clock_g = 1, clock_b = 1

delay(1us) clock_r = 0, clock_g = 0, clock_b = 0 delay(1us)

akan menginisialisasi data warna dari teks maupun latar belakang yang bersesuaian.

Algoritma dari prosedur set_color(color) ditunjukkan pada Kode 3.11.

Kode 3.11. Prosedur pengisian data warna kolom penampil.

Sama seperti kendali baris, kendali kolom juga bersifat aktif low. Oleh sebab itu

untuk menghidupkan suatu warna maka nilai data warna tersebut harus bernilai logika

nol, dan data warna lain bernilai logika satu. Pengubahan nilai clock bertujuan untuk

menggeser nilai data sejauh satu bit, yaitu pada saat terjadi transisi nilai clock dari

logika nol ke satu. Pada program, pergeseran data warna untuk R, G, dan B dapat

dianggap dilakukan secara bersama-sama, karena selisih waktu terjadinya sangat

sedikit. Pengisian data untuk kolom dilakukan sebanyak 64 kali, yang berarti setiap kali

berganti kendali baris program harus melakukan pengisian data untuk kolom sebanyak

64 kali, dengan teknik pengisian data yang digeser, hal ini harus selalu dilakukan karena

nilai data-data kolom untuk tiap baris penampil tidaklah selalu sama. Beberapa nama

variabel yang digunakan sebagai kendali kolom dan hubungannya pin yang ada pada

mikrokontroler ditunjukkan pada Tabel 3.9.

Page 29: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

41

Tabel 3.9. Hubungan nama variabel dengan pin kendali pada mikrokontroler.

Nama Variabel Pin Mikrokontroler clock_g PORTB.0 strobe_g PORTB.1 data_g PORTB.2 output_enable_g PORTB.3 clock_r PORTC.0 strobe_r PORTC.1 data_r PORTC.2 output_enable_r PORTC.3 clock_b PORTC.4 strobe_b PORTC.5 data_b PORTC.6 output_enable_b PORTC.7

Pin kendali output enable nilainya tidak diubah-ubah selama jalannya program,

pin ini bernilai logika satu pada saat inisialisasi awal variabel penyimpan data.

Sedangkan pin kendali strobe nilainya diubah-ubah saat berganti baris penampil. Saat

pin strobe bernilai logika satu, maka data keluaran shift register nilainya sama dengan

data yang ada pada buffer shift register. Sebaliknya saat pin strobe bernilai logika nol,

perubahan data pada buffer shift register tidak akan berpengaruh terhadap keluaran shift

register, atau dapat dikatakan bahwa keluaran shift register masih merupakan data lama.

Proses yang terjadi sebenarnya adalah data kolom yang dikirimkan ke shift register

tidak dikeluaran langsung oleh shift register, melainkan ditampung terlebih dahulu di

buffer shift register, pin strobe hanya perlu diaktifkan pada saat data sudah siap untuk

dikeluarkan. Pin strobe dinon-aktifkan hanya pada saat terjadi pengisian data ke buffer

shift register.

Teknik pengendalian dengan menggunakan scanning baris dilakukan dengan

mengisi nilai semua data kolom terlebih dahulu, setelah itu memilih baris yang

dihidupkan. Proses ini berlaku sama juga ketika akan menghidupkan baris yang lain.

Pengendalian baris dan kolom ditentukan dari animasi yang akan ditampilkan,

kombinasi pengaturan baris dan kolom yang berbeda-beda dapat menghasilkan tampilan

animasi yang berbeda-beda pula. Animasi yang berbeda menggunakan algoritma

penampilan yang berbeda pula. Algoritma untuk animasi indeks satu sampai empat pada

Tabel 3.4 lebih mudah dibuat dibanding animasi indeks nol, karena variasi lebih banyak

dilakukan pada pengaturan kendali baris. Sedangkan animasi pada indeks nol lebih

banyak memvariasikan nilai data pada kolom, nilai data yang ditampilkan berubah

Page 30: BAB III PERANCANGAN DAN REALISASI ALATrepository.uksw.edu/bitstream/123456789/2771/4/T1_612006046_BAB III...15 lengkap diterima. Kaki RX-TX pada PC dan MAX232 dihubungkan secara bersilangan

42

vertical_scanning() i=0

Repeat(from i to 1000) fill_colomn(line_1), strobe_all(on)

PORTA = 10111111b, delay(100us) strobe_all(off)

fill_colomn(line_2), strobe_all(on) PORTA = 11011111b, delay(100us) strobe_all(off)

fill_colomn(line_3), strobe_all(on) PORTA = 11101111b, delay(100us) strobe_all(off)

fill_colomn(line_4), strobe_all(on) PORTA = 11110111b, delay(100us) strobe_all(off)

fill_colomn(line_5), strobe_all(on) PORTA = 11111011b, delay(100us) strobe_all(off)

fill_colomn(line_6), strobe_all(on) PORTA = 11111101b, delay(100us) strobe_all(off)

fill_colomn(line_7), strobe_all(on) PORTA = 11111110b, delay(100us) strobe_all(off)

PORTA = 11111111b

setiap kali teks pada tampilan bergeser. Prinsip pengendalian dengan menggunakan

teknik scanning baris secara umum menggunakan algoritma yang ditunjukkan pada

Kode 3.12.

Kode 3.12. Pengendalian dengan menggunakan teknik scanning baris.

Nilai PORT A yang ada di akhir prosedur vertical_scanning() digunakan untuk

menonaktifkan semua baris sehingga tidak ada penampil tersisa yang masih dalam

kondisi hidup. Arti dari strobe_all menunjukkan kondisi strobe untuk kendali tiap-tiap

shift register masing-masing warna dasar.