Saat menggunakan CPort untuk input/output data melalui port serial, tentunya harus ditentukan terlebih dahulu port yang akan di-assign untuk keperluan tersebut. Port serial atau sering disebut juga COM Port, sifatnya adalah physical dan dedicated, jadi hanya ada satu aplikasi yang diperbolehkan untuk mengakses port tersebut. Jadi, identifikasi port sangat diperlukan agar data benar-benar sampai ke target device-nya. Di Windows, penamaan port serial dimulai dari ‘COM1’ sampai dengan ‘COM255’ (8 bit), jadi saat bersamaan maksimal ada 255 device bertipe interface serial yang dapat dikoneksikan dalam satu komputer.
Jika menggunakan CPort untuk mendeteksi COM port tersebut, ada 2 macam cara yang dapat dilakukan, yakni:
1. Menggunakan subrutin bawaan
Cara ini adalah yang termudah, yakni dengan memanggil procedure ‘ShowSetupDialog’. Dengan memanggil subrutin ini, maka akan dimunculkan jendela kecil yang berisikan setup konfigurasi untuk masing-masing parameter komunikasi serial seperti nomor COM port, baudrate, Data bits, Stop bits, Parity dan Flow Control. Contoh penggunaan prosedur ini adalah sebagai berikut: Ambil satu komponen ‘Button1’ dan ‘ComPort1’ di Component Pallete, double click komponen ‘Button1’ dana isikan kode sebagai berikut di Code Editor Delphi
procedure TForm1.Button1Click(Sender: TObject);
begin
ComPort1.ShowSetupDialog;
end;
Running program kecil diatas (tekan F9) dan coba klik tombol ‘Button1’, seharusnya akan muncul jendela sebagai berikut :
Anda bisa mengatur semua parameter komunikasi serial dalam jendela di atas, kemudian tekan tombol ‘OK’ untuk konfirmasi. Walaupun ini merupakan cara termudah, namun Anda tidak dapat meng-customize lebih lanjut untuk keperluan program Anda, karena memang jendela setup ini sudah built in dalam procedure ‘ShowSetupDialog’.
2. Menggunakan komponen ComComboBox dan ComRadioGroup
Komponen ComComboBox dan ComRadioGroup berada di Tab komponen CportLib (satu tab dengan komponen ComPort). Dengan kedua komponen ini (bisa pilih yang sesuai dengan kebutuhan program), Anda bisa membuat jendela pengaturan parameter serial secara custom.
Contohnya adalah sebagai berikut :
Ambil komponen Label1, Comport1, ComComboBox1 dan ComRadioGroup1 dari Component Pallete ke Form Designer dan atur peletekannya seperti pada gambar di bawah
Atur properties masing-masing komponen sebagai berikut :
Komponen |
Properties |
Nilai |
Label1 | Caption | Baudrate : |
ComRadioGroup1 | Caption | COM Port Available |
ComPort | ComPort1 | |
ComProperty | cpPort | |
ComComboBox1 | ComPort | ComPort1 |
ComProperty | cpBaudRate |
Setelah mengatur properties tiap komponen seperti pada tabel di atas, seharusnya tampilan program adalah menjadi sebagai berikut :
Dari contoh program di atas, tentunya Anda sudah dapat menangkap bagaimana caranya mendeteksi port serial/COM Port secara otomatis, yakni dengan menggunakan komponen ComComboBox atau ComRadioGroup dan mengatur properties ‘ComPort’ dan ‘ComProperty’-nya. Setelah parameter nomor COM atau baudrate (atau parameter yang lain) ‘tertangkap’ komponen CPort, selanjutnya dapat diolah untuk proses berikutnya dalam program Anda. Semoga bermanfaat dan selamat berkreasi dengan program Delphi Anda.
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
sangat membantu sekali
terima kasih banyak mas Saptaji.
sukses terus…….
Siipp.. ini yang sedang saya cari mas… Thanks
permisi master mohon bantuannya. saya nyoba program komunikasi serial arduino dengan delphi tapi keluar pesan “unable to open com port (error : 2)” itu kenapa ya master?. padahal com arduinonya sudah sesuai.
– check port COM-nya apakah sedang dipake aplikasi lain?
– check no port COM-nya apakah sudah benar?
nais artikel mas, maaf kalo boleh sedikit minta pencerahaannya mas tentang sintak untuk membaca nilai inputan dari mikrokontroler yg menggunakan kabel rs232
kurang lebihnya seperti ini mas, silahkan disesuaikan dg kebutuhan
byte byteRead;
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
byteRead = Serial.read();
}
}
dg sintaks di atas, data serial akan disimpan di variabel ‘byteRead’. Dan jangan lupa, pin serial di arduino di pin 0 dan 1 itu berada pd level TTL jd hrs di-convert dulu ke RS232
gan mau tanya seandainya selain pake port serial, jadi kita ga usah nyolok kabel dari port modem ke laptop, gimana?
pakai Wifi atuh
Cara nya gan? Kodingan sama dengan serial atau beda? Mohon pencerahan gan
ini mau kirim data tapi ga mau lewat kabel kan maksudnya? bisa pake wifi dengan protokol tcp/ip. Kodingan jelas beda dengan serial
Iyaaaa gan gausah pake kabel. Agan tau kodingan nya?
tau masbro, mudah aja kok. Coba googling aja, banyak yang sudah share
Pake socket ya gan kebanyakan?
iya, kalo pake protokol tcp/ip otomatis pake pemrograman socket
Oke, makash gan
Permisi master mau nanya, klo semisal untuk detect berat benda di timbangan ada contoh ga ?
tetep pakai delphi 7 untuk codenya
terima kasih master
bingung juga jawabnya karena harus lihat dulu tipe alat/protokol data komunikasinya. Papi pada prinsipnya tinggal diambil datanya sesuai protokol di datasheet, kemudian diolah sesuai kebutuhan
untuk alat timbangannya saya pakai timbangan “shinko” master.
jadi goal.nya tuh begini, munculin angka dari timbangan ini nih ke program delphi.nya trus di print gtu master.
tpi nemuin artikel2 dan jurnal.nya yg sesuai goal tsb susah TT.
tolong pencerahannya master TT.
ditunggu respon.nya yah master, terima kasih sebelumnya
kalo yang spesifik seperti itu memang susah cari tutorialnya, karena tidak semua blogger punya alatnya, dan tidak semua orang yang punya alat mau menulis tutorialnya. Jadi titik temunya susah mas. Intinya gini aja, coba pelajari datasheet alat tersebut, pelajari bagian data output pada port komunikasinya dan protokol datanya (misal: data output berupa plain text dengan protokol serial RS232 biasa dan keluar pada port serial/COM). Setelah itu coba baca datanya dengan delphi-nya
emmm datasheet, ini aku buka websitenya http://www.alldatasheet.com
seperti itukah datasheetnya ?
terus selanjutnya aku pelajari output plain text protokol serial RS232 gtu kah ?
Gan,klo di form di tampilkan lagi 2 kolom lagi = 1.data ascii 2.data angka..membaca data sensor suhu misalnya…bagai mana itu,bisa di kasih tutorialnya.
ini sensor suhunya ada mikrokontroller/arduinonya kan? Ketika kirim data yang dikirim data suhunya aja atau dengan data ascii, angka, dll?
Ada contoh nya utk kirim text ke pole display ?
pole display maksdunya gmn ya