Archive

Archive for the ‘Driver Relay’ Category

Mengontrol Empat Buah Relay dan Membaca Empat Buah Input Melalui Port Paralel LPT Menggunakan VB6 + INPOUT32.DLL

October 23, 2014 Leave a comment

LPT-4R4OI_6320

LPT-4R4OI adalah modul antarmuka port paralel LPT yang memiliki 4 buah output berupa relay dan 4 buah input opto-isolated. Modul ini cocok bagi Anda yang pengguna port paralel, baik pemula maupun profesional.

Modul LPT-4R4OI menggunakan ULN2803 untuk driver relay dan PC817 untuk rangkaian input. Masing-masing relay dan input memiliki LED status. LED Relay akan menyala jika relay ON. LED Input akan menyala jika input ON. Input LPT-4R4OI aktif-rendah, artinya LED Input akan menyala jika input diberi logika rendah (LOW).

Empat relay pada modul LPT-4R4OI dikendalikan oleh port data. RELAY-1 pada pin D4, RELAY-2 pada pin D5, RELAY-3 pada pin D6 dan RELAY-4 pada pin D7. Berikut adalah tabel koneksi port LPT dengan LPT-4R4OI.

Port LPT Nomor Pin Nama Pin Fungsi
Port Data Pin 6 D4 Kontrol RELAY-1
Port Data Pin 7 D5 Kontrol RELAY-2
Port Data Pin 8 D6 Kontrol RELAY-3
Port Data Pin 9 D7 Kontrol RELAY-4
Port Status Pin 10 ACK INPUT-1
Port Status Pin 11 BUSY INPUT-2 (INVERTED)
Port Status Pin 12 PAPER OUT INPUT-3
Port Status Pin 13 SELECTED INPUT-4

Perhatian! Keterangan INVERTED pada pin 11 (BUSY) memiliki arti bahwa nilai logika yang terbaca adalah kebalikan dari logika input yang sebenarnya.

Untuk mengontrol relay dan membaca input modul LPT-4R4OI dibutuhkan program antarmuka LPT. Library program yang paling populer adalah INPOUT32.DLL. Dengan library ini kita bisa mengakses port LPT ataupun port IO lainnya.

Sesuai judul di atas, saya membuat program antarmuka LPT-4R4OI menggunakan VB6. Berikut adalah tampilan programnya.

lpt-4r4oi_vb6

Dengan modul LPT-4R4OI kita bisa membuat sistem kontrol berbasis komputer. Contoh aplikasi yang bisa dibangun adalah:

  • sistem monitoring level ketinggian tandon air dengan kontrol pompa air
  • sistem kontrol lift
  • sistem kontrol mesin press
  • dan lain-lain

Selain sistem aplikasi, modul LPT-4R4OI juga sangat cocok untuk pelajaran interfacing. Dengan modul ini kita bisa mengenalkan contoh hardware interfacing dan pemrogramannya.

Bagi Anda yang berminat dengan modul ini bisa menghubungi kami melalui email ke info@teknikelektrolinks.com atau melalui http://teknikelektrolinks.com/kontak.htm.

Selamat berkarya!

:D

SMC-02: Kontroler Relay Via SMS Berbasis AVR ATmega8

October 10, 2014 Leave a comment

smc-2 modem_320

SMC-02 adalah modul SMS Relay yang memiliki 2 buah relay sebagai output. Dengan modul ini kita bisa mengendalikan dan membaca kondisi 2 buah relay (on/off) melalui SMS Perintah yang dikenali sistem. Sistem hanya memroses SMS Perintah yang dikirim oleh nomor telepon yang terdaftar. Jika SMS Perintah dikirim oleh nomor yang tidak dikenal, maka akan diabaikan oleh sistem.

SMC-02 menggunakan relay dengan kemampuan kontak NO sebesar 10A (max) pada tegangan 250VAC sehingga sangat memadai untuk langsung digunakan mengendalikan beban peralatan listrik seperti lampu, kipas angin atau AC berdaya rendah.

Sebagai otak modul SMC-02 digunakan mikrokontroler ATMEL AVR ATmega8/8A dengan rancangan sistem mikrokontroler yang telah teruji di lapangan. Modem yang digunakan adalah modem serial Wavecom tipe 1306 atau tipe yang lain.

SMC-02 dilengkapi program SMC-02 Setup yang digunakan untuk mengeset nomor telepon pengguna.  Program SMC-02 Setup dibuat menggunakan ThinBASIC. Source code program SMC-02 Setup disertakan dalam CD Program.

Prinsip Kerja SMC-02

Ketika diaktifkan SMC-02 akan masuk ke mode WAIT_PC. Pada mode ini mikrokontroler menunggu data dari PC selama beberapa detik dan LED Status akan berkedip-kedip cepat sebanyak 80 kali. Jika ada komunikasi dari PC (program SMC-02 Setup), maka SMC-02 akan masuk ke mode SETUP. Penjelasan mengenai SMC-02 Setup dapat dibaca di bawah.

Jika tidak ada komunikasi dari PC selama mode WAIT_PC, maka mikrokontroler akan berpindah ke mode RUN, yakni menjalankan program kontrol relay via SMS dengan cara berinteraksi dengan modem serial.

Pada mode RUN ini, mikrokontroler akan secara kontinyu mengecek apakah ada SMS baru yang diterima oleh modem dengan perintah AT+CMGL. Jika ada, maka SMS akan dibaca dan diambil data pesan (SMS Perintah) dan data nomor pengirimnya. Jika nomor pengirim terdaftar, maka selanjutnya mikrokontroler akan mengecek apakah SMS Perintah benar atau tidak. Dan jika SMS Perintah benar, maka mikrokontroler akan melakukan aksi yang bersesuaian dan mengirimkan SMS Notifikasi ke nomor pengirim.

Jika nomor pengirim tidak terdaftar, maka mikrokontroler akan mengabaikan SMS tersebut dan langsung menghapusnya.

SMS Perintah dan Notifikasi

SMC-02 memiliki SMS Perintah yang unik dan akan memberikan SMS Notifikasi pada setiap SMS yang dikirimkan oleh user yang terdaftar. Berikut adalah tabelnya:

SMS Perintah Fungsi Perintah SMS Notifikasi
RL01LIVE RELAY-1 ON SMC-02: RELAY1 ON
RL01DIE RELAY-1 OFF SMC-02: RELAY1 OFF
RL02LIVE RELAY-2 ON SMC-02: RELAY2 ON
RL02DIE RELAY-2 OFF SMC-02: RELAY2 OFF
RELAY? Membaca status relay SMC-02 SMC-02: RELAY1 ON/OFF, RELAY2 ON/OFF
Salah SMS Perintah tidak dikenali tapi nomor pengirim dikenali SMC-02: COMMAND ERROR!

Program SMC-02 Setup

SMC-02 menyimpan 2 nomor telepon user di dalam EEPROM mikrokontroler. User dapat membaca, mengedit dan menyimpan nomor telepon user menggunakan program SMC-02 Setup.

smc-02 setup

SMC-02 Setup dibuat dengan interface yang sederhana namun intuitif sehingga mudah digunakan. Sourcecode program SMC-02 Setup disertakan dalam CD.

Untuk melakukan komunikasi dengan SMC-02, hubungkan SMC-02 ke PC dengan perantaraan kabel data serial. Selanjutnya jalankan program SMC-02 Setup dan klik Tombol READ DATA.

Pada saat SMC-02 diaktifkan (Power On), mikrokontroler akan menunggu komunikasi dari PC. Selama proses menunggu data dari PC tersebut, LED Status akan berkedip-kedip cepat sebanyak 80 kali.

Jika SMC-02 menerima data dari PC, maka LED Status SMC-02 akan menyala penuh sebagai tanda SMC-02 sedang berkomunikasi dengan program SMC-02 Setup. Dan jika tidak ada komunikasi (data) dari PC, maka mikrokontroler akan menjalankan program kontrol SMC-02 (berinteraksi dengan modem).

Jika komunikasi berjalan lancar, maka SMC-02 akan mengirimkan data nomor user yang terdaftar. Pada screenshot di bawah nomor HP-1 adalah +6281231784018 dan nomor HP-2 adalah +623419857624.

smc-02 setup2

Tombol Set HP User-1 digunakan untuk mengedit dan menyimpan nomor HP pertama. Sedangkan Tombol Set HP User-2 digunakan untuk mengedit dan menyimpan nomor HP kedua.

Perhatian!

Penulisan nomor telepon/HP menggunakan format internasional yakni dilengkapi dengan kode negara dan kode area. Nomor telepon 081231784018 ditulis menjadi +6281231784018 dan nomor telepon 03419857624 ditulis menjadi +623419857624.

Setelah editing nomor HP selesai dilakukan, kita bisa melepas kabel serial dan menghubungkan modem ke board SMC-02 dan klik Tombol EXIT untuk menutup aplikasi SMC-02 Setup.

Ketika aplikasi SMC-02 ditutup, program akan mengirimkan data ke board SMC-02 sebagai tanda bahwa proses setup telah selesai sehingga mikrokontroler bisa keluar dari mode setup dan menjalankan program kontrol SMC-02 dan berinteraksi dengan modem.

smc-02 lampu 300Untuk menghubungkan beban peralatan listrik AC 220V ke board SMC-02 tidaklah sulit karena telah disediakan terminal-terminal untuk keperluan tersebut. Terminal tersebut adalah:
1. Terminal Input AC 220V (2 pin)
2. Terminal Output Beban-1 (2 pin)
3. Terminal Output Beban-2 (2 pin)

SMC-02 dapat Anda pesan melalui situsnya di http://teknikelektrolinks.com/smc-02/smc-02.htm.

Selamat berkarya!

Mengontrol Relay Via USB Menggunakan BASIC dan USB-1REL

September 27, 2014 Leave a comment

usb1rel_jb

USB-1REL adalah modul USB Relay yang memiliki 1 buah relay sebagai output. Dengan modul ini kita bisa mengendalikan kondisi 1 buah relay (on/off) melalui program komputer dengan antarmuka port USB.
Modul ini mengambil daya secara langsung dari port USB sehingga tidak membutuhkan catu daya eksternal. Oleh karenanya modul USB-1REL sangat mudah dan praktis digunakan.

Screenshot di samping adalah tampilan program Demo Kontrol USB-1REL yang dibuat menggunakan interpreter Bahasa BASIC gratisan JustBASIC V1.01. Program mengontrol relay USB-1REL dengan memanggil command-line tool USB1RC.EXE.

usb1rel_320 Modul USB-1REL sangat cocok untuk aplikasi bel sekolah terprogram berbasis komputer. Dengan scheduler dan database sederhana maka cukuplah untuk membuat aplikasi bel sekolah terprogram yang sederhana namun berdayaguna.

Selain bel sekolah atau bel pabrik, USB-1REL juga bisa diaplikasikan untuk mengaktifkan dan mematikan extra-fan atau air-conditioner pada ruang server pada kurun-kurun waktu yang telah ditentukan (terprogram).

Pada tulisan ini kami berikan contoh program Demo Kontrol USB-1REL dengan beberapa fungsi tombol yakni:

Tombol Fungsi
ON Mengaktifkan relay
OFF Mematikan relay
ON-OFF Very Fast Mengaktifkan kemudian mematikan dengan delay yang sangat singkat (flicker)
ON – 0.5s – OFF Relay ON, delay 1/2 detik, kemudian Relay OFF
ON – 1s – OFF Relay ON, delay 1 detik, kemudian Relay OFF
ON – 5s – OFF Relay ON, delay 5 detik, kemudian Relay OFF

Untuk menghasilkan delay program menggunakan fungsi TIMER. Berikut adalah kode program selengkapnya.

'--- JB_USB1REL.BAS
'--- Demo pengontrolan modul relay USB-1REL
'--- Chandra MDE - Teknik Elektro Links
'--- 28 September 2014

    nomainwin

    WindowWidth = 300
    WindowHeight = 355

    UpperLeftX=int((DisplayWidth-WindowWidth)/2)
    UpperLeftY=int((DisplayHeight-WindowHeight)/2)

    groupbox #main.groupbox1, " Relay Control: ", 15, 15, 170, 72
    button #main.btnRelayOn, "ON", [btnRelayOnClick], UL, 25, 40, 70, 30
    button #main.btnRelayOff, "OFF", [btnRelayOffClick], UL, 105, 40, 70, 30

    groupbox #main.groupbox2, " Relay Trigger/Off-Delay: ", 15, 100, 170, 196
    button #main.btnRelayOnFast, "ON-OFF Very Fast", [btnRelayFastClick], UL, 25, 130, 150, 30
    button #main.btnRelayOn50, "ON - 0.5s - OFF", [btnRelay50Click], UL, 25, 170, 150, 30
    button #main.btnRelayOn1, "ON - 1s - OFF", [btnRelay1Click], UL, 25, 210, 150, 30
    button #main.btnRelayOn5, "ON - 5s - OFF", [btnRelay5Click], UL, 25, 250, 150, 30

    button #main.btnExit, "EXIT", [btnExitClick], UL, 200, 20, 78, 277

    statictext  #main.telinks, "http://teknikelektrolinks.com", 14, 302, 200, 20

    open "JustBASIC - Demo Kontrol USB-1REL" for dialog as #main
    print #main, "trapclose [quit.main]"

    print #main, "font Arial 9 Bold"
    print #main.telinks, "!font Verdana 8"

    wait

[quit.main]
    close #main
    end

[btnRelayOnClick]    'Perform action for the button named 'btnRelayOn'
    run "USB1RC.EXE R1", hide
    wait

[btnRelayOffClick]    'Perform action for the button named 'btnRelayOff'
    run "USB1RC.EXE r1", hide
    wait

[btnRelayFastClick]
    run "USB1RC.EXE R1 r1", HIDE
    wait

[btnRelay50Click]
    run "USB1RC.EXE R1", hide
    timer 500, [tmr500ms]
    wait
    [tmr500ms]
    timer 0
    run "USB1RC.EXE r1", HIDE
    wait

[btnRelay1Click]
    run "USB1RC.EXE R1", hide
    timer 1000, [tmr1000ms]
    wait
    [tmr1000ms]
    timer 0
    run "USB1RC.EXE r1", hide
    wait

[btnRelay5Click]    'Perform action for the button named 'btnRelay1Off'
    run "USB1RC.EXE R1", hide
    timer 5000, [tmr5000ms]
    wait
    [tmr5000ms]
    timer 0
    run "USB1RC.EXE r1", hide
    wait

[btnExitClick]    'Perform action for the button named 'btnExit'
    Close #main
    wait

USB-1REL dilengkapi dengan CD program yang berisi contoh program dalam berbagai bahasa seperti BASIC, C, Delphi/Lazarus,  JustBASIC, Python, REBOL, VB/VB.NET.

Jika Anda berminat dengan modul USB-1REL, silakan mengunjungi halaman resminya di http://teknikelektrolinks.com/usb-1rel/usb-1rel.htm.

Semoga bermanfaat, selamat belajar dan selamat berkarya.

:D

Contoh Program Kontrol Relay Serial SER-1REL Menggunakan VB6

September 14, 2014 Leave a comment

ser-1rel

SER-1REL adalah modul relay serial berbasis mikrokontroler dengan 1 buah relay. Modul ini sangat cocok untuk aplikasi seperti bel terprogram, on/off fan terprogram, on/off lampu terprogram dan lain-lain. Modul ini membutuhkan catudaya DC 5V untuk menyuplai mikrokontroler dan relay.

Mikrokontroler yang digunakan adalah AT89C2051 dengan kristal 11.0592 MHz untuk menjamin baudrate dengan error 0%. Untuk lebih meningkatkan reliabilitas modul maka baudrate yang digunakan adalah 2400. Dengan baudrate rendah diharapkan modul tetap sukses berkomunikasi dengan komputer dengan penggunaan kabel data yang panjang, mungkin belasan hingga beberapa puluh meter.

Program komunikasi serial menggunakan VB6 dapat dilakukan dengan menggunakan komponen MSCOMM32.OCX. Dari berbagai komponen serial yang pernah saya gunakan, MSCOMM32 adalah yang paling mudah digunakan.

Berikut adalah cuplikan program kontrol modul SER-1REL menggunakan VB6.

ser-1rel_vb6_edit

Berikut adalah tabel karakter perintah yang dikenali oleh modul SER-1REL.

No. Karakter Perintah Fungsi Perintah
1 “A” RELAY ON
2 “Z” RELAY OFF
3 “1” RELAY TRIGGER dengan delay ~200ms
4 “2” RELAY TRIGGER dengan delay ~500ms
5 “3” RELAY TRIGGER dengan delay ~1000ms

Pada prakteknya program mengirimkan data string “AAA”, “ZZZ”, “111”, “222” dan “333”. Mengapa demikian? Pengiriman 3 buah karakter perintah bertujuan untuk memastikan bahwa karakter “A” terkirim dengan baik dan bisa dikenali oleh modul SER-1REL. Setidaknya salah satu dari tiga karakter perintah yang dikirim akan diterima dan dikenali dengan baik oleh kontroler SER-1REL. Jumlah karakter perintah tidak harus 3, tapi boleh 5, 10 atau bahkan 20.

Dari hasil pengujian dapat saya simputlkan bahwa sistem bekerja dengan baik dengan pengiriman 1 buah karakter perintah saja, namun demikian saya pribadi merasa lebih aman mengirimkan beberapa karakter perintah. Open-mouthed smile

ser-1rel_vb6

Nah, gambar di samping ini adalah screenshot dari program kontrol modul SER-1REL menggunakan VB6. Program beserta sourcecode-nya terdapat pada CD bawaan modul.

Untuk pemesanan silakan langsung menghubungi http://teknikelektrolinks.com/order.htm.

Selamat belajar dan selamat berkarya!

Open-mouthed smile

SER-2REL – Modul Relay Serial RS232 Dengan Segudang Contoh Program Meliputi VB.NET, Python, ThinBASIC dan JustBASIC

March 3, 2014 3 comments

telinks_ser_2rel_640

Jika Anda ingin mengendalikan 2 buah relay dari komputer atau laptop, maka modul SER-2REL sangat cocok untuk Anda karena modul ini memiliki 2 buah relay yang dapat dikontrol melalui komputer atau laptop menggunakan komunikasi data serial. Dibandingkan dengan USB-2REL, modul ini lebih mudah pemrogramannya.

“Tapi laptop saya tidak punya port serial, yang ada cuma port USB saja Pak……”

Tenang. Dengan menggunakan kabel konverter USB-to-Serial, maka modul SER-2REL dapat dikontrol melalui port USB – tanpa mengubah program sedikitpun! Jadi apapun komputer Anda, apapun laptop Anda, modul SER-2REL dapat Anda gunakan untuk berbagai keperluan seperti mengontrol beban bertegangan AC 220V maupun beban bertegangan DC.

Modul SER-2RE dirancang sedemikian rupa agar dapat digunakan untuk berbagai aplikasi driving sederhana seperti eksperimen antarmuka komputer, mengontrol peralatan listrik (AC/DC), mengontrol sirine/alarm atau fan. Namun demikian, modul ini juga mampu digunakan untuk menggerakkan power driver motor AC induksi 3-fasa berukuran besar.

Modul SER-2REL disertai CD yang berisi program aplikasi pengendali relay lengkap dengan kode programnya sehingga Anda bisa mempelajari dan memodifikasi program sesuai dengan kebutuhan aplikasi Anda.

Adapun spesifikasi modul SER-2REL adalah sebagai berikut:

  • Power Supply: DC 5V
  • Dual-type DC Input: Socket & Screw
  • Konektor serial DB9 Male
  • LED Indicator Status: menyatakan modul aktif (berkedip-kedip)
  • LED Indicator untuk masing-masing relay
  • 2-buah relay dengan kualitas yang baik
  • Dilengkapi dengan CD contoh program lengkap dengan kode program VB.NET, Python, ThinBASIC dan Just BASIC

Program Kontrol Versi VB.NET

Berikut adalah tampilan program kontrol SER-2REL versi VB.NET Express Edition 2005:

ser2rel_vbnet

Ketika button ON diklik, maka program akan mengirimkan perintah kepada modul untuk mengaktifkan relay. Sebaliknya, jika button OFF ditekan, maka program akan mengirimkan perintah kepada modul untuk mematikan relay. Untuk mengaktifkan Relay1, program komputer harus mengirimkan data karakter ‘A’ ke mikrokontroler SER-2REL, dan untuk mematikan Relay1, program komputer harus mengirimkan data karakter ‘X’ ke mikrokontroler SER-2REL. Sedangkan untuk Relay2, data karakter ON adalah ‘B’ dan data karakter OFF adalah ‘Y’.

Untuk mengaktifkan kedua relay secara bersamaan, program komputer harus mengirimkan data karakter ‘C’ dan untuk mematikan kedua relay secara bersamaan, data karakter yang harus dikirim adalah ‘Z’.

Berikut adalah kode program VB.NET untuk program kontrol modul SER-2REL.

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For i As Integer = 0 To _
           My.Computer.Ports.SerialPortNames.Count - 1
            ComboBox1.Items.Add( _
               My.Computer.Ports.SerialPortNames(i))
        Next
        btnDisconnect.Enabled = False
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim i As Integer

        For i = 1 To 50
            SerialPort1.Write("A")
            Application.DoEvents()
        Next
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i As Integer

        For i = 1 To 50
            SerialPort1.Write("X")
            Application.DoEvents()
        Next
    End Sub

    Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click
        If SerialPort1.IsOpen Then
            SerialPort1.Close()
        End If

        Try
            With SerialPort1
                .PortName = ComboBox1.Text
                .BaudRate = 2400
                .Parity = IO.Ports.Parity.None
                .DataBits = 8
                .StopBits = IO.Ports.StopBits.One
            End With
            SerialPort1.Open()

            TextBox1.Text = ComboBox1.Text & " connected."
            btnConnect.Enabled = False
            btnDisconnect.Enabled = True
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    Private Sub btnDisconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisconnect.Click
        Try
            SerialPort1.Close()
            TextBox1.Text = SerialPort1.PortName & " disconnected."
            btnConnect.Enabled = True
            btnDisconnect.Enabled = False
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim i As Integer

        For i = 1 To 50
            SerialPort1.Write("B")
            Application.DoEvents()
        Next
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim i As Integer

        For i = 1 To 50
            SerialPort1.Write("Y")
            Application.DoEvents()
        Next
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Dim i As Integer

        For i = 1 To 50
            SerialPort1.Write("C")
            Application.DoEvents()
        Next
    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Dim i As Integer

        For i = 1 To 50
            SerialPort1.Write("Z")
            Application.DoEvents()
        Next
    End Sub
End Class

Program Kontrol Versi Python

Program kontrol versi Python menggunakan modul PySerial untuk antarmuka komunikasi serial. Contoh program kontrol modul SER-2REL versi Python ini masih mode console, belum GUI. Berikut adalah tampilan program hasil pengujian.

ser2rel_python_600

ser2rel_python

Kode program versi Python tentunya dapat Anda miliki jika membeli modul SER-2REL karena akan ada pada CD bawaan modul SER-2REL.

Program Kontrol Versi ThinBASIC

Program kontrol selanjutnya adalah versi ThinBASIC. Interpreter freeware yang semakin populer ini sangat cocok bagi penggemar BASIC yang cenderung bersifat gamblang, detil dan rapih. Berikut adalah kode program dan tampilan program versi ThinBASIC.

' TB_SER2REL_GUI
' Chandra MDE - http://teknikelektrolinks.com
 
Uses "UI"
Uses "COMM", "Console"

Begin ControlID              
  %btnRelay1On, %btnRelay2On, %btnAllRelayOn
   
  %btnRelay1Off, %btnRelay2Off, %btnAllRelayOff
  
  %label1, %label2, %label3, %label4
End ControlID    

Begin Const
  %MAIN_WIDTH   = 505
  %MAIN_HEIGHT  = 240
  %BAUDRATE     = 2400
End Const

Dim COMMPort As String = "COM1"
Dim hcomm As Long
Dim RelayOn(3) As String  = "AAA", "BBB", "CCC"
Dim RelayOff(3) As String = "XXX", "YYY", "ZZZ"
                          
Function TBMain()
  Local hDlg As DWord
                                                           
  Dialog Font "Tahoma", 9
  Dialog New Pixels, 0, "SER-2REL Controller Using COMM Module (COM1 @2400baudrate)",-1,-1, %MAIN_WIDTH, %MAIN_HEIGHT,_
    %WS_POPUP Or %WS_VISIBLE Or %WS_CAPTION Or %WS_SYSMENU Or %WS_MINIMIZEBOX To hDlg
  
  Control Add Button, hDlg, %btnRelay1On, "RELAY-1 ON" , 15, 20, 225, 30, Call DoRelay()
  Control Add Button, hDlg, %btnRelay1Off, "RELAY-1 OFF", 15, 55, 225, 30, Call DoRelay()
  
  Control Add Button, hDlg, %btnRelay2On, "RELAY-2 ON" , 265, 20, 225, 30, Call DoRelay()
  Control Add Button, hDlg, %btnRelay2Off, "RELAY-2 OFF", 265, 55, 225, 30, Call DoRelay()
  
  Control Add Button, hDlg, %btnAllRelayOn, "ALL RELAY ON" , 15, 105, 225, 60, Call DoRelay()
  Control Add Button, hDlg, %btnAllRelayOff, "ALL RELAY OFF", 265, 105, 225, 60, Call DoRelay()
  
  Control Add Label, hDlg, %label1, "SER-2REL Controller by Chandra MDE", 20, 190, 300, 15
  Control Add Label, hDlg, %label2, "Teknik Elektro Links - http://teknikelektrolinks.com", 20, 206, 300, 15
  Control Add Label, hDlg, %label3, "[ Created using ThinBASIC ]", 330, 190, 300, 15                          
  Control Add Label, hDlg, %label4, "1.9.11.0 and 1.8.9.0", 350, 206, 300, 15
 
  Dialog Show Modal hDlg, Call cbDialog
End Function

CallBack Function cbDialog()
  Select Case CBMSG
    Case %WM_INITDIALOG     
      hcomm = COMM_FreeFile
      COMM_Open("COM1", hComm)
      COMM_Set(hcomm, %COMM_BAUD, %BAUDRATE)
      If Err<>0 Then
        MsgBox 0, "Error opening COM1"
        End
      End If
    Case %WM_COMMAND

    Case %WM_CLOSE

  End Select
End Function                                          

CallBack Sub DoRelay() 
  Local ID As DWord           
  
  If Callback_Message=%WM_COMMAND And Callback_Control_Message = %BN_CLICKED Then
  	ID = Callback_Control - %btnRelay1On + 1
  	If Inside(ID, 1, 3) Then
  	  COMM_Send(hcomm, RelayOn(ID))
  	Else
  		COMM_Send(hcomm, RelayOff(ID-3))
  	End If
  End If
End Sub

thinbasic_ser2rel

Program Kontrol Versi Just BASIC 1.01

Untuk semakin memperkaya CD bawaan SER-2REL, kami juga memberikan contoh program kontrol yang dibuat menggunakan Just BASIC 1.01. Just BASIC adalah interpreter bahasa BASIC (freeware) untuk platform Windows yang sangat mudah dipelajari dan digunakan. Berikut adalah tampilan program kontrol modul SER-2REL yang dibuat dengan Just BASIC 1.01:

jb_ser2rel_1 jb_ser2rel_3

jb_ser2rel_usbtors232_800

Berikut adalah kode program kontrol SER-2REL versi JustBASIC 1.01:

'-- jb_ser2rel.bas
'-- Kontrol 2 Buah Relay Serial (SER-2REL)
'-- Chandra MDE - http://teknikelektrolinks.com

    nomainwin

    WindowWidth = 400
    WindowHeight = 280

    UpperLeftX = int((DisplayWidth- WindowWidth)/2)
    UpperLeftY = int((DisplayHeight- WindowHeight)/2)

    dim portlist$(50)
    for i=1 to 50
        portlist$(i) = "COM"+str$(i)
    next

    portserial$ = portlist$(1)

    Relay1$ = "\RELAY-1 OFF"
    Relay2$ = "\RELAY-2 OFF"

    RelayOnColor$ = "backcolor 255 0 0"
    RelayOffColor$ = "backcolor 100 0 0"

    Relay1BackColor$ = RelayOffColor$
    Relay2BackColor$ = RelayOffColor$

    groupbox    #dlg.group1, "Port Serial:", 20, 15, 195, 58
    statictext  #dlg.label1, "Nomor Port:", 35, 40, 85, 20
    ComboBox    #dlg.cbPortSerial, portlist$(), [cbPortSerialChanged], 120, 36, 70, 25

    groupbox    #dlg.group2, "Kontrol:", 20, 85, 195, 100
    button      #dlg.Relay1On, "RL1 ON", [Relay1On], UL, 35, 105, 80, 28
    button      #dlg.Relay1Off, "RL1 OFF", [Relay1Off], UL, 120, 105, 80, 28
    button      #dlg.Relay2On, "RL2 ON", [Relay2On], UL, 35, 145, 80, 28
    button      #dlg.Relay2Off, "RL2 OFF", [Relay2Off], UL, 120, 145, 80, 28

    graphicbox  #dlg.gbox, 230, 20, 145, 165

    statictext  #dlg.about1, "By Chandra MDE - Teknik Elektro Links", 20, 210, 220, 15
    statictext  #dlg.about2, "http://teknikelektrolinks.com", 20, 225, 200, 20
    statictext  #dlg.about3, "[JustBASIC 1.01]", 248, 220, 150, 20

    open "TELINKS - Demo Kontrol Modul SER-2REL" for dialog as #dlg
    print #dlg, "font Tahoma 9 bold"
    print #dlg.about1, "!font Tahoma 8 bold"
    print #dlg.about2, "!font Tahoma 8 bold"
    print #dlg.about3, "!font Tahoma 11 bold"
    print #dlg.gbox, "font Arial 10 bold"
    print #dlg.cbPortSerial, "selectindex 1"

    gosub [DrawRelay]

[mainLoop]
    wait

[DrawRelay]
    print #dlg.gbox, "home"
    print #dlg.gbox, "down"
    print #dlg.gbox, "fill black"
    print #dlg.gbox, "size 3"
    print #dlg.gbox, "color 255 255 255"
    print #dlg.gbox, Relay1BackColor$
    print #dlg.gbox, "place 15 15"
    print #dlg.gbox, "boxfilled 125 70"
    print #dlg.gbox, "place 30 46"
    print #dlg.gbox, "color 255 255 100"
    print #dlg.gbox, Relay1$
    print #dlg.gbox, "color 255 255 255"
    print #dlg.gbox, Relay2BackColor$
    print #dlg.gbox, "place 15 145"
    print #dlg.gbox, "boxfilled 125 90"
    print #dlg.gbox, "place 30 122"
    print #dlg.gbox, "color 255 255 100"
    print #dlg.gbox, Relay2$
    print #dlg.gbox, "flush"
    return

[Relay1On]
    Com = 16384
    oncomerror [PortSerialError]
    open portserial$ + ":2400,n,8,1,ds0,cs0,rs" for random as #hCom
    print #hCom, "AAA"
    close #hCom
    Relay1$ = "\RELAY-1 ON"
    Relay1BackColor$ = RelayOnColor$
    Gosub [DrawRelay]
    wait

[Relay1Off]
    Com = 16384
    oncomerror [PortSerialError]
    open portserial$ + ":2400,n,8,1,ds0,cs0,rs" for random as #hCom
    print #hCom, "XXX"
    close #hCom
    Relay1$ = "\RELAY-1 OFF"
    Relay1BackColor$ = RelayOffColor$
    Gosub [DrawRelay]
    wait

[Relay2On]
    Com = 16384
    oncomerror [PortSerialError]
    open portserial$ + ":2400,n,8,1,ds0,cs0,rs" for random as #hCom
    print #hCom, "BBB"
    close #hCom
    Relay2$ = "\RELAY-2 ON"
    Relay2BackColor$ = RelayOnColor$
    Gosub [DrawRelay]
    wait

[Relay2Off]
    Com = 16384
    oncomerror [PortSerialError]
    open portserial$ + ":2400,n,8,1,ds0,cs0,rs" for random as #hCom
    print #hCom, "YYY"
    close #hCom
    Relay2$ = "\RELAY-2 OFF"
    Relay2BackColor$ = RelayOffColor$
    Gosub [DrawRelay]
    wait

[cbPortSerialChanged]
    #dlg.cbPortSerial "selection? portserial$"
    wait

[PortSerialError]
    notice "Error at opening port "; portserial$
    wait

Sangat menarik, bukan? :D

Foto Pengujian

Setiap produk kami uji untuk memastikan bahwa produk yang kami kirim telah berfungsi dengan baik. Berikut adalah foto hasil pengujian modul SER-2REL.

telinks_uji_ser_2rel

Pemesanan

Jika Anda berminat dengan modul ini, Anda dapat memesannya melalui situs kami di: http://teknikelektrolinks.com.

Selamat belajar dan selamat berkarya!

Smile

Follow

Get every new post delivered to your Inbox.

Join 170 other followers