program studi teknik elektronika jurusan teknik … · politeknik negeri medan medan 2011 ....
TRANSCRIPT
Aplikasi Komputer SEMESTER - 5A Kelompok V
PROGRAM STUDI TEKNIK ELEKTRONIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI MEDAN
MEDAN
2011
Aplikasi Komputer SEMESTER - 5A Kelompok V
LEMBAR PENILAIAN
No. Percobaan : 01/Lab. Aplikasi Komputer/EK-5A/2010
Judul Percobaan : MODUL PENGENDALI 12 LED
Kelompok : V (lima)
Nama Kelompok : 1. AHMAD SYAHRI
2. MAILIA SYAFITRI
3. RENHARD F SINAGA
4. HENDRIANTO MANURUNG
5. MIKHAEL NAIBAHO
5. YUSTIGA HUTABARAT
Kelas : EK – 5 A
Tanggal Percobaan :
Tanggal penyerahan : 04 Januari 2011
Instruktur : AHMAD YANI, ST
Nilai :
Keterangan :
Aplikasi Komputer SEMESTER - 5A Kelompok V
DAFTAR ISI
LEMBAR PENILAIAN ... ..........................................................................................................
DAFTAR ISI ... .......................................................................................................................
1. Tujuan ... ..........................................................................................................................................
2. Teori Dasar ... ..................................................................................................................................
3. Bahan dan Peralatan ......................................................................................................................
4. Rangkaian Interface ... ....................................................................................................................
5. Prosedur... .......................................................................................................................................
6. Tugas ... ...........................................................................................................................................
Program 1 dan 2 Menghidupkan Dan Mematikan Lampu
A. Listing Program ... ......................................................................................................................
B. Analisa Program ... .....................................................................................................................
Program 3 Menghidupkan Secara Bergiliran
A. Listing Program ... ......................................................................................................................
B. Analisa Program ... .....................................................................................................................
7. Kesimpulan ... ..................................................................................................................................
Aplikasi Komputer SEMESTER - 5A Kelompok V
MODUL PENGENDALI 12 - LED
1. Tujuan Percobaan
- Mampu membuat rangkaian tampilan 12-LED
- Mampu membuat program komputer dengan visual basic untuk mengendalikan tampilan 12-LED 2. Dasar Teori
Aplikasi yang digunakan untuk mengendalikan tampilan 12-LED merupakan aplikasi yang
paling sederhana, karena untuk menghidupkan dan mematikan sebuah LED hanya dibutuhkan
tegangan standar TTL dengan komponen tambahan berupa sebuah resistor untuk pembatas
arus.
Pada aplikasi yang menggunakan 12 buah LED ini, 8 buah LED dikendalikan oleh port
Data, sedangkan 4 buah LED oleh Port Kontrol dalam port paralel yang didrive oleh software
dengan bahasa pemograman visual basic. Adapun program ini dibuat adalah sebagai interface
antara modul LED dengan komputer.
3. Bahan dan Peralatan
- Konektor DB-25 (jantan) 1 buah
- LED 12 buah
- Resistor 330 ohm 12 buah
- Kabel data 13 potong
- Komputer 1 unit
4. Langkah Kerja
1. Rangkai peralatan sesuai dengan Gambar 4.
2. Buat interface (penghubung antara komputer dengan konektor LED) Dengan
menggunakan software Visual Basic
3. Menghubungkan konektor DB-25 jantan ke konektor DB-25 betina pada komputer
4. Menjalankan dan menganalisa program
Aplikasi Komputer SEMESTER - 5A Kelompok V
5. Gambar Rangkaian
Catatan
- LED 0 samapai LED 7 dihubungkan dengan bit D0 samapai D7 pada Port Data
- LED 8 sampai LED 11 dihubungkan masing-masing ke bit ~C0, ~C1,~C2,dan ~C3 (dalam hal ini, bit ~C0, ~C1, dan ~C3 adalah aktif rendah sehingga perlu diperhatikan dalam pemograman). Dengan pin diagram sebagai gambar berikut :
Aplikasi Komputer SEMESTER - 5A Kelompok V
6. Analisa Data dan Listing Program
Dalam pembuatan interface ini adapun form yang dibuat adalah seperti gambar berikut :
A. LED ON
Private Sub Command1_Click()
Do DoEvents
PortOut &H378, &HFF menghidupkan led pada port data (semua led akan hidup)
PortOut &H37A, &H4 menghidupkan led pada port control dengan terlebih dahulu
memperhatikan port control yang aktif nya aktif low dengan memberikan data 4h maka semua led yang berada pada port control akan hidup karena C0,C1, dan C3 merupakan aktif low jadi harus diberikan logika nol untuk menghidupkannya.
Loop
End Sub
Aplikasi Komputer SEMESTER - 5A Kelompok V
B. LED OF
Private Sub Command2_Click()
Do
DoEvents
PortOut &H378, &H0 mematikan semua led pada port data dan control PortOut &H37A, &HB dengan memberikan data 0 pd port data dan data 11 desimal Loop pada port control
End Sub
C. LED MELINGKAR
Private Sub Command3_Click()
Do
DoEvents
For i = 0 To 7
DoEvents
PortOut &H 378, 2 ^ i mengirimkan data berupa bilangan genap
sehingga led hidup bergeser kearah kanan
Sleep 100 Next
PortOut &H378, 0
For i = 0 To 3
DoEvents
PortOut &H37A, (2 ^ i) Xor &HB mengirimkan data pada port control kemudian di xor
kan dengan data HB
Sleep 100 Next
PortOut &H37A, &HB mematikan led pada port control
Loop
PortOut &H378, 0
PortOut &H37A, &HB mematikan led pada port data
End Sub
D. LED BERKEDIP
Private Sub Command5_Click()
Do
DoEvents
PortOut &H378, &HFF menghidupkan led di port control dan port data
PortOut &H37A, &H4
Sleep 250 ---- delay PortOut &H378, 0 mematikan led di port control dan port data sehingga
PortOut &H37A, &HB menghasilkan led berkedip dengan delay yg dapat diatur
Sleep 250 Loop
End Sub
Aplikasi Komputer SEMESTER - 5A Kelompok V
E. LED MEMANTUL
Private Sub Command4_Click()
Do
DoEvents
For i = 0 To 7
DoEvents
PortOut &H378, 2 ^ i
Sleep 100 Next
PortOut &H378, 0 listing program untuk menghidupkan led bergeser
For i = 0 To 3
DoEvents
PortOut &H37A, (2 ^ i) Xor &HB kekanan
Sleep 100 Next
PortOut &H37A, &HB
For i = 3 To 0 Step -1
DoEvents
PortOut &H37A, (2 ^ i) Xor &HB Sleep 100
Next
PortOut &H37A, &HB
For i = 7 To 0 Step -1
DoEvents
PortOut &H378, 2 ̂I listing program untuk menghidupkan led bergeser
Sleep 100 Next kekiri setelah bergeser kekanan selasai dieksekusi
PortOut &H378, 0 sehingga didapat dilihat led seperti memantul
Loop PortOut &H378, 0
PortOut &H37A, &HB
End Sub
F. LED TABRAKAN
Private Sub Command6_Click()
Do DoEvents
PortOut &H378, &H1
PortOut &H37A, 8 Xor &HB
Sleep 100 PortOut &H378, &H2
PortOut &H37A, 4 Xor &HB
Sleep 100
PortOut &H378, &H4
PortOut &H37A, 2 Xor &HB
Sleep 100 PortOut &H378, &H8
PortOut &H37A, 1 Xor &HB
Sleep 100
Aplikasi Komputer SEMESTER - 5A Kelompok V
PortOut &H37A, &HB
PortOut &H378, &H90
Sleep 100
PortOut &H378, &H60
Sleep 100
PortOut &H378, &H90
Sleep 100 PortOut &H378, &H8
PortOut &H37A, 1 Xor &HB Sleep 100
PortOut &H378, &H4
PortOut &H37A, 2 Xor &HB
Sleep 100
PortOut &H378, &H2
PortOut &H37A, 4 Xor &HB Sleep 100
PortOut &H378, &H1
PortOut &H37A, 8 Xor &HB
Sleep 100 Loop
PortOut &H378, 0
PortOut &H37A, &HB
End Sub
G. LED DIPUKUL MUNDUR
Do DoEvents
For i = 0 To 7
For y = 3 To 0 Step -1
DoEvents
PortOut &H378, 2 ̂i Sleep 40
PortOut &H37A, (2 ^ y) Xor &HB
Sleep 50
Next
Next
For i = 7 To 0 Step -1
DoEvents
PortOut &H378, 2 ̂i
Sleep 50 Next
PortOut &H378, 0
Loop
PortOut &H378, 0
PortOut &H37A, &HB End Sub
Aplikasi Komputer SEMESTER - 5A Kelompok V
H. LED MENGECIL
Do
DoEvents
For i = 0 To 7
DoEvents
PortOut &H378, 2 ^ i Sleep 50
Next
PortOut &H378, 0
For i = 0 To 3 DoEvents
PortOut &H37A, (2 ^ i) Xor &HB
Sleep 50
Next
PortOut &H37A, &HB For i = 3 To 0 Step -1 DoEvents
PortOut &H37A, (2 ^ i) Xor &HB
Sleep 50 Next
PortOut &H37A, &HB
For i = 7 To 1 Step -1
DoEvents
PortOut &H378, 2 ^ i Sleep 50
Next
PortOut &H378, 0 For i = 1 To 7
DoEvents
PortOut &H378, 2 ^ i
Sleep 50
Next
PortOut &H378, 0 For i = 0 To 2
DoEvents
PortOut &H37A, (2 ^ i) Xor &HB
Sleep 50
Next
PortOut &H37A, &HB
For i = 2 To 0 Step -1
DoEvents
PortOut &H37A, (2 ^ i) Xor &HB
Sleep 50 Next
PortOut &H37A, &HB
For i = 7 To 2 Step -1
DoEvents
Aplikasi Komputer SEMESTER - 5A Kelompok V
PortOut &H378, 2 ^ i
Sleep 50
Next
PortOut &H378, 0
For i = 2 To 7
DoEvents
PortOut &H378, 2 ^ i
Sleep 50 Next
PortOut &H378, 0
For i = 0 To 1
DoEvents
PortOut &H37A, (2 ^ i) Xor &HB Sleep 50
Next
PortOut &H37A, &HB
For i = 1 To 0 Step -1
DoEvents
PortOut &H37A, (2 ^ i) Xor &HB
Sleep 50
Next
PortOut &H37A, &HB
For i = 7 To 3 Step -1
DoEvents
PortOut &H378, 2 ^ i Sleep 50
Next
PortOut &H378, 0
For i = 3 To 7
DoEvents
PortOut &H378, 2 ^ i
Sleep 50 Next
PortOut &H378, 0
PortOut &H37A, (2 ^ 0) Xor &HB 'Lampu c0 hidup' Sleep 50 PortOut &H37A, &HB
For i = 7 To 4 Step -1
DoEvents
PortOut &H378, 2 ^ i
Sleep 50 Next
PortOut &H378, 0
Aplikasi Komputer SEMESTER - 5A Kelompok V
For i = 4 To 7
DoEvents
PortOut &H378, 2 ^ i
Sleep 50
Next PortOut &H378, 0
For i = 7 To 5 Step -1
DoEvents
PortOut &H378, 2 ^ i
Sleep 100 Next
PortOut &H378, 0
For i = 5 To 6 DoEvents
PortOut &H378, 2 ^ i
Sleep 100
Next PortOut &H378, 0
PortOut &H378, 2 ^ 5
Loop
PortOut &H378, 0
PortOut &H37A, &HB
End Sub
Aplikasi Komputer SEMESTER - 5A Kelompok V
I. MEMILIH LED YANG MENYALA Form :
Listing Program :
Private Declare Sub PortOut Lib "io.dll" (ByVal PortNo As Integer, ByVal Data As Byte)
Private Sub Command1_Click(Index As Integer)
Do
DoEvents
PortOut &H378, &H1
PortOut &H37A, &HB
Loop End Sub
Private Sub Command10_Click()
Do
DoEvents
PortOut &H378, &H0 PortOut &H37A, &H9 Loop
End Sub
Private Sub Command11_Click() Do
DoEvents
PortOut &H378, &H0
PortOut &H37A, &HF
Loop
End Sub
Private Sub Command12_Click()
Do
DoEvents
Aplikasi Komputer SEMESTER - 5A Kelompok V
PortOut &H378, &H0
PortOut &H37A, &H3
Loop
End Sub
Private Sub Command13_Click()
End
End Sub
Private Sub Command2_Click()
Do
DoEvents
PortOut &H378, &H2
PortOut &H37A, &HB
Loop End Sub
Private Sub Command3_Click()
Do DoEvents
PortOut &H378, &H4
PortOut &H37A, &HB
Loop
End Sub
Private Sub Command4_Click()
Do
DoEvents
PortOut &H378, &H8 PortOut &H37A, &HB
Loop
End Sub
Private Sub Command5_Click()
Do DoEvents
PortOut &H378, &H10
PortOut &H37A, &HB
Loop End Sub
Private Sub Command6_Click()
Do
DoEvents
PortOut &H378, &H20 PortOut &H37A, &HB Loop
End Sub
Private Sub Command7_Click()
Aplikasi Komputer SEMESTER - 5A Kelompok V
Do
DoEvents
PortOut &H378, &H40
PortOut &H37A, &HB
Loop End Sub
Private Sub Command8_Click()
Do DoEvents
PortOut &H378, &H80
PortOut &H37A, &HB
Loop
End Sub
Private Sub Command9_Click()
Do
DoEvents
PortOut &H378, &H0 PortOut &H37A, &HA Loop
End Sub
Private Sub Form_Load()
Do DoEvents
PortOut &H378, &H0 'berikan logika 0 pada port 378'
PortOut &H37A, &HB 'berikan logika 0 pada port 37A (aktive low)'
Loop End Sub
7. KESIMPULAN
Aplikasi Komputer SEMESTER - 5A Kelompok V
1. Dalam Visual Basic agar dapat mengenali port Paralel harus di copykan terlebih
dahulu ke system 32 sebuah file berupa IO.dll. tanpa adanya file IO.dll ini program
tidak bisa dijalankan
2. Pada awal program terlebih dahulu kita inisialisasikan alamt io.dll yang kita gunakan
agar tidak terjadi nya error.
Private Declare Sub PortOut Lib "IO.DLL"
(ByVal PortNo As Integer, ByVal Data As Byte)
Private Declare Function PortIn Lib "IO.DLL"
(ByVal PortNo As Integer) As Byte
3. Sleep juga membutuhkan declarasi tersendiri supaya dapat berjalan dengan baik dan
tidak terjadinya kesalahan
Private Declare Sub Sleep Lib "kernel32"
(ByVal dwMilliseconds As Long)
4. Dalam pemasangan modul, salah satu hal yang perlu diperhatikan dalam
pengontoran LED adalah instalasi pin diagram konektor dengan kabel serta
keadaan aktif khususnya untuk input C, dimana terdapat perbedaan
berdasarkan tegangan pada LED aktif high atau aktif low, serta dibutuhkan
pengalamatan data yang tepat.
5. Pada pembuatan interface pengontrolan modul LED, bilangan yang
dimasukkan adalah dalam hexadesimal, maka dalam hal ini diperlukan
adanya ketelitian untuk menghindari kesalahan alamat.
Aplikasi Komputer SEMESTER - 5A Kelompok V
LEMBAR PENILAIAN
No. Percobaan : 02/Lab. Aplikasi Komputer/EK-5A/2010
Judul Percobaan : MODUL PENGENDALI TAMPILAN SEVENT-SEGMENT
Kelompok : V (lima)
Nama Kelompok : 1. AHMAD SYAHRI
2. MAILIA SYAFITRI
3. RENHARD F SINAGA
4. HENDRIANTO MANURUNG
5. MIKHAEL NAIBAHO
5. YUSTIGA HUTABARAT
Kelas : EK – 5 A
Tanggal Percobaan :
Tanggal penyerahan : 04 Januari 2011
Instruktur : AHMAD YANI, ST
Nilai :
Keterangan :
Aplikasi Komputer SEMESTER - 5A Kelompok V
APLIKASI 2
MODUL PENGENDALI TAMPILAN SEVEN-SEGMENT
A. Tujuan
Setelah menyelesaikan modul ini mahasiswa diharapkan :
Mampu membuat rangkaian interface tampilan seven-segment
Mampu membuat program komputer untuk mengendalikan tampilan seven- segment.
B. Teori Dasar
Pada dasarnya, untuk menampilkan angka pada satu buah seven-segment
diperlukan sebuah dekoder, misalnya dekoder 7447 yang mampu mengubah data biner 4-bit
(kode BCD) menjadi tampilan digit 0 sampai 9. Setiap segmen (segmen a sampai g) dalam
sebuah seven-segment berupa sebuah LED. Jika semua katoda dari masing-masing LED
dalam seven-segment dihubungkan secara bersama, maka seven-segment ini disebut
common-cathode, sedangkan jika semua anoda dihubungkan, maka seven-segment ini
disebut common-anode. Setiap rangkaian LED perlu diberi resistor sebagai pembatas arus
untuk melindunginya terhadap arus listrik yang berlebihan. Nilai resistor ditentukan
berdasarkan sifat kerja LED. Agar dapat menyala, LED membutuhkan arus antara 5 sampai
30 mA; semakin besar arus diberikan, semakin terang nyala LED. Sewaktu menyala, jatuh
tegangan di antara kedua terminal LED secara umum berkisar 1,5 V. Untuk LED tunggal
dengan tegangan catu sebesar +5 V dan arus sekitar 20 mA, nilai resistor yang dibutuhkan
adalah (5 - 1.5)/0.020 = 175 :. Jika menggunakan dekoder 7447, jatuh tegangan pada
dekoder itu sendiri harus diperhitungkan. Untuk tampilan seven-segment yang digerakkan
7447, LED pada setiap segmen akan menyala jika keluaran 7447 bertegangan rendah
(berlogika 0). Tegangan maksimum keluaran 7447 pada saat berlogika 0 adalah 0,4 V dengan
arus 40 mA. Dengan data ini, cukup aman jika tegangan anoda saat LED menyala dianggap
0,2 V dengan arus 20 mA, sehingga jatuh tegangan pada resistor pembatas arus adalah 5 -
1,5 - 0,2 = 3,3 V. Ini berarti bahwa resistor yang dibutuhkan adalah 3,3/0,02 = 165 :, yang
cukup aman menggunakan resistor standar 168 : yang tersedia di pasaran.
Dalam penampilan lebih dari satu digit, jika setiap seven-segment membutuhkan
sebuah dekoder 7447, maka rangkaian menjadi kurang efisien karena membutuhkan
dekoder yang banyak dan konsumsi daya yang besar. Penampilan dengan menggunakan
rangkaian seperti ini disebut penampilan statis. Sebagai contoh, untuk menampilkan 16
digit, dibutuhkan dekoder 16 buah. Jika seven-segment menampilkan angka 8, artinya
Aplikasi Komputer SEMESTER - 5A Kelompok V
ketujuh LED menyala dan masing-masing menarik arus 20 mA, maka ketujuh LED itu menarik
arus 7 x 20 = 140 mA. Jika ke-16 seven-segment secara bersamaan menampilkan angka
8,
maka dibutuhkan arus yang sangat besar, yaitu 16 x 140 mA = 2240 mA = 2,24 A.
Untuk mengatasi kelemahan penampilan statis, digunakan penampilan dinamis.
Dalam penampilan ini, penampilan dilakukan bergilir digit demi digit, dan setiap saat hanya
salah satu digit tampilan yang diaktifkan dan hanya dalam waktu singkat, sehingga
kebutuhan daya setiap saat tidak lebih dari sebesar daya yang dibutuhkan oleh penampil 1
digit. Dengan periode hidup-mati yang cukup cepat, antara 40 sampai 200 kali setiap detik,
mata manusia masih melihat seolah-olah LED tersebut menyala secara terus-menerus.
Operasi mati-hidup ini juga menurunkan duty cycle (lamanya periode hidup terhadap
periode hidup-mati), tidak seperti pada penampilan statis yang hidup terus-menerus (duty
cycle 100%). Dalam cara ini digunakan teknik multiplexing, yaitu mengirimkan data angka
tampilan secara berurutan ke semua seven-segment, tetapi pada setiap saat hanya satu
seven-segment yang dihidupkan.
Aplikasi 2 ini menggunakan bantuan IC decoder/demultiplexer 74154 yang
mempunyai 16 keluaran yang pada setiap saat hanya satu keluaran yang aktif (berlogika
rendah). Setiap keluaran dekoder ini digunakan untuk memilih seven-segment yang harus
diaktifkan. Masukan pemilih 4-bit untuk IC ini dihubungkan ke Port Kontrol pada bit ~C0,
~C1, C2, dan ~C3. Seven-segment yang digunakan adalah jenis common-anode. Data biner
untuk menghidupkan segmen-segmen a sampai g pada masing-masing seven-segment tidak
dilewatkan melalui dekoder 7447, tetapi langsung ke segmen yang bersangkutan. Data biner
ini diambil dari bit D0 sampai D6 (7 bit saja) pada Port Data. Karena tidak menggunakan
dekoder 7447, setiap seven-segment tidak hanya dapat menampilkan angka 0 sampai 9,
tetapi juga bentuk karakter lain, seperti huruf atau tanda baca tertentu. Rangkaian lengkap
untuk aplikasi dapat dilihat pada Gambar 5.
Dengan rangkaian seperti Gambar 5, penampilan dimulai dengan mengirimkan data
angka dari Port Data pada bit D0 sampai D7 (masing-masing untuk segmen a sampai g) untuk
seven-segment yang anodanya terhubung ke keluaran Y0 dari dekoder melalui transistor.
Kemudian dikirim data pemilih digit (4 bit) dari Port Kontrol ke 74154 sehingga keluaran Y0
aktif dan seven-segment yang bersangkutan menampilkan data yang diberikan. Penyalaan digit
ini dibiarkan berlangsung sekitar 1 sampai 2 milidetik (atau disesuaikan dengan Kecepatan
komputer yang digunakan). Kemudian data untuk digit berikutnya dikirim ke D0 sampai D7
diikuti dengan pemberian data pemilih digit untuk mengaktifkan keluaran Y1.
Aplikasi Komputer SEMESTER - 5A Kelompok V
Setelah masa hidup dilampaui, kembali dilakukan penampilan digit berikutnya sampai
keluaran Y15 diaktifkan dengan cara yang sama. Setelah semua digit ditampilkan secara
bergiliran, proses penampilan diulangi lagi untuk digit yang pertama sekali diaktifkan.
C. Bahan dan Peralatan
¾ Konektor DB-25 (jantan) 1 buah
¾ Common anode seven segment 16 buah
¾ Resistor 330 ohm 7 buah
¾ Resistor 1K 16 buah
¾ Kabel data 11 potong
¾ Komputer 1 unit
¾ Catu daya +5V 1 unit
D. Rangkaian Interface
Gambar 5 Rangkaian interface pengendali seven-segment dengan 74154
Aplikasi Komputer SEMESTER - 5A Kelompok V
E. Prosedur
1. Rangkai peralatan sesuai dengan Gambar 5.
2. Hidupkan komputer dan jalankan software Visual Basic 6.0.
3. Hubungkan konektor DB-25 jantan ke konektor DB-25 betina pada komputer.
4. Tulis program sesuai dengan tugas yang diberikan.
5. Jalankan program.
6. Periksa hasil program terhadap rangkaian interface yang dipasang. Jika tidak sesuai dengan
hasil yang diinginkan, edit kembali program, kemudian ulangi langkah 5 dan 6.
7. Selesai.
F. Tugas
1. Buatlah program yang memiliki kemampuan berikut :
dapat menampilkan 16 digit konstan
dapat menampilkan tanggal sekarang
dapat menampilkan jam sekarang
2. Buatlah program yang dapat menampilkan 16 digit yang berkedip-kedip
3. Buatlah program yang dapat menampilkan karakter berjalan.
4. Buatlah program untuk menampilkan counter
Aplikasi Komputer SEMESTER - 5A Kelompok V
PROGRAM 1
MENAMPILKAN 16 DIGIT KONSTAN 0123456789AbCdEF
A. Listing Program
Private Declare Sub PortOut Lib "IO.DLL" (ByVal PortNo As Integer, ByVal Data As Byte) Private Declare Function PortIn Lib "IO.DLL" (ByVal PortNo As Integer) As Byte Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim Angka(16) As Byte Dim Data As Integer, Control As Integer Option Explicit Public Sub Command1_Click() Dim i As Byte i = 1 Data = &H378 Control = &H37A Angka(1) = &HC0: Angka(2) = &HF9: Angka(3) = &HA4: Angka(4) = &HB0 Angka(5) = &H99: Angka(6) = &H92: Angka(7) = &H82: Angka(8) = &HF8 Angka(9) = &H80: Angka(10) = &H90: Angka(11) = &H88: Angka(12) = &H83 Angka(13) = &HC6: Angka(14) = &HA1: Angka(15) = &H86: Angka(16) = &H8E
Do DoEvents PortOut Data, Angka(i) PortOut Control, (16 - i) Xor &HB Sleep 1 'PortOut Data, &HFF
If i = 16 Then i = 1 Else i = i + 1 Loop
PortOut Data, &HFF End Sub
B. Analisa Program
Untuk menampilkan angka 16 digit hexadesimal secara konstan pada sevensegment,
dibutuhkan konversi bilangan untuk tiap-tiap LED pada seven-segment dalam bentuk bilangan
biner kedalam bilangan hexadesimal untuk dikeluarkan pada Port paralel (378H), adapun teknik
mengaktifkan LED untuk tiap-tiap angka hexadesimal adalah sebagai berikut :
Gambar Pengkodean Pin LED Pada Seven Segmen
Aplikasi Komputer SEMESTER - 5A Kelompok V
Karena dalam rangkaian seven segment yang digunakan jenis common anoda
maka seven segment aktif low (aktif pada saat input = 0), seperti pada tabel berikut :
Tabel Pin LED pada seven segment
Setelah nilai angka seperti pada tabel dimasukkan, selanjutnya program di XOR-kan dengan 0B karena pada port paralel terdapat 3 bus control yang aktif low untuk medapatkan keadaan yang diinginkan.
Program diberi timer (sleep 1), yang diatur sedemikian rupa sehingga program berjalan sedemikian rupa dengan frekuensi yang tinggi pada pergantian tampilan segmen, sehingga akan terlihat tanpa tenggang waktu.
Aplikasi Komputer SEMESTER - 5A Kelompok V
PROGRAM 2
MENAMPILKAN TANGGAL SEKARANG
A. Listing Program
Private Sub Command5_Click() Data = &H378 Control = &H37A Angka(0) = &HC0: Angka(1) = &HF9: Angka(2) = &HA4: Angka(3) = &HB0 Angka(4) = &H99: Angka(5) = &H92: Angka(6) = &H82: Angka(7) = &HF8 Angka(8) = &H80: Angka(9) = &H90
Dim A(7) As Byte Dim X As Long Dim i As Byte X = 0 Do DoEvents Text1.Enabled=False Text2.Enabled=False Text3.Enabled=True Text3.Text=CStr(X) A(0) = X \ 1000000 A(1) = (X Mod 1000000) \ 100000 A(2) = ((X Mod 1000000) Mod 100000) \ 10000 A(3) = (((X Mod 1000000) Mod 100000) Mod 10000) \ 1000 A(4) = ((((X Mod 1000000) Mod 100000) Mod 10000) Mod 1000) \ 100 A(5) = (((((X Mod 1000000) Mod 100000) Mod 10000) Mod 1000) Mod 100)\10 A(6) = X Mod 1000000 Mod 100000 Mod 10000 Mod 1000 Mod 100 Mod 10
For i = 0 To 6 PortOut Data, Angka(A(i)) PortOut Control, (15 - i) Xor &HB Sleep 1
'PortOut Data, &HFF Next
If X = 10000000 Then X = 0 Else X = X + 50000 Loop End Sub
B. Analisa Program
Pada program ini, Visual basic akan mengambil tanggal, bulan dan tahun dari system
computer, dalam pembuatan programnya terlebih dahulu didefinisikan data tampilan dalam
bilangan hexadesimal yang akan dapat dimuat pada seven segment, pada program ini Angka (0)
sampai dengan angka (9).
Aplikasi Komputer SEMESTER - 5A Kelompok V
PROGRAM 3
MENAMPILKAN JAM SEKARANG
A. Listing Program
Private Declare Sub PortOut Lib "IO.DLL" (ByVal PortNo As Integer, ByVal Data As Byte) Private Declare Function PortIn Lib "IO.DLL" (ByVal PortNo As Integer) As Byte Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim Angka(16) As Byte Dim Data As Integer, Control As Integer Option Explicit
Private Sub Command2_Click() Dim i As Byte Data = &H378 Control = &H37A Angka(1) = &HC0: Angka(2) = &HF9: Angka(3) = &HA4: Angka(4) = &HB0 Angka(5) = &H99: Angka(6) = &H92: Angka(7) = &H82: Angka(8) = &HF8 Angka(9) = &H80: Angka(10) = &H90: Angka(11) = &H88: Angka(12) = &H83 Angka(13) = &HC6: Angka(14) = &HA1: Angka(15) = &H86: Angka(16) = &H8E
Dim A(16) As Byte Dim jam, menit, detik Dim Sekarang Do DoEvents jam = Hour(Now) menit = Minute(Now) detik = Second(Now) Text1.Enabled = True Text1.Text = CStr(Time) & " WIB" Text2.Enabled = False Text3.Enabled = False A(1) = jam \ 10 A(2) = jam Mod 10 A(3) = &HBF A(4) = menit \ 10 A(5) = menit Mod 10 A(6) = &HBF A(7) = detik \ 10 A(8) = detik Mod 10 A(9) = &HFF A(10)=&HFF A(11)=&HFF A(12)=&HFF A(13)=&H8C A(14)=&HC0 A(15)=&HC7 A(16) = &HCF For i = 1 To 16 If i = 3 Or i = 6 Or i >= 9 Then PortOut Data, A(i) Else
PortOut Data, Angka(A(i) + 1) End If PortOut Control, (16 - i) Xor &HB Sleep 1
'PortOut Data, &HFF Next Loop End Sub
B. Analisa Program
Aplikasi Komputer SEMESTER - 5A Kelompok V
Pada program ini, Visual basic akan mengambil jam pada comuputer dan secara bersamaan
menampilkannya di text1 pada form.
Mula-mula tampilan seven segment diset sesuai angka pada tabel. Setelah program
dieksekusi, Visual Basic akan mengambil jam, menit dan tanggal pada komputer dengan
perintah :
Dim A(16) As Byte Dim jam, menit, detik Dim Sekarang Do DoEvents jam = Hour(Now) menit = Minute(Now) detik = Second(Now)
Selanjutnya pada seven segmen akan dimuat tampilan jam, menit dan detik berdasarkan data berikut : A(1) = jam \ 10 A(2) = jam Mod 10 A(3) = &HBF A(4) = menit \ 10 A(5) = menit Mod 10 A(6) = &HBF A(7) = detik \ 10 A(8) = detik Mod 10 A(9) = &HFF A(10) = &HFF A(11) = &HFF A(12) = &HFF A(13) = &H8C A(14) = &HC0 A(15) = &HC7 A(16) = &HCF
Untuk A(1), A(4), A(7) nilai datanya dibagi sepuluh, hal ini dimaksudkan untuk
memperoleh nilai 2 digit. Sedangkan untuk A(2), A(5) dan A(8) digunakan perintah
Mod 10 untuk mengambil angka bulat pada hasil pembagian A(1), A(4), A(7) dengan 10. Untuk
A(6), A(9) - A(16) tampilan data sesuai dengan nilai data yang dituliskan dalam bentuk hexadesimal.
KESIMPULAN
1. Semakin cepat delay yang digunakan makan tampilan sevent-segment akan seolah-olah tidak pernah berkedip, karena mata manusia tidak mampu melihat perpindahan tampilan data tersebut
Aplikasi Komputer SEMESTER - 5A Kelompok V
LEMBAR PENILAIAN
No. Percobaan : 03/Lab. Aplikasi Komputer/EK-5A/2011
Judul Percobaan : MODUL PENGENDALI MOTOR STEPPER
Kelompok : V (lima)
Nama Kelompok : 1. AHMAD SYAHRI
2. MAILIA SYAFITRI
3. RENHARD F SINAGA
4. HENDRIANTO MANURUNG
5. MIKHAEL NAIBAHO
5. YUSTIGA HUTABARAT
Kelas : EK – 5 A
Tanggal Percobaan :
Tanggal penyerahan : 04 Januari 2011
Instruktur : AHMAD YANI, ST
Nilai :
Keterangan :
Aplikasi Komputer SEMESTER - 5A Kelompok V
MODUL PENGENDALI MOTOR STEPPER
Tujuan Setelah menyelesaikan modul ini mahasiswa diharapkan
mampu membuat rangkaian interface pengendali motor stepper. mampu membuat program komputer untuk mengendalikan motor stepper.
Teori Dasar
Motor stepper merupakan salah satu jenis motor yang dapat digunakan untuk memindahkan
sebuah benda (beban) dengan jarak perpindahan yang kecil. Berbeda halnya dengan motor jenis lain yang
bergerak dengan putaran yang kontinyu (mulus), motor stepper bergerak dengan putaran yang kaku.
Motor stepper bergerak dari posisi tertentu ke posisi berikutnya seperti gerak melangkah (step). Motor
stepper banyak digunakan untuk berbagai keperluan, seperti pada pinter Epson LX-800, atau Epson LQ-
2170 atau printer lain yang sejenis (dot-matrix printer). Motor ini juga ditemukan pada floppy disk drive,
harddisk drive, plotter, dan lain-lain.
Motor stepper yang umum digunakan mempunyai jangkauan langkah (step) berputar antara
0,9º sampai dengan 30º. Motor-motor itu adalah motor stepper dua atau empat fase. Secara teoritis,
sebuah motor stepper berukuran kecil dapat digerakkan secara langsung oleh mikroprosesor. Dalam
kenyataannya, arus dan tegangan yang dapat dikeluarkan oleh mikroprosersor terlalu kecil untuk
menggerakkan sebuah motor stepper kecil. Sebagai perbandingan, gerbang-gerbang tipe TTL dalam
mikroprosesor hanya mampu mengeluarkan arus dalam orde mA atau tegangan antara 2 sampai 2,5
volt. Sementara itu, untuk menggerakkan motor stepper dibutuhkan arus yang cukup besar (dalam
orde ampere) dengan tegangan berkisar 5 – 24 V. Untuk mengatasi masalah tersebut, dibutuhkan
sebuah perangkat tambahan yang dapat memenuhi kebutuhan arus dan tegangan yang besar itu,
yaitu dengan menambahkan suatu rangkaian transistor yang disebut pasangan Darlington.
Rangkaian aplikasi untuk pengendalian motor stepper ini dapat dilihat seperti pada Gambar 7.
Sebuah motor stepper digerakkan dari posisi yang satu ke posisi yang lain berikutnya dengan
mengubah arus yang terhubung ke masing-masing fase. Pengubahan arus tersebut mempunyai
pola/kombinasi tertentu. Berikut ini adalah cara untuk menggerakkan motor stepper 4-fase.
Tabel 2 kombinasi arus fase motor stepper
untuk langkah penuh (full-step)
Step Fase
D3 D2 D1 D0
1 0 0 1 1
2 1 0 0 1
3 1 1 0 0
4 0 1 1 0
1 0 0 1 1
Tabel 3 kombinasi arus fase motor stepper
untuk langkah paruh (half-step)
CW
W
CCWW
Aplikasi Komputer SEMESTER - 5A Kelompok V
Step Fase
D3 D2 D1 D0
1 0 0 1 1
2 0 0 0 1
3 1 0 0 1
4 1 0 0 0
5 1 1 0 0
6 0 1 0 0
7 0 1 1 0
8 0 0 1 0
1 0 0 1 1
Pada Gambar 7, misalkan D0 dan D1 diberi arus (dalam keadaan ON). Bila arus pada D1 diputus (OFF) dan
D3 diberi arus (ON), motor stepper akan bergerak satu langkah searah dengan putaran jarum jam. Bila arus
pada D1 ditutup dan D2 diberi arus, motor stepper bergerak lagi satu langkah searah putaran jaruim jam.
Demikian seterusnya, motor stepper dapat digerakkan langkah per langkah searah putaran jam.
Pengubahan kombinasi arus fase adalah untuk menggerakkan motor stepper dengan
langkah penuh (full-step). Gerakan motor dapat diperhalus dengan menggerakkannya setengah-
setengah langkah. Hal ini dilakukan dengan mengubah arus fase motor sesuai dengan urutan yang
ditunjukkan oleh Tabel 3. Urutan gerak dari langkah pertama, kedua, ketiga, dan seterusnya akan
menghasilkan gerakan separuh langkah searah jarum jam; sebaliknya akan menghasilkan gerakan
yang berlawanan dengan arah putaran jam.
Bahan dan Peralatan Konektor DB-25 (jantan) 1 buah Motor stepper 1 buah Resistor 330 ohm 4 buah LED 4 buah Kabel data 4 potong Dioda 1N4000 4 buah Transistor 4 buah IC 74LS06 1 buah Komputer 1 unit Catu daya +12V 1 unit
CW
W
CCWW
Aplikasi Komputer SEMESTER - 5A Kelompok V
Rangkaian Interface
Gambar 7 Rangkaian pengendali motor stepper
Prosedur 1. Rangkai peralatan sesuai dengan Gambar 7. 2. Hidupkan komputer dan jalankan software Visual Basic 6.0. 3. Hubungkan konektor DB-25 jantan ke konektor DB-25 betina pada komputer. 4. Tulis program sesuai dengan tugas yang diberikan. 5. Jalankan program. 6. Periksa hasil program terhadap rangkaian interface yang dipasang. Jika tidak sesuai dengan hasil
yang diinginkan, edit kembali program, kemudian ulangi langkah 5 dan 6. 7. Selesai.
Tugas 1. Buatlah program untuk mengendalikan motor stepper sehingga motor stepper
dapat berputar CW 1 kali dapat berputar CCW 1 kali dapat berputar CW n kali dapat berputar CCW n kali dapat berputar CW menurut besar sudut yang diinginkan dapat berputar CCW menurut besar sudut yang diinginkan
2. Buatlah program sehingga motor stepper dapat berputar dan berhenti secara interaktif menurut perintah yang diinginkan.
Aplikasi Komputer SEMESTER - 5A Kelompok V
LSITING PROGRAM DAN ANALISA PROGRAM
Private Declare Sub PortOut Lib "IO.DLL" (ByVal PortNo As Integer, ByVal Data As Byte)
Private Declare Function PortIn Lib "IO.DLL" (ByVal PortNo As Integer) As Byte
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Inisialisasi port parelell dan sleep (delay)
Private Sub Command1_Click() ‘Berputar 1 putaran
Dim Data(4) As Byte deklarasis data sebagai byte
Dim I,j As Byte deklarasi I dan j sebagai byte
Data(1) =9: Data(1) =12: Data(1) =6: Data(1) =3
Do
DoEvents
For j=1 to 50 looping sebanyak 50 kali
For i=1 to 4 looping sebanyak 4 kali
PortOut &H378,Data(i) memutar motor stepper searah jarum jam CW
Sleep 1000 delay
Next
Next
Loop
PortOut &H378,0 kirim data low ke semua portOut
End Sub
Kesimpulan
1. Motor stepper dapat digunakan dalam aplikasi penggerak
(actuator)
2. Motor stepper dapat digunakan dalam beberapa langkah yaitu full
step dan half step
3. Besar sudut motor stepper juga dapat diatur dengan penyesuaian
pemberian data
Aplikasi Komputer SEMESTER - 5A Kelompok V
LEMBAR PENILAIAN
No. Percobaan : 04/Lab. Aplikasi Komputer/EK-5A/2011
Judul Percobaan : MODUL PENGENDALI LAMPU PIJAR
Kelompok : V (lima)
Nama Kelompok : 1. AHMAD SYAHRI
2. MAILIA SYAFITRI
3. RENHARD F SINAGA
4. HENDRIANTO MANURUNG
5. MIKHAEL NAIBAHO
5. YUSTIGA HUTABARAT
Kelas : EK – 5 A
Tanggal Percobaan :
Tanggal penyerahan : 04 Januari 2011
Instruktur : AHMAD YANI, ST
Nilai :
Keterangan :
Aplikasi Komputer SEMESTER - 5A Kelompok V
MODUL PENGENDALI LAMPU PIJAR
Tujuan
Setelah menyelesaikan modul ini mahasiswa diharapkan :
mampu membuat rangkaian interface pengendali lampu pijar. mampu membuat program komputer untuk mengendalikan lampu pijar.
Teori Dasar
Untuk mengendalikan peralatan listrik rumah tangga, misalnya lampu pijar, kipas angin, dan
sebagainya, yang membutuhkan catu daya yang berbeda dengan tingkat tegangan TTL, maka perlu
dibuat rangkaian driver untuk peralatan yang bersangkutan. Untuk lampu pijar, misalnya, dapat
digunakan relay yang diaktifkan dengan transistor. Rangkaian untuk aplikasi ini dapat dilihat pada
Gambar 6.
Bahan dan Peralatan
Konektor DB-25 (jantan) 1 buah Lampu pijar 4 buah Resistor 1K 16 buah Kabel data 4 potong Relay 4 buah Dioda 4 buah Transistor NPN 4 buah Komputer 1 unit Catu daya +12V 1 unit
Rangkaian Interface
Gambar 6 Rangkaian interface pengendali lampu pijar
Aplikasi Komputer SEMESTER - 5A Kelompok V
Prosedur
1. Rangkai peralatan sesuai dengan Gambar 6. 2. Hidupkan komputer dan jalankan software Visual Basic 6.0. 3. Hubungkan konektor DB-25 jantan ke konektor DB-25 betina pada komputer. 4. Tulis program sesuai dengan tugas yang diberikan. 5. Jalankan program. 6. Periksa hasil program terhadap rangkaian interface yang dipasang. Jika tidak sesuai dengan
hasil yang diinginkan, edit kembali program, kemudian ulangi langkah 5 dan 6. 7. Selesai.
Tugas
1. Buatlah program yang memiliki kemampuan berikut: dapat menghidupkan semua lampu dapat mematikan semua lampu dapat menghidupkan lampu secara bergiliran
2. Buatlah program yang dapat menghidupkan semua lampu secara berkedip-kedip 3. Buatlah program yang dapat menghidupkan dan mematikan satu atau beberapa lampu
yang diinginkan. LISTING PROGRAM DAN ANALISA PROGRAM Private Declare Sub PortOut Lib "IO.DLL" (ByVal PortNo As Integer, ByVal Data As Byte)
Private Declare Function PortIn Lib "IO.DLL" (ByVal PortNo As Integer) As Byte
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Inisialisasi prot parallel dan delay (Sleep)
Private Sub Command1_Click() 'Hidupkan semua Lampu
PortOut &H378, &HFF mengirimkan data high (1) ke port data 2,3,4,dan 5 sehingga semua
lampu menjadi hidup
End Sub
Private Sub Command2_Click() 'Matikan semua Lampu
PortOut &H378, &H0 mengirimkan data low (0) ke port data 2,3,4, dan 5 sehingga lampu
mati
End Sub
Private Sub Command3_Click() 'Hidupkan Lampu melingkar
Do
DoEvents
Aplikasi Komputer SEMESTER - 5A Kelompok V
For i = 0 To 3 pengulangan sampai 4 x
DoEvents
PortOut &H378, 2 ^ I keluaran data 0,2,4,dan 8
Sleep 1000 tunda 1 ms
Next
Loop
PortOut &H378, 0 matikan lampu setelah pengulangan 4 x
End Sub
Private Sub Command4_Click() 'Hidupkan Lampu memantul
Do
DoEvents
For i = 0 To 3 looping sebanyak 4 kali
DoEvents untuk mengatasi masalah error pada saat program dijalankan
PortOut &H378, 2 ^ I Membuat lampu pijar berputar ke kanan
Sleep 1000 delay 1ms
Next
For i = 2 To 1 Step -1 looping sebanyak 3 kali hitungan mundur
DoEvents
PortOut &H378, 2 ^ I membuat lampu pijar kembali bergeser Namaun ke kiri
Sleep 1000 delay
Next
Loop
PortOut &H378, 0
End Sub
Private Sub Command5_Click() 'Lampu berkedip terus
Do
DoEvents
PortOut &H378, &HFF hidupkan semua lampu pijar
Sleep 200 delay
PortOut &H378, 0 matikan lampu pijar
Sleep 200 delay
Loop ulang terus program
End Sub
Aplikasi Komputer SEMESTER - 5A Kelompok V
KESIMPULAN
1. Dengan mengirimkan data high ke port data maka lampu pijar akan
hidup dan sebaliknya
2. Penggunaan relay sebagai switch mengakibatkan timbulnya bunyi
(tak), untuk menghindari suara tersebut dapat digunakan
optocopler atau infrared.