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

Menggambar Skematik dan Layout PCB Menggunakan Software ExpressSCH dan ExpressPCB

September 15, 2014 3 comments

expresspcbPernahkah Anda menggambar skematik dan layout PCB menggunakan software ExpressSCH dan ExpressPCB?

Jika Anda seorang pemula, maka saya sarankan untuk mencoba software ini karena sederhana dan mudah dikuasai. Dan jika Anda seorang profesional yang membutuhkan software skematik dan PCB yang 100% gratis, maka tidak ada salahnya Anda mengeksplorasi kemampuan ExpressSCH dan ExpressPCB.

Saya mulai berkenalan dengan ExpressPCB Januari 2014 yang lalu. Memang ExpressPCB tidaklah sehebat Eagle, DipTrace atau kicad, dan janganlah sekali-sekali diperbandingkan dengan protel atau proteus. Waduh, jauuuh… Open-mouthed smile

ExpressSCH dan ExpressPCB minim fitur, namun cukup memadai untuk digunakan dalam pekerjaan menggambar skematik dan layout PCB. Karena minim fitur, maka tak banyak yang harus dipelajari untuk menguasai program freeware ini. Tampilannya pun tidak terlalu bagus, bahkan terkesan kaku dan tidak menarik.

Namun demikian, dengan adanya fasilitas untuk membuat sendiri simbol dan footprint komponen dan menyimpannya dalam library, maka ExpressSCH dan ExpressPCB sudah layak digunakan untuk menggambar skematik dan layout PCB sesuai yang diinginkan.

Terus-terang, awalnya saya menabah-nabahkan diri selama proses belajar menggambar skematik dan layout PCB menggunakan software ini. Akan tetapi setelah melihat hasilnya, menurut saya tidak jelek juga. Open-mouthed smile

Berikut adalah beberapa hasil saya menggambar skematik dan layout PCB menggunakan program ExpressSCH dan ExpressPCB.

telinks_expresssch

telinks_expresspcb

telinks_expresspcb_printout

Gambar skematik di atas adalah sebagian dari skematik keseluruhan yang telah selesai saya gambar. Sedangkan gambar layout PCB di atas adalah layout PCB sistem secara keseluruhan. Gambar paling bawah adalah hasil printout pada mesin cetak PDF. Itu adalah gambar pertama saya menggunakan ExpressSCH dan ExpressPCB.

Dan berikut ini adalah beberapa layout-layout PCB lain yang telah saya buat menggunakan software ExpressPCB.

pcb tally light

sensorac220v

usb2rio pcb 600

usbtc45yeah

Bagaimana? Lumayan, bukan? Open-mouthed smile

Dan software ini berjalan dengan mulus di linux menggunakan WINE.

expresspcb_blankon

Jika Anda penasaran dan ingin mencobanya, Anda dapat mengunduh program ExpressPCB secara gratis dari situs resminya di:

http://www.expresspcb.com/expresspcbhtm/download.htm

Nah, semoga tulisan dapat memberi manfaat dan memberi semangat untuk berkarya menggunakan freeware.

Selamat belajar dan selamat berkarya!

Smile

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

Eksperimen STAR2051 (AT89C2051) + Sensor Gerak PIR + BUZZER

September 12, 2014 Leave a comment

star2051 pir buzzer

Foto di samping adalah foto pengujian eksperimen monitoring gerak menggunakan modul sensor gerak PIR (Passive Infra Red). Eksperimen sederhana ini sekedar untuk menguji board programmable controller berbasis AT89C2051 yakni STAR2051.

Skenarionya sederhana saja. Jika output PIR berlogika tinggi (HIGH) – yang menyatakan bahwa PIR mendeteksi adanya gerakan – maka BUZZER akan berbunyi. Dan sebaliknya, jika output PIR berlogika rendah (LOW), maka BUZZER akan berhenti berbunyi.

Tombol pada board STAR2051 digunakan sebagai variasi masukan. Fungsinya adalah untuk membunyikan BUZZER secara manual. Jadi jika tombol ditekan kapanpun, maka BUZZER akan berbunyi. Dan jika tombol dilepas, maka BUZZER pun akan berhenti berbunyi. Jadi pada sistem ini BUZZER akan berbunyi jika sensor gerak PIR aktif ATAU tombol ditekan.

Sederhana saja, bukan? Nah, bagaimanakah program kontrolnya? Simak screenshot berikut ini. Program saya buat menggunakan editor MIDE51 dengan SDCC sebagai kompiler bahasa C.

star2051_pir_bzr_mide

Pin P1.0 digunakan untuk mengontrol BUZZER.

Pin P3.2 digunakan untuk membaca TOMBOL.

Pin P3.5 digunakan untuk membaca sensor gerak PIR.

Pin P3.7 digunakan untuk mengontrol LED pada board STAR2051.

Perintah LED = !PIR; artinya adalah kondisi LED adalah kebalikan dari kondisi PIR. Jika PIR=HIGH (aktif), maka LED=LOW (padam) dan jika PIR=LOW, maka LED=HIGH (menyala). Perlu diketahui bahwa LED pada pin P3.7 adalah aktif LOW, jadi LED akan menyala jika diberi logika LOW dan sebaliknya.

Baris program selanjutnya yakni BUZZER = PIR || !KEY; artinya adalah BUZZER akan berbunyi jika sensor gerak PIR aktif ATAU BUZZER akan berbunyi jika KEY ditekan. Operator logika || adalah operator logika OR.

Nah, sangat sederhana bukan program kontrolnya? Open-mouthed smile

Dengan programmable controller STAR2051 kita dapat membuat berbagai aplikasi sederhana. Eksperimen di atas dapat kita aplikasikan sebagai sistem alarm pencuri.

Contoh aplikasi lain yang mungkin menarik adalah pengontrolan relay menggunakan komputer melalui port serial. Dengan menambahkan relay (maksimal 8 relay) dan sedikit program interface serial, maka STAR2051 telah berfungsi sebagai modul SERIAL RELAY. Selain mengontrol relay, komputer juga dapat memonitor kondisi input yang berupa sensor dengan output digital dengan memanfaatkan 4 pin GPIO yang tersedia dan dengan sedikit tambahan program.

Jika Anda berminat dengan board STAR2051, silakan menghubungi kami melalui halaman http://teknikelektrolinks.com/order.htm.

Selamat belajar dan selamat berkarya!

Open-mouthed smile

STAR2051–Board Mikrokontroler AT89C2051

September 11, 2014 2 comments

AT89C2051

AT89C2051 adalah mikrokontroler keluarga 8051 yang memiliki memori program sebesar 2K byte. Mikrokontroler ini sangat cocok untuk aplikasi I/O sederhana. AT89C2051 termasuk salah satu mikrokontroler favorit saya. Selain karena bentuknya yang mini (20-pin PDIP), AT89C2051 memiliki konfigurasi yang kompatibel dengan AVR ATtiny2313. Jadi apabila saya kehabisan AT89C2051, maka saya bisa menggantinya dengan ATtiny2313 dengan sedikit penyesuaian pada rangkaian RESET.

STAR2051 adalah board mikrokontroler berbasis AT89C2051 yang memiliki spesifikasi sebagai berikut:

  • tegangan input 5V DC
  • memiliki diode pengaman tegangan terbalik
  • memiliki 4 GPIO (General Purpose I/O)
  • memiliki 8 OUTPUT dengan driver ULN2803 dengan supply 5V
  • memiliki port komunikasi serial RS232
  • memiliki 1 buah LED pilot aktif LOW pada pin P3.7
  • memiliki 1 buah tactical switch push-on aktif LOW pada pin P3.2

Boleh juga kita sebut STAR2051 sebagai programmable controller berbasis AT89C2051 dengan 4-GPIO, 8-Output dan Komunikasi Serial RS232. Biar terkesan sedikit gaya, hehehe… Open-mouthed smile

4-GPIO bisa digunakan untuk membaca sensor digital seperti keypad, Passive Infra Red (PIR), sensor level air, dan lain-lain. Keempat pin ini juga bisa difungsikan sebagai output untuk menggerakkan LED, Driver Relay atau Solid-State Relay (SSR).

8-OUTPUT dengan driver ULN2805 dapat secara langsung menggerakkan LED, relay dengan kumparan 5V DC, motor DC mini atau motor stepper mini.

Port serial RS232 pada STAR2051 menggunakan rangkaian transistor sebagai konverter tegangan TTL/RS232. Konverter berbasis transistor ini telah teruji dengan baik hingga pada baudrate 115200 menggunakan kristal 22.1184 MHz.

Berikut adalah penampakan dari board STAR2051 yang tengah diuji dengan program blinking LED (warna merah), pembacaan tombol dan komunikasi serial pada baudrate 115200.

star2051_600

Dan berikut ini adalah screenshot program monitoring serial RealTerm yang sedang berkomunikasi dengan STAR2051:

star2051_realterm

Sangat menarik, bukan? Open-mouthed smile

Adapun skematik dasar dari board STAR2051 adalah sebagai berikut:

skematik_star2051

Jika Anda ingin memesan modul STAR2051, silakan langsung menghubungi kami melalui http://teknikelektrolinks.com/order.htm.

Nah, selamat belajar dan selamat berkarya!

Open-mouthed smile

Follow

Get every new post delivered to your Inbox.

Join 168 other followers