Pendahuluan
Pada project kali ini Biroyu Innovasi Technology akan membuat sebuah project sederhana serial monitor yang sebenarnya sudah ada pada aplikasi bawaan arduino IDE, dimana prinsip kerja dari aplikasi ini akan meniampilkan data serial yang dikirimkan oleh mikrokontroller arduino dan akan ditampilkan pada aplikasi Delphi 7
Alat dan Bahan
- Papan Arduino
- Borland Delphi 7
- Component ComPort delphi 7
Langkah – langkah
long randNumber;
double x;
void setup() {
Serial.begin(9600);
x = 0;
}
void loop() {
// seting batasan input fungsi sinus
randNumber = random(1,5); // generate random number between 1 & 5
Serial.print(randNumber);
}
Sketch pada tampilan arduino IDE |
Lakukan percobaan pembacaan sketch arduino yang telah diupload dengan menggunakan serial monitor arduino.
Hasil pembacaan serial monitor Arduino IDE |
Double Click pada Button1 dan masukkan list program dibawah ini,
procedure TForm1.Button1Click(Sender: TObject);
begin
comport1.ShowSetupDialog;
end;
Double Click pada Button2 dan masukkan list program dibawah ini,
procedure TForm1.Button2Click(Sender: TObject);
begin
comport1.Open;
end;
Double Click pada Button3 dan masukkan list program dibawah ini,
procedure TForm1.Button3Click(Sender: TObject);
begin
comport1.Close;
end;
Kemudian ganti properti Button1,Button2, dan Button3 menjadi
Caption Button yang telah diganti sesuai dengan fungsi tombol |
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
begin
comport1.ReadStr(datamasuk,count);
memo1.Lines.Add(datamasuk);
end;
Kemudian setelah selesai, jalan kan program, atur properti port sesuai dengan port yang tersedia untuk papan Arduino,
Clik, Ok kemudian click Button2 ( Sambungkan )
Tampilan Program ketika dijalankan |
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, CPort, ExtCtrls, TeeProcs, TeEngine, Chart, StdCtrls, Series;
type
TForm1 = class(TForm)
Chart1: TChart;
ComPort1: TComPort;
Series1: TLineSeries;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure ComPort1RxChar(Sender: TObject; Count: Integer);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Clearx1,Clearx2,Valx,Baxismin,Baxismax,BaxisVal:double;
BValH,BValL,PrintW,PrintH,ChartWidth:Integer;
Bottomx:String;
a,datamasuk:string;
b:real;
nilai,s,null:real;
implementation
{$R *.dfm}
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
begin
comport1.ReadStr(datamasuk,count);
a:=StringReplace(datamasuk,' ','',[rfReplaceAll]); ;
b:=Strtofloat(a);
memo1.Lines.Add(a);
chart1.Series[0].Add(b,Bottomx,clBlack) ;
BottomVal;
ChartClear;
Axis;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
comport1.ShowSetupDialog;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
comport1.Open;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
comport1.Close;
end;
end.