Teknik Elektro LinksBarrier-Gate & Turnstile Interface, Thermostat, Relay Driver, Microcontroler Board

SER-1R3I – Salah Satu Alternatif Modul Antarmuka Untuk Aplikasi Sistem Parkir Otomatis

ser-1r3i serial 1 relay 3 input

SER-1R3I adalah modul antarmuka Serial RS232 dengan satu keluaran berupa relay dan tiga pin masukan aktif-rendah. Modul ini cocok digunakan untuk aplikasi sistem parkir otomatis dengan portal. Keluaran berupa kontak relay dapat digunakan sebagai kontak pemicuan untuk membuka portal, sedangkan tiga pin masukan dapat digunakan untuk mendeteksi sensor kendaraan (biasa dikenal sebagai sensor loop) dan tombol (push-button). Gambar sensor kendaraan dapat dilihat di bawah ini.

sensor loop

Protokol Komunikasi SER-1R3I

Modul SER-1R3I bekerja pada baudrate 2400. Baudrate ini dipilih dengan pertimbangan kestabilan,  ketahanan dan juga panjang kabel data. Baudrate yang lebih rendah akan lebih tahan gangguan dan dapat menempuh jarak (panjang kabel) yang lebih jauh.

SER-1R3I menggunakan protokol komunikasi yang sangat sederhana. Untuk mengaktifkan relay, komputer harus mengirimkan karakter ‘A‘ dan untuk mematikan relay, komputer harus mengirimkan karakter ‘Z‘. Selain fungsi ON dan OFF, modul juga mengenali karakter ‘1‘ sebagai perintah untuk mengaktifkan relay sejenak dengan durasi-on 250ms. Untuk mengaktifkan relay sejenak dengan durasi-on 500ms dan 1000ms, karakter perintah yang harus dikirim oleh komputer adalah ‘2‘ dan ‘3‘.

Contoh perintah untuk mengirimkan karakter kepada modul SER-1R3I adalah sebagai berikut.

'RELAY ON
If connected Then AxMSComm1.Output = "A"
'RELAY OFF
If connected Then AxMSComm1.Output = "Z"
'RELAY ON selama 250ms kemudian OFF
If connected Then AxMSComm1.Output = "1"
'RELAY ON selama 500ms kemudian OFF
If connected Then AxMSComm1.Output = "2"
'RELAY ON selama 1000ms kemudian OFF
If connected Then AxMSComm1.Output = "3"

Sangat mudah, bukan?

Selain menerima dan mengenali karakter perintah tersebut di atas, modul SER-1R3I juga mengirimkan data status kondisi masukan PA, PB dan PC. Secara kontinyu, modul mengirimkan data sebanyak 9 karakter dengan format sebagai berikut:

PA1 - PA berlogika tinggi
PA0 - PA berlogika rendah
PB1 - PB berlogika tinggi
PB0 - PB berlogika rendah
PC1 - PC berlogika tinggi
PC0 - PC berlogika rendah

Jadi ketika semua masukan (PA, PB dan PC) berlogika tinggi atau tidak terhubung ke GND, maka modul akan mengirimkan data:

PA1PB1PC1PA1PB1PC1PA1PB1PC1PA1PB1PC1...

Dan jika masukan PA berlogika rendah atau terhubung ke GND, maka modul akan mengirimkan data:

PA0PB1PC1PA0PB1PC1PA0PB1PC1PA0PB1PC1...

Data sebanyak 9 karakter tersebut terus-menerus dikirim ke komputer, sehingga membentuk deretan seperti ilustrasi di atas.

Membaca Data Serial Menggunakan MSCOMM32

Untuk mengetahui kondisi masukan PA, PB dan PC, program komputer hanya perlu mengambil sejumlah karakter dan melakukan pencarian substring PA1, PB1 dan PC1 dari string yang tadi diambil.

Berikut ini saya berikan penggalan program pendeteksian kondisi PA, PB dan PC menggunakan pemrograman VB.NET. Saya menggunakan komponen serial MSCOMM32 untuk memudahkan pengguna VB6 maupun bahasa pemrograman lain yang memiliki fasilitas pemrograman COM (Component Object Model).

Private Sub AxMSComm1_OnComm(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AxMSComm1.OnComm
 Dim s As String
 Dim n As Integer

 If AxMSComm1.CommEvent = 2 Then
    s = AxMSComm1.Input
    TextBox5.Text = s

    n = InStr(1, s, "PA0")
    If n > 0 Then
      TextBox2.Text = "LOW"
    Else
      TextBox2.Text = "HIGH"
    End If

    n = InStr(1, s, "PB0")
    If n > 0 Then
      TextBox3.Text = "LOW"
    Else
      TextBox3.Text = "HIGH"
    End If

    n = InStr(1, s, "PC0")
    If n > 0 Then
      TextBox4.Text = "LOW"
    Else
      TextBox4.Text = "HIGH"
    End If
  End If
  AxMSComm1.InBufferCount = 0
End Sub

Secara gampang-gampangan (tapi ampuh), kita bisa menggunakan fungsi InStr untuk mencari substring. Karena untuk setiap masukan kemungkinan datanya hanya dua (semisal PA, datanya adalah PA1 atau PA0), maka kita cukup menggunakan salah satu saja (PA1 atau PA0) sebagai substring dalam fungsi pencarian InStr.

Pada contoh sederhana di atas, program akan menampilkan status kondisi masukan PA, PB dan PC sesuai data yang diterima pada TextBox2, TextBox3 dan TextBox4.

Seperti apa tampilan yang saya maksud?

Berikut ini adalah tampilan program demo untuk modul SER-1R3I. Program ini saya berikan lengkap dengan sourcecode jika Anda membeli modul SER-1R3I. Sehingga Anda bisa langsung mengadaptasikannya pada program aplikasi Anda.

ser-1r3i vb.net

Solusi Lain: USB-2R3IO

Jika Anda menginginkan solusi lain yang menggunakan antarmuka USB, maka tersedia modul USB-2R3IO. Penampakannya seperti ditunjukkan pada gambar berikut ini.

usb-2r3io

Informasi lebih detil mengenai modul USB-2R3IO dapat Anda baca di www.usbinov.com.

Sekian dulu dan terima kasih sudah membaca tulisan saya.

Semoga sekelumit tentang SER-1R3I dengan protokol komunikasi yang sederhana ini dapat memberikan manfaat bagi Anda.

Selamat berkarya.

 

Add a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>