untuk pemrosesan data dengan tingkat yang lebih rumit, sering kali menggunakan PC atau personal komputer untuk menampilkan data sehingga data yang diambil bisa dibuat grafik atau mungkin disimpan dalam database sebagai record untuk monitoring system misalkan monitoring system suhu berbasis web dan sebagainya. salah satu bahasa pemrograman yang bisa digunakan adalah borland delphi. dalam project ini saya menggunakan borland delphi 6.0 sebagai pemrogramannya.
komponen serial yang saya gunakan adalah TMSComm yang diimpor dari Visual Basic melalui activeX. Port serial yang digunakan adalah Com 1 dengan baudrate 9600 tapi ini nantinya bisa dirubah sesuai dengan kebutuhan. project ini akan membaca data dari masukan adc mikrokontroler ATMega8535 kemudian akan ditampilkan dalam bentuk display angka dan grafik tegangan terhadap waktu. berikut adalah screenshoot programnya :
Gambar 1. screenshoot program borland delphi
Pada postingan yang berjudul “Komunikasi serial AVR” bisa langsung dihubungkan dengan aplikasi ini. Komponen serial port di delphi juga cukup banyak. Biasanya yang paling sering digunakan adalah komponen MSComm dan CPort. tetapi itu terserah kita sebagi programmernya. Aplikasi ini bisa bukan hanya untuk monitoring data, tetapi pada dasarnya bisa dikembangkan juga untuk sistem kontrol.
ini adalah sourcecode lengkap dari project ini :
006 | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, |
007 | Dialogs, StdCtrls, OleCtrls, MSCommLib_TLB, TeEngine, Series, ExtCtrls, |
011 | TForm1 = class (TForm) |
019 | Series1: TLineSeries; |
020 | procedure FormCreate(Sender: TObject); |
021 | procedure Button1Click(Sender: TObject); |
022 | procedure Button2Click(Sender: TObject); |
023 | procedure Button3Click(Sender: TObject); |
040 | procedure delay(interval: integer ); |
045 | application . ProcessMessages |
046 | until (gettickcount-awal) >= longint (interval); |
049 | procedure TForm1 . FormCreate(Sender: TObject); |
051 | if mscomm1 . PortOpen then |
052 | mscomm1 . PortOpen := false ; |
054 | mscomm1 . CommPort := 1 ; |
056 | mscomm1 . Settings := '9600,n,8,1' ; |
057 | mscomm1 . InputLen := 4 ; |
058 | mscomm1 . PortOpen := true ; |
062 | procedure TForm1 . Button1Click(Sender: TObject); |
071 | data := mscomm1 . Input; |
072 | label1 . Caption := floattostr(data); |
073 | series1 . AddXY(x,data); |
086 | procedure TForm1 . Button2Click(Sender: TObject); |
091 | procedure TForm1 . Button3Click(Sender: TObject); |
093 | if mscomm1 . PortOpen = true then |
095 | mscomm1 . PortOpen := false ; |
Link untuk download Full Sourcecode :