Di malam yang dingin berbalut kesendirian ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah robot lengan ( ARM Robot ) dengan kendali VB 6 menggunakan komunikasi bluetooth, sehingga tidak ada kabel antara komputer dengan robot. Perlu diperhatikan bahwa ATMega yang dipakai adalah ATMega128 karena mikrokontroller ini memiliki 2 buah port UART atau serial dikarenakan robot ini harus menggunakan dua buah UART / serial yaitu untuk ke servo driver XISC-32 dan ke Bluetooth HC-05. Interface yang dipakai adalah visual basic 6.0 dengan komunikasi yang dipakai adalah bluetooth.
a. Minimum System ATMega128
b. Robot ARM ( Robot Lengan )
c. XISC-32 Servo Driver
d. Bluetooth HC-05
e. UBEC 3A
f. Bluetooth External Komputer
g. Cara Pemasangan
Ada beberapa step dalam pemasangan alat ini, yaitu power suplai 12v dihubungkan ke UBEC sehingga dihasilkan output dari UBEC adalah 5v, dari UBEC dihubungkan ke ATMega128 dan juga XISC-32, Dari ATMega128 Port RX-TX-GND dihubungkan ke modul driver servo XISC-32 pada port yang sama. Bluetooth HC-05 memiliki Port RX-TX,GND,VCC, Port RX dan TX Bluetooth dihubungkan ke ATMega128 pada port yang sama, kemudian VCC-GND Bluetooth masuk ke VCC-GND ATMega128. Komunikasi XISC-32 ke robot lengan menggunakan port output modul XISC-32. Pada modul ini terdapat 2 buah suplai yatu suplai untuk modul dan untuk motor servo. Suplai Untuk modul adalah 12v, namun untuk motor servo adalah 5v, jangan sampai terbalik karena bisa merusak motor servo dan modul XISC-32. Untuk gambar lebih jelasnya yaitu seperti berikut. Komunikasi Komputer dengan mikrokontroller menggunakan Bluetooth sehingga pasangkan Bluetooth USB untuk transmitter, bisa menggunakan USB Bluetooth Dongle atau lainnya.
d. Bluetooth HC-05
e. UBEC 3A
f. Bluetooth External Komputer
g. Cara Pemasangan
Ada beberapa step dalam pemasangan alat ini, yaitu power suplai 12v dihubungkan ke UBEC sehingga dihasilkan output dari UBEC adalah 5v, dari UBEC dihubungkan ke ATMega128 dan juga XISC-32, Dari ATMega128 Port RX-TX-GND dihubungkan ke modul driver servo XISC-32 pada port yang sama. Bluetooth HC-05 memiliki Port RX-TX,GND,VCC, Port RX dan TX Bluetooth dihubungkan ke ATMega128 pada port yang sama, kemudian VCC-GND Bluetooth masuk ke VCC-GND ATMega128. Komunikasi XISC-32 ke robot lengan menggunakan port output modul XISC-32. Pada modul ini terdapat 2 buah suplai yatu suplai untuk modul dan untuk motor servo. Suplai Untuk modul adalah 12v, namun untuk motor servo adalah 5v, jangan sampai terbalik karena bisa merusak motor servo dan modul XISC-32. Untuk gambar lebih jelasnya yaitu seperti berikut. Komunikasi Komputer dengan mikrokontroller menggunakan Bluetooth sehingga pasangkan Bluetooth USB untuk transmitter, bisa menggunakan USB Bluetooth Dongle atau lainnya.
Cara penggunaan alat setelah semua dirakit yaitu hubungkan power suplai 12 volt ke UBEC, kemudian hubungkan output UBEC ke VCC-GND ATMega128. Suplai 12v dari power suplai juga dihubungkan ke modul XISC-32 untuk mengaktifkan modul. Setelah semua terpasang, install software “Bluesoleil” guna interface USB Bluetoothnya, kemudian pairing ke Bluetooth HC-05 dengan password “1234”, jika berhasil maka led akan berbeda kedipannya. Aktifkan software interface VB 6 yang telah dibuat, lihat port COM USB yang terkoneksi dengan masuk ke “Device Manager” computer, misal COM15 artinya USB Bluetooth jalur okmunikasi nomer 15. Pada interface VB 6 sebelum menekan tombol mulai atau start, pilih dahulu COM port yang digunakan, contohnya COM15 berarti pilih nomer 15 pada interface VB 6 tersebut. Indikator berhasil adalah ketika di tekan tombol mulai / start atau menekan salah satu tombol perintah, tidak menampilkan tulisan error atau sejenisnya. Tekan tombol sesuai keinginan, maka robot akan bergerak sesuai perintah.
h. Program VB 6
Dim arrdata()
Dim TotalBaca As Integer
Dim BMI As Single
Dim Keterangan As String
Const MAKSBACA = 10
'-----------------------------
Private Sub atas_Click()
MSComm2.Output = "c" + Chr(13) 'mengirimkan angka 1 ke serial
End Sub
'-----------------------------
Private Sub bawah_Click()
MSComm2.Output = "d" + Chr(13) 'mengirimkan angka 2 ke serial
End Sub
'-----------------------------
Private Sub berhenti_Click()
start.Enabled = True
berhenti.Enabled = False
TimerBaca.Enabled = False
End Sub
'-----------------------------
Private Sub BUZZ_Click()
MSComm2.Output = "f" + Chr(13)
End Sub
Private Sub Command1_Click()
MSComm2.Output = "e" + Chr(13)
End Sub
'-----------------------------
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Down_Click()
End Sub
'-----------------------------
Private Sub Form_Load()
Dim i As Byte
For i = 1 To 16
ComboCOM.AddItem (i)
Next i
End Sub
Private Sub kanan_Click()
MSComm2.Output = "b" + Chr(13)
End Sub
Private Sub kiri_Click()
MSComm2.Output = "a" + Chr(13)
End Sub
'----------------------------
Private Sub start_Click()
Dim u As Integer
On Error GoTo ada_eror
MSComm2.CommPort = ComboCOM.Text
MSComm2.Settings = "9600,N,8,1"
MSComm2.RThreshold = 15
MSComm2.InputLen = 15
MSComm2.InputMode = comInputModeText
MSComm2.PortOpen = True
ReDim arrdata(1 To MAKSBACA + 1)
For u = 1 To MAKSBACA
arrdata(u) = 0
Next
TotalBaca = 0
start.Enabled = False
berhenti.Enabled = True
TimerBaca.Enabled = True
ada_eror:
If ComboCOM.ListIndex < 1 Then
MsgBox "COM berada di Nomor : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "ERROR"
start.Enabled = True
berhenti.Enabled = True
ComboCOM.Text = "Pilih COM"
End If
End Sub
'-----------------------------------
Private Sub TimerBaca_Timer()
Dim strInput As String
Dim strPotong As String
Dim singleInput As Single
Dim u As Integer
' strInput = MSComm2.Input
' strPotong = strInput
'Text1.Text = Text1.Text + strPotong + vbCrLf
' singleInput = Val(strPotong)
' If TotalBaca >= MAKSBACA Then
' TimerBaca.Enabled = False
' If MSComm2.PortOpen = True Then MSComm2.PortOpen = False
' Call berhenti_Click
' End If
End Sub
i. Program Bascom AVR
'========================================================
'code by Yanuar Mukhammad
'email = yanuarm@hotmail.com
'========================================================
'code by Yanuar Mukhammad
'email = yanuarm@hotmail.com
'========================================================
$regfile = "m128def.dat"
$crystal = 16000000
$baud = 9600
Config Com1 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Config Com2 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "com1:" For Binary As #1
Open "com2:" For Binary As #2
Dim Perintah As String * 10
Do
Perintah = Waitkey(#2)
Select Case Perintah
Case "a":
'kiri
Print #1 , " #0 P2000 T1000 "
Wait 1
Case "b":
'kanan
Print #1 , " #0 P1000 T1000 "
Wait 1
Case "c":
'angkat
Print #1 , " #2 P1450 T300 "
Wait 1
Case "d":
'maju
Print #1 , " #2 P2400 T1000 "
Wait 1
Case "e":
'japit
Print #1 , " #3 P900 T1000 "
Wait 3
Case "f":
'buka
Print #1 , " #3 P500 T1000 "
Wait 1
End Select
Loop
$crystal = 16000000
$baud = 9600
Config Com1 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Config Com2 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "com1:" For Binary As #1
Open "com2:" For Binary As #2
Dim Perintah As String * 10
Do
Perintah = Waitkey(#2)
Select Case Perintah
Case "a":
'kiri
Print #1 , " #0 P2000 T1000 "
Wait 1
Case "b":
'kanan
Print #1 , " #0 P1000 T1000 "
Wait 1
Case "c":
'angkat
Print #1 , " #2 P1450 T300 "
Wait 1
Case "d":
'maju
Print #1 , " #2 P2400 T1000 "
Wait 1
Case "e":
'japit
Print #1 , " #3 P900 T1000 "
Wait 3
Case "f":
'buka
Print #1 , " #3 P500 T1000 "
Wait 1
End Select
Loop
j. VIDEO HASILNYA
No comments:
Post a Comment