• Tidak ada hasil yang ditemukan

PROGRAM STUDI TEKNIK ELEKTRONIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI MEDAN MEDAN 2011

N/A
N/A
Protected

Academic year: 2021

Membagikan "PROGRAM STUDI TEKNIK ELEKTRONIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI MEDAN MEDAN 2011"

Copied!
36
0
0

Teks penuh

(1)

PROGRAM STUDI TEKNIK ELEKTRONIKA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI MEDAN

MEDAN

(2)

SEMESTER - 5A

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 :

(3)

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 ... ...

(4)

SEMESTER - 5A

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

(5)

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 :

(6)

SEMESTER - 5A 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

(7)

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

(8)

SEMESTER - 5A 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

(9)

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

(10)

SEMESTER - 5A 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

(11)

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

(12)

SEMESTER - 5A 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

(13)

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

(14)

SEMESTER - 5A 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

(15)

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

(16)

SEMESTER - 5A

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.

(17)

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 :

(18)

SEMESTER - 5A 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

(19)

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

(20)

SEMESTER - 5A

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

(21)

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.

(22)

SEMESTER - 5A 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 :

(23)

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.

(24)

SEMESTER - 5A 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).

(25)

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

(26)

SEMESTER - 5A

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

(27)

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 :

(28)

SEMESTER - 5A

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

(29)

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

(30)

SEMESTER - 5A 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.

(31)

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

(32)

SEMESTER - 5A

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 :

(33)

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

(34)

SEMESTER - 5A 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

(35)

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

(36)

SEMESTER - 5A 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.

Gambar

Gambar 5 Rangkaian interface pengendali seven-segment dengan 74154
Gambar Pengkodean Pin LED Pada Seven Segmen
Tabel Pin LED pada seven segment
Tabel 2 kombinasi arus fase motor stepper  untuk langkah penuh (full-step)
+2

Referensi

Dokumen terkait

In the model inventory, total cost of the average inventory was obtained from the derivatives of inventory model for time intervals to obtain the minimum value of an

Pengujian frekuensi pada piranti pendingin termoakustik dengan menggunakan beberapa variasi frekuensi yang mendekati hasil dari perhitungan sehingga diperoleh

Hasil penelitian ini diharapkan dapat digunakan sebagai sumber referensi dan informasi bagi penelitian selanjutnya mengenai faktor-faktor yang mempengaruhi

Sebagaimana amanat Undang-Undang Nomor 25 Tahun 2004 tentang Sistem Perencanaan Pembangunan Nasional, serta berpedoman kepada Peraturan Daerah Kabupaten Garut Nomor

Mendeskripsikan pengembangan lembar kegiatan siswa (LKS) berbantuan software Wingeom dengan pendekatan inquiry untuk siswa SMP kelas VII pada materi garis dan

Gambar 2. Pola Plafon Perancangan.. atmosfer ruang angkasa yang terjadi sesuai dengan konsep. Area-area yang disebutkan di atas menggunakan plafon berwarna gelap namun

Sedangkan pada kelompok skipping hasil analisis menunjukkan adanya pengaruh yang signifikan antara latihan skipping terhadap kecepatan lari 60 meter siswa Kelas V

teori sosiologi pengetahuan serta melihat ideologi dan kaitannya dengan perilaku kolektif sebagai gerakan sosial keagamaan, akan dibahas dalam bab ini.. Sosiologi