Translate

Cara Membuat Robot Kendali Komputer Dengan Wireless APC220


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