Rabu, 30 Maret 2011

Kontrol Lampu LED dengan Port Pararel (DB.25)

OLEH : FADLY OKFIANTO MUIN


Berikut adalah desain dan listing dari vb untuk menyalakan dan mematikan lampu led. Pertama-tama rancanglah sebuah form dengan menggunakan komponen Shape dan CommandButton seperti gambar dibawah ini :



Atur properties commandbutton dengan Name dan caption seperti gambar dibawah. komponen shapenya (dikopi hingga 8 buah) dengan Name= SL1(0) sampai SL1(7) , Backstyle= 1-opaque, shape= 3-circle sehingga menjadi seperti berikut :
                                











Ikutilah langkah-langkah berikut untuk memasukkan listingnya :)



Buatlah modul ( Add Modul) lalu masukkan listing berikut :
Public Declare Sub PortOut Lib "io.dll" (ByVal nPort As Integer, ByVal nData As Byte)
Public Declare Function PortIn Lib "io.dll" (ByVal nPort As Integer) As Byte

Setelah itu masukkan listing pada form sebagai berikut :

Private Sub Cmdexit_Click()
    MsgBox "Terima kasih telah mencoba program sederhana ini!"
    End
End Sub

Private Sub cmdL1Off_Click()
Nil_Bit 888, 0
'mengganti warna shape menjadi hitam
SL1(0).BackColor = vbBlack
End Sub

Private Sub cmdL1On_Click()
Send_Bit 888, 0
'mengganti warna shape menjadi merah
SL1(0).BackColor = vbBlue
End Sub

Private Sub CmdL2off_Click()
Nil_Bit 888, 1
'mengganti warna shape menjadi hitam
SL1(1).BackColor = vbBlack
End Sub

Private Sub CmdL2on_Click()
Send_Bit 888, 1
'mengganti warna shape menjadi merah
SL1(1).BackColor = vbBlue
End Sub

Private Sub CmdL3off_Click()
Nil_Bit 888, 2
'mengganti warna shape menjadi hitam
SL1(2).BackColor = vbBlack
End Sub

Private Sub CmdL3on_Click()
Send_Bit 888, 2
'mengganti warna shape menjadi merah
SL1(2).BackColor = vbBlue
End Sub

Private Sub CmdL4off_Click()
Nil_Bit 888, 3
'mengganti warna shape menjadi hitam
SL1(3).BackColor = vbBlack
End Sub

Private Sub CmdL4on_Click()
Send_Bit 888, 3
'mengganti warna shape menjadi merah
SL1(3).BackColor = vbBlue
End Sub

Private Sub cmdL5off_Click()
Nil_Bit 888, 4
'mengganti warna shape menjadi hitam
SL1(4).BackColor = vbBlack
End Sub

Private Sub CmdL5on_Click()
Send_Bit 888, 4
'mengganti warna shape menjadi merah
SL1(4).BackColor = vbBlue
End Sub

Private Sub cmdL6off_Click()
Nil_Bit 888, 5
'mengganti warna shape menjadi hitam
SL1(5).BackColor = vbBlack
End Sub

Private Sub CmdL6on_Click()
Send_Bit 888, 5
'mengganti warna shape menjadi merah
SL1(5).BackColor = vbBlue
End Sub

Private Sub CmdL7off_Click()
Nil_Bit 888, 6
'mengganti warna shape menjadi hitam
SL1(6).BackColor = vbBlack
End Sub

Private Sub CmdL7on_Click()
Send_Bit 888, 6
'mengganti warna shape menjadi merah
SL1(6).BackColor = vbBlue
End Sub

Private Sub CmdL8off_Click()
Nil_Bit 888, 7
'mengganti warna shape menjadi hitam
SL1(7).BackColor = vbBlack
End Sub

Private Sub CmdL8on_Click()
Send_Bit 888, 7
'mengganti warna shape menjadi merah
SL1(7).BackColor = vbBlue
End Sub

Private Sub Cmdoff_Click()
Nil_Bit 888, 8
'memberi warna hitam untuk semua shape (SL1(0)-SL8(7))
SL1(0).BackColor = vbBlack
SL1(1).BackColor = vbBlack
SL1(2).BackColor = vbBlack
SL1(3).BackColor = vbBlack
SL1(4).BackColor = vbBlack
SL1(5).BackColor = vbBlack
SL1(6).BackColor = vbBlack
SL1(7).BackColor = vbBlack
End Sub

Private Sub Cmdon_Click()
Send_Bit 888, 8
'Menjadikan wana shape semua merah
SL1(0).BackColor = vbBlue
SL1(1).BackColor = vbBlue
SL1(2).BackColor = vbBlue
SL1(3).BackColor = vbBlue
SL1(4).BackColor = vbBlue
SL1(5).BackColor = vbBlue
SL1(6).BackColor = vbBlue
SL1(7).BackColor = vbBlue
End Sub

Private Sub Form_Activate()
'salam pembuka
MsgBox "Selamat Datang di Program mematikan dan menyalakan lampu sederhana!"
'memberi warna hitam untuk semua shape (SL1(0)-SL8(7))
SL1(0).BackColor = vbBlack
SL1(1).BackColor = vbBlack
SL1(2).BackColor = vbBlack
SL1(3).BackColor = vbBlack
SL1(4).BackColor = vbBlack
SL1(5).BackColor = vbBlack
SL1(6).BackColor = vbBlack
SL1(7).BackColor = vbBlack
End Sub

Sub Send_Bit(Alamat_Port, Nomor_Bit)
Dim Nilai, Status_Port, Nilai_Baru As Byte
Select Case Nomor_Bit
Case 0: Nilai = 1
Case 1: Nilai = 2
Case 2: Nilai = 4
Case 3: Nilai = 8
Case 4: Nilai = 16
Case 5: Nilai = 32
Case 6: Nilai = 64
Case 7: Nilai = 128
Case 8: Nilai = 255
Case Else
GoTo out_range
End Select
Status_Port = PortIn(Alamat_Port)
Nilai_Baru = Status_Port Or Nilai
PortOut Alamat_Port, Nilai_Baru
out_range:
End Sub

Sub Nil_Bit(Alamat_Port, Nomor_Bit)
Dim Nilai, Status_Port, Nilai_Baru As Byte
Select Case Nomor_Bit
Case 0: Nilai = 254
Case 1: Nilai = 253
Case 2: Nilai = 11 '251
Case 3: Nilai = 247
Case 4: Nilai = 239
Case 5: Nilai = 223
Case 6: Nilai = 191
Case 7: Nilai = 127
Case 8: Nilai = 0
Case Else
GoTo out_range
End Select
Status_Port = PortIn(Alamat_Port)
Nilai_Baru = Status_Port And Nilai
PortOut Alamat_Port, Nilai_Baru
out_range:
End Sub


Program diatas tentunya memerlukan rangkaian elektronika, sehingga diharapkan dalam membuat interfacing ini anda sudah memiliki keterampilan dasar2 elektronika. Namun yang dibahas pada postingan kali ini adalah sarana tatap muka dan listing dari program yang dimaksud.

Tentang rangkaian elektronikanya...insyaAllah akan menyusul kemudian...hehehehe....

0 komentar:

Posting Komentar