-->

TUTORIAL KOMUNIKASI SERIAL ARDUINO DAN DELPHI BAG. 1



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


Masukkan sketch berikut pada papan arduino yang telah disiapkan, program ini berfungsi mengirimkan data random value yang akan dikirimkan secara serial tanpa melakukan pembacaan sensor apapun pada pin arduino. 

    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
Selanjutnya buat aplikasi Delphi, disini saya menggunakan Borland Delphi 7, siapkan beberapa properti 3 Button, 1 ComPort, 1 Memo.

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


Berikutnya click ComPort1 --> Object Inspector --> Event --> OnRXChar, dan isikan list program berikut,

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

Berikut saya lampirkan List Program Keseluruhan, Good Luck

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.

LihatTutupKomentar