Cara Membuat Robot Kendali Komputer Dengan Wireless APC220
Pada kesempatan ini saya akan menjelaskan mengenai bagaimana cara membuat robot yang dikendalikan dengan komputer, sebenarnya kendali bisa menggunakan joystik atau thumb stik tanpa harus menggunakan komputer seperti video diatas menggunakan thumb stick sebagai kendalinya, kalau menggunakan komputer harus disetting dahulu menggunakan port serial dengan menggunakan program VB 6, agar modul wireless bisa mengirimkan data dari komputer ke robot atau mikrokontroller slave. robot ini menggunakan modul wireless APC220 yang mana modul ini buatan DFROBOT yang dapat menjangkau jarak 1 km, serta sangat murah dan mudah penggunaannya yaitu langsung sambungkan ke pin RX dan TX mikrokontroller. robot ini akan menerima perntah berupa angka dari komputer, angka yang dikirimkan yaitu "1", "2", "3" dan "4", masing-masing angka akan mengeksekusi perintah yang berbeda, misal angka "1" untuk robot berjalan lurus dan angka "2" untuk robot berjalan mundur, begitu pula untuk "3" dan "4" untuk robot belok kanan atau kiri. berikut penjelasan skema dan programnya.
a. Modul Wireless APC220
b. Minimum System ATMega16
c. Motor Driver L293
d. 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 = "1" + Chr(13) 'mengirimkan angka 1 ke serial
End Sub
'-----------------------------
Private Sub bawah_Click()
MSComm2.Output = "2" + 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 = "5" + Chr(13)
End Sub
Private Sub Command1_Click()
MSComm2.Output = "7" + 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 = "4" + Chr(13)
End Sub
Private Sub kiri_Click()
MSComm2.Output = "3" + 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
e. Program Bascom AVR
$regfile = "m16def.dat"
$crystal = 11059200
$baud = 9600
Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Enable Interrupts
Dim Perintah As String * 1
Ddra = &B11111111
Ddrb = &B11111111
Portb.0 = 1
Dirkiri1 Alias Porta.0
Dirkiri2 Alias Porta.1
Dirkanan1 Alias Porta.2
Dirkanan2 Alias Porta.3
Config Porta.0 = Output
Config Porta.1 = Output
Config Porta.2 = Output
Config Porta.3 = Output
Do
Perintah = Waitkey()
Select Case Perintah
Case "1" :
'maju
Dirkiri1 = 1 'motor kiri
Dirkiri2 = 0
Dirkanan1 = 0 'motor kanan
Dirkanan2 = 1
Pwm1a = 50
Pwm1b = 50
Case "2" :
'mundur
Dirkiri1 = 0 'motor kiri
Dirkiri2 = 1
Dirkanan1 = 1 'motor kanan
Dirkanan2 = 0
Pwm1a = 80
Pwm1b = 80
Case "3" :
'kanan
Dirkiri1 = 1 'motor kiri
Dirkiri2 = 0
Dirkanan1 = 1 'motor kanan
Dirkanan2 = 1
Pwm1a = 80
Pwm1b = 80
Case "4" :
'kiri
Dirkiri1 = 1 'motor kiri
Dirkiri2 = 1
Dirkanan1 = 0 'motor kanan
Dirkanan2 = 1
Pwm1a = 80
Pwm1b = 80
Case "5" :
Portb.0 = 0
Wait 1
Portb.0 = 1
Case "6" :
Portb.1 = 1
Portb.2 = 1
Portb.3 = 1
Case "7" :
Portb.1 = 1
Portb.2 = 1
Portb.3 = 1
Dirkiri1 = 1 'motor kiri
Dirkiri2 = 1
Dirkanan1 = 1 'motor kanan
Dirkanan2 = 1
Pwm1a = 255
Pwm1b = 255
End Select
Loop
No comments:
Post a Comment