Panduan Praktis Mengirim dan Menerima Data melalui Serial Port dengan Lazarus dan CPort
penampakkan com0com |
selain itu juga untuk contoh kali ini jelas ketika kita mencoba software yang kita buat kita juga membutuhkan software termite (serial terminal) karena siapa yang mau menerima data yang kita kirimkan ? ya kecuali nanti pada saat aplikasi mungkin kita akan berkomunikasi dengan microcontroller atau bahkan dengan software proteus dll
form |
dan berikut ini adalah listingnya :
🔧 1. Komponen yang Digunakan
Unit yang di-uses
:
-
Classes, SysUtils
: Unit standar untuk operasi dasar Pascal. -
Forms, Controls, Graphics, Dialogs, StdCtrls
: Untuk komponen antarmuka pengguna (form, tombol, edit box, dll). -
CPort, CPortCtl
: Unit untuk menangani komunikasi serial (COM port).
🧱 2. Desain Form dan Komponen
Komponen pada TForm1
:
-
4 Tombol:
-
btn1
: Tombol untuk membuka koneksi ke COM port. -
btn2
: Tombol untuk menutup koneksi ke COM port. -
btn3
: Tombol untuk mengirim byte (nilai angka). -
btn4
: Tombol untuk mengirim string (teks).
-
-
3 Edit Box:
-
edt1
: Tempat pengguna memasukkan angka (byte) untuk dikirim. -
edt2
: Tempat pengguna memasukkan string untuk dikirim. -
edt3
: Menampilkan data yang diterima dari COM port.
-
-
1 ComboBox Khusus COM Port (
TComComboBox
):-
cbb1
: Combo box untuk memilih COM port yang tersedia di sistem.
-
-
1 Objek
TComPort
:-
port1
: Objek yang digunakan untuk menangani komunikasi serial. port1 : masih menggunakan default speed 9600 baud
port1 : menggunakan 8 data, no parity, 1 stop bit (default)
-
-
4 GroupBox:
-
Untuk mengelompokkan komponen dalam tampilan GUI (tidak memiliki logika program langsung).
-
⚙️ 3. Logika Program
3.1. FormCreate(Sender: TObject)
-
Mengatur
cbb1
agar menampilkan daftar port COM yang tersedia. Ini harus dilakukan secara manual karena jika diset lewat properti di IDE bisa menyebabkan error.
3.2. btn1Click(Sender: TObject)
– Open COM Port
-
Mengecek apakah
port1
belum terbuka, lalu membuka port yang dipilih dicbb1
.
3.3. btn2Click(Sender: TObject)
– Close COM Port
-
Menutup koneksi ke port jika sedang terbuka.
3.4. btn3Click(Sender: TObject)
– Kirim Byte
-
Mengambil angka dari
edt1
, mengubahnya ke tipeByte
, lalu mengirimkannya.
Fungsi Pendukung:
-
Mengirim satu byte ke port serial.
3.5. btn4Click(Sender: TObject)
– Kirim String
-
Mengirim string yang dimasukkan di
edt2
melalui port serial.
3.6. port1RxChar(Sender: TObject; Count: Integer)
– Terima Data
-
Dipanggil otomatis saat data diterima dari COM port (
Count
karakter). -
Membaca data dan menampilkannya di
edt3
.
🔁 Alur Kerja Program
-
Saat form dijalankan, daftar COM port akan dimuat ke
cbb1
. -
Pengguna memilih COM port dari daftar.
-
Tekan tombol btn1 → membuka koneksi ke COM port.
-
Pengguna dapat:
-
Mengirim byte dengan tombol
btn3
. -
Mengirim string dengan tombol
btn4
.
-
-
Data yang diterima dari COM port akan langsung tampil di
edt3
. -
Tekan tombol btn2 → menutup koneksi COM port.
🛠️ Catatan Teknis Tambahan
-
Pastikan Anda menggunakan komponen CPort yang sudah diinstal di Lazarus.
-
Perlu mengatur
BaudRate
,Parity
,StopBits
, danDataBits
dariport1
agar sesuai dengan perangkat yang dikomunikasikan. (Belum diatur dalam kode ini, jadi memang masih default 9600 8N1). -
Saat mengirim data byte, pastikan
edt1.Text
benar-benar angka valid (0–255), jika tidak bisa menyebabkan error runtime. Oleh karena itu edt1 di set "only Number" properties nya
No comments:
Post a Comment