Menghubungkan Mikrokontroler ke Komputer dengan Visual basic 2010

Ini pengalaman pertama saya menggunakan visual basic 2010, pertama buka dulu VB 2010 lalu kita siapkan materinya :

  • Label
  • Button
  • Chart
  • Listbox
  • SerialPort

Buat tampilan seperti gambar dibawah ini (ini adalah gambar saat aplikasi di jalankan).
Klik dua kali pada Button sambung dan isikan source code seperti dibawah ini.
Public Class NSS
    Dim saluran As IO.Ports.SerialPort = Nothing

    Private Sub Button_sambung_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_sambung.Click

        Dim tabel_data As New DataTable
        Dim data As String = ""
        Dim counter, sum_Xmin, sum_Ymin, sum_Xmak, sum_Ymak As Integer

        Dim SOS As Single

        Button_sambung.Enabled = False
        tabel_data.Columns.Add("x", GetType(Integer))
        tabel_data.Columns.Add("y", GetType(Integer))

        Try
            saluran = My.Computer.Ports.OpenSerialPort(TextBox_com.Text)
            saluran.ReadTimeout = 3000

            Do
                Refresh()
                Dim inputan_data As String = saluran.ReadLine()

                With Chart.ChartAreas(0)
                    .AxisX.Minimum = 0 + sum_Xmin
                    .AxisX.Maximum = 100 + sum_Xmak
                    .AxisY.Minimum = -30 + sum_Ymin
                    .AxisY.Maximum = 30 + sum_Ymak
                    .AxisX.Title = "Counter Data"
                    .AxisY.Title = "Data Yang Masuk"
                End With

                SOS = Rnd() * 73
                SOS = SOS + (Rnd() * 13)
                SOS = 15 * (Math.Sin(SOS))

                list_random.Items.Add(SOS)
                list_random.SelectedItems.Add(SOS)
                list_serial.Items.Add(inputan_data)
                list_serial.SelectedItems.Add(inputan_data)
                TextBox_random.Text = SOS
                TextBox_serial.Text = inputan_data
                tabel_data.Rows.Add(counter, (SOS))
                counter = counter + 1

                With Chart.Series(0)
                    .Points.DataBind(tabel_data.DefaultView, "x", "y", Nothing)
                End With

                If counter Mod 100 = 0 Then
                    sum_Xmin += 100
                    sum_Xmak += 100
                    sum_Ymin += 0
                    sum_Ymak += 0
                End If

                If inputan_data Is Nothing Then
                    Exit Do
                Else
                    data &= inputan_data & vbCrLf
                End If

            Loop

        Catch ex As TimeoutException
            data = "Error: Koneksi GAGAL"

        Finally
            If saluran IsNot Nothing Then
                Button_sambung.Enabled = True
                saluran.Close()
            End If

        End Try

    End Sub

    Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick

    End Sub

    Private Sub Button_putus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_putus.Click

    End Sub

End Class
Counter data akan menghitung jumlah data yang diterima komputer. Untuk memutuskan koneksi hanya bisa terjadi jika tidak ada lagi data yang diterima oleh komputer. Source code pada CodeVision AVR bisa kita buat seperti contoh di bawah ini agar mengirimkan data terus menerus ke komputer melalui koneksi serial.
while (1)
      {
      // Place your code here
      for(i=0;i<=1000;i++)
        {
        sprintf(buff,"%d%d%d%d",i/1000,(i%1000)/100,(i%1000%100)/10,i%1000%100%10);
        puts(buff);
        putchar(13);
        delay_ms(100);
        }
      for(i=1000;i>=0;i--)
        {
        sprintf(buff,"%d%d%d%d",i/1000,(i%1000)/100,(i%1000%100)/10,i%1000%100%10);
        puts(buff);
        putchar(13);
        delay_ms(100);
        }
      };
}
Artikel ini masih banayak kekurangan, Mohon kritik & saran serta sharing ilmunya dari temen2 blogger.

Tidak ada komentar:

Posting Komentar