Jumat, 28 Juni 2013

Membuat Program Led Atmega16 Dengan Interface VB6

Kali ini saya akan Membuat Program Led Atmega16 Dengan Interface VB6, dimana hal ini saya dapatkan ketika saya duduk di bangku 2 smk, cara kerja rangkaiannya yaitu, led yang berada di output mikrokontroler akan di kendalikan melalui pc dengan software vb6 yang sudah di buat sebelumnya, penghubung yang di gunakan dari pc ke mikrokontroler menggunakan usb-to-serial, pc akan mengeluarkan data serial dan mikrokontroler akan membaca data serial tersebut, lalu mengeluarkannya output-outputnya ke led, register serial yang di gunakan saat melakukan transfer atau receive serial pada mikrokontroler yaitu register URXC.
Bagi agan-agan yang tidak mempunyai hardware mikrokontroler dan usb-to-serial jangan berkecil hati, agan-agan dapat mencobonya menggunakan simulasi, dan berikut gambar simulasinya dengan proteus :


so langsung aja, pertama kita membuat simulasi di proteus, usahakan sama seperti gambar di atas, setelah itu kita membuat program mikrokontrolernya

$regfile = "m16def.dat"
$crystal = 8000000
$baud = 9600
Enable Urxc
Enable Interrupts

On Urxc , Int_serial

Config Portc = Output
Portc = &HFF

Dim Temp As Byte

Do
Loop

Int_serial:
Temp = Inkey()
Portc = Temp
Return

setelah program selesai, masukan program ke dalam simulasi, dan setting pada atmega16 dan compim sesuai gambar di bawah (klik kanan > Edit Properties)


persiapan mikrokontroler telah selesai, nah sekarang kita membuat software interfacenya, buka aplikasi vb6,
di aplikasi ini membutuhkan component tambahan yaitu MSComm, component ini berfungsi untuk mengeluarkan atau menerima data serial, (Project > Components > Microsoft Comm Control 6.0)

dan buatlah seperti gambar di bawah :



ComponentCaptionOther
Label1Port :-
Label2Status :-
Label3Disconnect-
Label4Value :-
Label50-
MSComm1--
Image1-Stretch = True
Image2-Stretch = True
Image3-Stretch = True
Index = (0) - (7)
Command1Connect
Combo1
Text = Com 1
Menu EditorMinimizeName = min

Pada image1 dan image2, terserah agan jika mau menggunakan gambar yang lain, dan image3 merupakan index image3(0) hingga image3(7)
dan berikut program visual basic :


Private Function value()
On Error Resume Next
Dim nilai As Byte

For i = 0 To 7
    If Image3(i).Tag = 1 Then
        nilai = nilai + 2 ^ i
    End If
Next i

MSComm1.Output = Chr(255 - nilai)
value = nilai
End Function
Private Sub Command1_Click()
On Error GoTo err

If Command1.Caption = "Connect" Then
    MSComm1.CommPort = Combo1.ListIndex + 1
    MSComm1.PortOpen = True
   
    For i = 0 To 7
        Image3(i).Picture = Image2
        Image3(i).Tag = 0
    Next i
   
    Combo1.Enabled = False
    Command1.Caption = "Disconnect"
    Label3.Caption = "Connect"
Else
    MSComm1.Output = Chr(255)
    MSComm1.PortOpen = False
   
    For i = 0 To 7
        Image3(i).Picture = LoadPicture("")
    Next i
   
    Combo1.Enabled = True
    Command1.Caption = "Connect"
    Label3.Caption = "Disconnect"
    Label5.Caption = 0
End If
Exit Sub
err:
MsgBox "Com Tidak Tersedia", vbCritical, "created by ganang"
End Sub

Private Sub Form_Load()
Me.Caption = "created by ganang  *aplikasi komunikasi serial*"

For i = 1 To 15
    Combo1.AddItem "Com " & i
Next i
End Sub

Private Sub Image3_Click(Index As Integer)
On Error Resume Next

If Label3.Caption = "Connect" Then
    If Image3(Index).Tag = 0 Then
        Image3(Index).Picture = Image1
        Image3(Index).Tag = 1
    Else
        Image3(Index).Picture = Image2
        Image3(Index).Tag = 0
    End If
   
    Label5.Caption = value
End If

End Sub

Private Sub min_Click()
Me.WindowState = 1
End Sub

sampe sini sudah semua, program mikrokontroler dan visual basic 6.0nya, apakah sudah bisa terhubung simulasi dengan vb6.? tentu saja belum, menghubungkannya menggunakan software VSPE (Virtual Serial Port Emulator), dari namanya mungkin agan-agan sudah tau fungsinya, ya sebagai emulator serial,

bagi yang belum punya bisa di download di akhir tutorial ini, so langsung aja, instal VSPE, dan jalankan aplikasinya, jika sudah setting port yang di inginkan,

klik tab Device > Create > pilih Device type "Pair" >


Next > di sini saya menggunakan Com1 dan Com2 >Finish


jika sudah jalankan (Run) simulasi proteus, setelah itu jalankan aplikasi vb6, dan setting Com pada vb6 menjadi Com2, klik pada gambar, dan lihat apa yang terjadi pada simulasi proteus... Enjooy

moga bermanfaat bagi agan-agan yang ingin mencobanya,
moga berhasil mencobanya..

Download Komunikasi Serial Dengan Interface VB6
Download VSPE
password rar: ganyang-angkara.blogspot.com

*..sesama blogger harus saling menghargai, jika agan-agan ingin mengcopas harap cantumkan alamat urlnya, Terimakasih..* 

*update Membuat Program Led Atmega16 Dengan Interface VB6 Versi 2

referensi urxc : www.gubukilmu.com

8 komentar:

  1. bang tolong dong. untuk rangkaian interfacenya di perjelas.. saya pemula mohon bimbingannya

    BalasHapus
    Balasan
    1. rangkaian di atas hanya simulasi, belum bisa di buat ke rangkaian aslinya, yang di butuhkan rangkaian sistem minimum, dengan output led, dan rangkaian max232, agan bisa mencarinya di google, sudah banyak kok, atau nanti kalo sempat saya kirimkan ke email .. sebelumnya pm saya, terima kasih

      Hapus
  2. itu yang bulet2 warna kuning sama putih itu harus buat sndri ya? apa memang sudh ada ? yg bener image apa pake shape? mohon di jawab bang.

    BalasHapus
    Balasan
    1. Gambar menyesuaikan saja, jadi bebas mau gambar apa saja, nah contoh di atas saya buat dengan software bulatan kuning dan putih...

      Shape atau image sama saja, tapi di atas saya menggunakan image, terima kasih sudah berkunjung

      Hapus
  3. gan.. klow program mikon nya pake codevision avr gmn,..?

    BalasHapus
    Balasan
    1. Maaf baru sempat balas, maaf utk codevision saya belum pernah coba ...

      Hapus
  4. Trimakasih...Udah saya coba berhasil mas.
    Untuk membuat desain VB ulang masih bingung mas memasukkan list programnya :mana yang untuk conect mscomm nya, command conect, label dan image kan ada 7 koq hanya diwakili label 3.Trims Penjelasannya Saya barusan belajar VB

    BalasHapus
    Balasan
    1. Maaf baru sempat balas, iya sama-sama, senang bisa membantu ...

      Label di situ hanya sebagai indikator, apakah sudah connect apa belum, connect dan disconnect di atur oleh command button..

      Dan gambar pada image3 di buat index, agar di permudah perhitungan 8bit (1 byte)

      Maaf klo penjelasannya kurang bisa di pahami

      Hapus