Seperti halnya mikrokontroller yang memiliki port UART, arduino dapat melakukan komunikasi dengan device lain secara serial. Kali ini untuk interface yang digunakan ialah aplikasi yang dibuat menggunakan VB2010 . Sebagai contohnya dapat di lajutkan kelangkah berikut.
1. Aplikasi Monitoring
Buat desain formnya (misal seperti ini)
Untuk penamaan components nya adalah : ComboBox_COM, ComboBox_BAUD, Button_Connect, Button_Disconnect, TextBox_DataSend, Button_Send, TextBox_DataReceive.
Jangan lupa juga tambahkan serial port.
ok, lanjut ke codenya :
Imports System.IO.Ports
Imports System.Threading
Public Class Form1
Dim WithEvents sp As New SerialPort
Private Sub GetSerialPortNames()
For Each sport As String In My.Computer.Ports.SerialPortNames
ComboBox_COM.Items.Add(sport)
Next
End Sub
Sub ShowString(ByVal myString As String)
TextBox_DataReceive.AppendText(myString)
TextBox_DataReceive.Select(TextBox_DataReceive.TextLength, 0)
TextBox_DataReceive.ScrollToCaret()
End Sub
Delegate Sub myMethodDelegate(ByVal [text] As String)
Dim myDelegate As New myMethodDelegate(AddressOf ShowString)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim BaudRates() As String = {"300", "1200", "2400", "4800", "9600", "14400", "19200", "28800", "38400", "57600", "115200"}
ComboBox_BAUD.Items.AddRange(BaudRates)
ComboBox_BAUD.SelectedIndex = 4
Try
GetSerialPortNames()
ComboBox_COM.SelectedIndex = 0
Catch
MsgBox("No ports connected.")
End Try
End Sub
Private Sub Button_Connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Connect.Click
Try
sp.BaudRate = ComboBox_BAUD.SelectedItem.ToString
sp.PortName = ComboBox_COM.SelectedItem.ToString
sp.Open()
If sp.IsOpen Then
Button_Connect.Enabled = False
ComboBox_COM.Enabled = False
ComboBox_BAUD.Enabled = False
Button_Disconnect.Enabled = True
End If
Catch
sp.Close()
End Try
End Sub
Private Sub Button_Disconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Disconnect.Click
Try
sp.Close()
Button_Connect.Enabled = True
Button_Disconnect.Enabled = False
ComboBox_COM.Enabled = True
ComboBox_BAUD.Enabled = True
Exit Sub
Catch
MessageBox.Show("Some kind of problem.")
End Try
End Sub
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
If sp.IsOpen() Then
MessageBox.Show("Disconnect before closing")
e.Cancel = True
End If
End Sub
Private Sub SerialPort_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles sp.DataReceived
Dim str As String = sp.ReadExisting()
Invoke(myDelegate, str)
End Sub
Private Sub Button_Send_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Send.Click
Dim data As String
data = TextBox_DataSend.Text
If sp.IsOpen() Then
'sp.WriteLine(data)
sp.Write(TextBox_DataSend.Text)
TextBox_DataSend.Text = ""
End If
End Sub
End Class
2. Arduino code
Berikut untuk arduino codenya, silahkan di upload ke arduino (butuh LM35) atau via simulasi ISIS Proteus..
Berikut untuk arduino codenya, silahkan di upload ke arduino (butuh LM35) atau via simulasi ISIS Proteus..
float temp;
int dataPin = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
temp = analogRead(dataPin);
temp = temp * 0.48828125; //(SUPPLY_VOLTAGE x 1000 / 1024) / 10
Serial.print(temp);
Serial.println();
delay(1000);
}
3. Running program
Setelah semuanya beres, mari kita jalankan aplikasi monitoringnya. Karena untuk arduinonya saya menggunakan simulasi, maka diperlukan konektor (virtual serial port)yang akan digunakan untuk menghubungkan Proteus ISIS dengan Aplikasi monitoring. Pilih COM port yang digunakan (virtual dan proteus), disini saya memakai COM 2. kemudian pilih tombol connect. Setelah terhubung, jalankan simulasi arduino yang ada di Proteus ISIS.
Hasilnya kurang lebih seperti ini :
Antarmuka Serial Port VB 2010 (Komunikasi Serial Arduino - VB 2010)
4/
5
Oleh
Nina Dee



Untuk menyisipkan kode pendek, gunakan <i rel="code"> ... KODE ... </i>
Untuk menyisipkan kode panjang, gunakan <i rel="pre"> ... KODE ... </i>
Untuk menyisipkan gambar, gunakan <i rel="image"> ... URL GAMBAR ... </i>