Mungkin anda telah terbiasa membuat bermacam-macam rangkaian-rangkaian elektronika, tapi pada kesempatan ini saya akan mengajak anda untuk bisa menjalankan rangkaian elektronika dengan menggunakan komputer. Anda hanya perlu mengetahui sedikit tentang pemograman vb atau visual basic dan ketentuan interfacing pada port parallel. Untuk rangkaian interface anda bisa menambahkan buffer sebagai kemanan PC anda dari pengaruh rangkaian elektronika yang anda buat. Tetapi disini saya tidak akan menggunakan buffer karena rangkaian yang akan saya jalankan hanya sederhana serta agar lebih mudah dipahami dan diprakterkkan kembali oleh anda.
Apa-apa saja yang anda harus siapkan untuk permulaan:
- PC yang sudah terinstall Vb 6.0
- File inpout32.dll copykan ke windows/system32
- Kabel port parallel LPT 25 pin
- 8 buah led
- 8 buah resistor 100 ohm
file inpout32.dll bisa anda cari dengan paman google.
Contoh rangkaian yang akan kita kendalikan adalah yang paling sederhana yaitu menyala dan mematikan 8 buah led dengan sidikit variasi tentunya. Pada percobaan awal ini anda tidak perlu membuat rangkaian elektronika. Anda hanya bertugas menghubungkan setiap led dengan pin D0-D7 dan jangan lupa pasang resistor 100 ohm pada setiap led untuk membatasi arus led. Saya sarankan supaya anda sebaiknya menggunakan potoboard supaya bisa lebih praktis dan bisa mencoba bentuk rangkaian yang lain.
I.
Gambar keterangan pin-pin port parallel
Tidak terlalu banyak yang anda harus pelajari dari ketentuan pin-pin port parallel LPT ini khususnya yang mempunyai 25 pin. Yang anda perlu ketahui adalah pengelompokan pin-pin tersebut.
Pin2-pin9 : jalur data 8 bit (D0-D7) bertindak sebagai output
Pin10,11,12,13 dan 15 : jalur status 8 bit bertindak sebagai input / output
Pin1,14,16 dan 17 : jalur kontrol 4 bit bertindak sebagai input / ouput
Pin 18-25 : Ground
Untuk permulaan anda bisa mencobanya dengan menajalankan 8 buah led pada jalur data.
II. Pembuatan Program dengan Visual Basic
1. Untuk pertama kali buatlah new project standar exe dengan nama terserah anda. Kemudian jangan lupa untuk mendeklarasikan file inpout32.dll dengan cara kilik form dua kali, kemudian ketikkan perintah dibawah ini pada posisi paling atas diluar sub form_load. Atau anda buka modul baru dan ketikkan perintahnya pada jendela modul tersebut, tetapi anda haru mengubah kata Private dengan Public supaya bisa terbaca oleh form.
Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
2. Buatlah waktu tunda untuk menyalakan led. Ketikkan perintah dibawah ini tepat dibawah dari perintah yang anda ketikkan tadi.
Private Sub tunda()
a = Timer
Do While Timer <>
DoEvents
End Sub
3. Tambahkan Timer pada form. Timer berupa gambar jam yang ada di kotak toolbox. Ubah intervalnya menjadi 200 dan Enabled = False melalui jendela properties.
4. Tambahkan 8 buah Shape yang berbentuk bulat dari toolbox, ubah nama ke-8 shape menjadi L melalui jendela properties. Sehingga nanti nama setiap shape tersebut adalah L(0) sd L(7). 0 sampai 7 menunjukkan index, cara ini tujuannya agar kita bisa dengan mudah membuat programnya.
5. Tambahkan Command Button, kilik dua kali dan ketikkan perintah dibawah ini :
Timer1.Enabled = True
6. Klik dua kali timer dan ketikkan perintah dibawah ini :
For i = 0 To 7
L(i).FillColor = &HFFFF&
Out &H378, (2 ^ (i + 1)) - 1
tunda
Next i
7. Jalankan program
Penjelasan singkat program :
- Waktu tunda kita gunakan untuk memberi jeda waktu pada program untuk membaca perintah selanjutnya, supaya lama kedipan lampu bisa kita atur.
- Pemberian nama yang sama pada ke-8 shape berguna untuk meciptakan index dari ke-8 shape tersebut.
- Perintah For i = 0 to 7 berguna untuk membuat pengulangan dengan nilai i akan berubah dari 0 sd 7.
- L(i).FillColor = &HFFFF& merupakan perintah untuk mengubah warna shape menjadi kuning sehingga baga lampu yang menyala. Shape yang berubah akan sesuai dengan nilai i. Jika i = 0, maka L(0) akan menjadi kuning dan begitu seterusnya hingga i = 7.
- Out &H378, (2 ^ (i + 1)) – 1. Sebenarnya inilah inti dari program yang kita buat ini. Perintah ini berfungsi untuk mengeluarkan data dengan nilai (2^(i+1))-1 melalui alamat port &H378 (Alamat port parallel). Jika kita masukkan nilai i mulai dari 0 maka data outnya adalah:
1. (2^(0+1))-1 = (2^1)-1 = 1 (biner = 00000001)
2. (2^(1+1))-1 = (2^2)-1 = 3 (biner = 00000011)
3. (2^(2+1))-1 = (2^3)-1 = 7 (biner = 00000111)
4. (2^(3+1))-1 = (2^4)-1 = 15 (biner = 00001111)
5. (2^(4+1))-1 = (2^5)-1 = 31 (biner = 00011111)
6. (2^(5+1))-1 = (2^6)-1 = 63 (biner = 00111111)
7. (2^(6+1))-1 = (2^7)-1 = 127 (biner = 01111111)
8. (2^(7+1))-1 = (2^8)-1 = 255 (biner = 11111111)
- Hasilnya ke-8 led akan hidup seperti angka biner diatas. Dengan jeda waktu selama waktu tunda.
Gambar Rangkaian Elektronika dengan Program VB
Tidak ada komentar:
Posting Komentar