Adalah Synaser, sebuah library komunikasi data serial open-source untuk Delphi, Kylix, dan FreePascal yang dapat digunakan pada platform Windows dan Linux. Library gratis ini kita perlukan agar kita dapat membuat program komunikasi data serial menggunakan FreePascal dan tentunya Lazarus.
Kalau kita menggunakan Visual Basic kita bisa menggunakan komponen visual MSComm dari Microsoft. Kalau kita menggunakan Delphi maka ada komponen visual TComport buatan Dejan Crnila, atau dapat juga kita menggunakan MSComm.
Untuk Lazarus, ada beberapa library dan komponen yang dapat kita gunakan, salah satunya adalah Synaser. Kita juga dapat menggunakan komponen TComport Lazarus yang merupakan konversi dari TComport Delphi. Namun untuk saat ini yang tersedia baru TComport Lazarus untuk Windows, versi Linux-nya belum ada.
Anyway, pada postingan ini saya ingin memberikan contoh program komunikasi data serial sederhana menggunakan Lazarus dan Synaser. Untuk memudahkan percobaan, maka saya menggunakan sebuah port serial dengan kaki RX – TX dihubung-singkat untuk membentuk looping data serial (pada port serial DB9, kaki 2 dan kaki 3 dihubung-singkat). Jadi ceritanya, program akan mengirim dan menerima data melalui port serial yang sama.
Ngirim-ngirim sendiri, diterima-terima sendiri. π
Pada percobaan ini saya menggunakan port USB dengan USB-to-RS232 Converter, dan mencoba baudrate yang tinggi yakni 460800. Walhasil, alhamdulillah berhasil dengan baik.
Gambar diatas adalah screenshot dari contoh program tersebut. Sangat sederhana dan belum menunjukkan fitur-fitur lain yang dimiliki oleh Synaser. Tapi setidaknya bisa memberikan bukti bahwa library Synaser dapat digunakan untuk melakukan komunikasi data serial dengan baik.
Nah, jika Anda menginginkan contoh program ini, silakan download file aplikasi dan file proyek Lazarus melalui link berikut ini.
(Β 1,164 kb )
Contoh aplikasi Synaser untuk komunikasi data serial antara PC dengan mikrokontroler dapat Anda lihat di postingan berikut: STARDUINO In Action! – LM35 Temperature Data Logger.
Selamat belajar!
π
Halo mas Chandra,
Terima kasih untuk contoh penggunaan Synaser. Saya sudah coba dan berfungsi dgn baik.
Tetapi kalau saya bandingkan dengan TComport, kenapa yah polaritas sinyal-nya terbalik? Jadi saya ganti Synaser dengan TComport, kemudian saya ukur sinyalnya dengan multimeter.
Apa ada setting di Synaser yang bisa di-set supaya sinyalnya sama seperti TComport?
TIA
Adi
Halo juga, Mas Adi.
Terima kasih sudah mencoba program tersebut dan memberikan feedback yang positif.
Saya kurang paham dengan maksud polaritas sinyal terbalik yang Mas Adi ukur menggunakan multimeter. Mohon dijelaskan.
Terima kasih. π
Maksudnya, saya ukur tegangan antara TX dengan Ground (kaki no.5) (RX-TX dihubung singkat). Kemudian saya modif code dengan mengganti Synaser dengan TComport, ukur lagi tegangannya.
Kelihatannya kalau pakai Synaser kita dapat tegangan RS232, sedangkan kalau pakai TComport dapat tegangan TTL. Benar gak mas Chandra?
Kita tidak bisa menganalisa saluran komunikasi dengan hanya menggunakan voltmeter. Tapi kalau hanya untuk mengukur nilai tegangan TX dan RX ketika kondisi MARK dan SPACE itu tidak menjadi masalah.
Synaser dan TComport hanyalah program antarmuka komunikasi data serial RS232. Tegangannya adalah level RS232. Untuk bisa berkomunikasi dengan piranti yang menggunakan level tegangan TTL/CMOS maka harus digunakan rangkaian konverter.
Demikian, Mas Adi. π
mas buat install tcomport lazarus bagaimana ? ini saya ada coba gagal trus ada masalah dengan pesan seperti ini : ‘D:\lazarus\komponen\Cportlaz_v1.0.0\CPortCtl.pas(97,19) Error: No property found to override’ bagaimana mas? mohon pencerahannya..nih…trima kasih
Kakak,
Untuk hasil compile lazarus 64bit tidak bisa running di windows 32bit. Adakah solusinya?
Terimakasih
Untuk itu, lakukan setting target CPU=i386.
Mas.masih ada tutorial membuat komunikasi serial dg Lazarus.
Ada. Kalau mau pelatihan privat online juga bisa. Silakan kontak via Messenger atau WA 0882-3560-7047.