Mengontrol Lima Unit USB-2REL Pada Satu Komputer/Laptop Menggunakan Python dan PyUSB 1.0


5x_usb2rel

Jika satu unit USB-2REL yang memiliki dua buah relay masih kurang, jangan kuatir, Anda bisa menggunakan dua, tiga, empat, atau bahkan lima unit USB-2REL sekaligus pada satu komputer atau laptop.

Keuntungan menggunakan USB-2REL selain tidak membutuhkan catudaya eksternal adalah modul ini dapat kita pasang pada port USB komputer/laptop sebanyak yang kita butuhkan. Seberapa banyak? Tentunya ada batasannya dan saya tidak akan membahas permasalahan itu pada tulisan ini. Tulisan ini hanya berisi tentang hasil eksperimen saya mengontrol 5 unit USB-2REL pada komputer saya dengan 1 unit USB-2REL terhubung pada port USB CPU (front-side), dan 4 unit USB-2REL terhubung pada USB hub 4-port.

Sebelum dapat menggunakan kelima unit USB-2REL, maka masing-masing unit USB-2REL harus dikenali oleh Windows. Jika Windows tidak dapat mengenali USB-2REL pada port USB yang kita pakai, maka instalasi driver perlu dilakukan. Jadi meskipun driver USB-2REL telah terinstal pada sistem, namun secara spesifik, untuk setiap port USB yang dimiliki komputer harus kita instalasi satu-persatu. Hal itu tidaklah sulit karena Windows akan secara otomatis menampilkan driver USB-2REL yang sudah terinstal dan kita tinggal memilihnya dan menekan tombol Next.

image

Setelah semuanya dikenali oleh Windows, maka kita dapat melihat 5 buat libUSB-Win32 Devices seperti ditunjukkan pada screenshot window Device Manager berikut ini.

image

Setelah kelimanya terinstalasi dengan benar, maka kini saatnya bereksperimen. Eksperimen ini menggunakan program Python yang telah dilengkapi dengan library atau modul PyUSB 1.0. Anda dapat membaca eksperimen sebelumnya untuk mengetahui lebih lanjut tentang modul PyUSB 1.0.

IDE yang saya gunakan tetaplah PyScripter 2.4.2.0 buatan Kiriakos Vlahos yang sangat muantab. 😀

Nah, berikut adalah baris-baris skrip yang saya gunakan pada Python Interpreter.

image

Baris pertama: USB2REL = usb.core.find(True, idVendor=5824, idProduct=1500) berfungsi untuk mendapatkan handle untuk SEMUA piranti USB dengan idVendor=5824 dan idProduct=1500 yang terpasang pada port USB pada komputer/laptop.

Jika fungsi menemukan lebih dari satu piranti USB dengan ID yang dimaksud, maka fungsi akan mengembalikan sebuah list. Dalam hal ini variabel USB2REL akan secara otomatis bertipekan list.

Bukti bahwa kelima unit USB-2REL ditemukan oleh fungsi usb.core.find() adalah variabel USB2REL berisi data handle dari modul USB-2REL ke-1 hingga ke-5. Masing-masing modul USB-2REL dapat diakses melalui:

  1. USB2REL[0]
  2. USB2REL[1]
  3. USB2REL[2]
  4. USB2REL[3]
  5. USB2REL[4]

Baris-baris perintah berikutnya adalah contoh perintah untuk mengaktifkan RELAY-1 dari masing-masing unit USB-2REL.

>>> USB2REL[0].ctrl_transfer(0x40, 1, 1, 1, None)  #USB-2REL1, RELAY-1 ON
0
>>> USB2REL[1].ctrl_transfer(0x40, 1, 1, 1, None)  #USB-2REL2, RELAY-1 ON
0
>>> USB2REL[2].ctrl_transfer(0x40, 1, 1, 1, None)  #USB-2REL3, RELAY-1 ON
0
>>> USB2REL[3].ctrl_transfer(0x40, 1, 1, 1, None)  #USB-2REL4, RELAY-1 ON
0
>>> USB2REL[4].ctrl_transfer(0x40, 1, 1, 1, None)  #USB-2REL5, RELAY-1 ON
0
>>>

Supaya lebih enak mengujinya, kita buatkan skrip singkat untuk menguji kelima unit USB-2REL dengan urutan kerja pada masing-masing unit USB-2REL sebagai berikut:

RELAY-1 ON –> RELAY-1 OFF –> RELAY-2 ON –> RELAY-2 OFF –>
SEMUA RELAY ON –> SEMUA RELAY OFF

Listing skrip pengujian selengkapnya dapat Anda lihat di bawah ini.

#——————————————————————————-
# Name:     5xUSB2REL.py
# Purpose:  TESTING 5 Unit USB-2REL pada satu komputer
# Author:   Chandra MDE
# Created:  15/04/2013 (c) Chandra MDE 2013
#——————————————————————————-

import usb.core
import time

def main():
    USB2REL = usb.core.find(True, idVendor=5824, idProduct=1500)
    if USB2REL == None:
        print "USB-2REL tidak ditemukan!"
        exit
    else:
        for i in range(5):
            print "USB-2REL Unit Ke-", i
            USB2REL[i].ctrl_transfer(0x40, 1, 1, 1, None) #RELAY-1 ON
            time.sleep(1) #tunda 1 detik
            USB2REL[i].ctrl_transfer(0x40, 1, 0, 1, None) #RELAY-1 OFF
            time.sleep(1) #tunda 1 detik
            USB2REL[i].ctrl_transfer(0x40, 1, 1, 2, None) #RELAY-2 ON
            time.sleep(1) #tunda 1 detik
            USB2REL[i].ctrl_transfer(0x40, 1, 0, 2, None) #RELAY-2 OFF
            time.sleep(1) #tunda 1 detik
            USB2REL[i].ctrl_transfer(0x40, 2, 0, 0, None) #ALL ON
            time.sleep(1) #tunda 1 detik
            USB2REL[i].ctrl_transfer(0x40, 3, 0, 0, None) #ALL OFF
            time.sleep(1) #tunda 1 detik

if __name__ == ‘__main__’:
    main()

Sangat mudah, bukan? 😀

Semoga bermanfaat, selamat belajar dan selamat berkarya!

Jika Anda berminat dengan modul USB-2REL, silakan mengunjungi situsnya di:
http://teknikelektrolinks.com.

🙂

Iklan
Perihal

Cek situs kami di http://teknikelektrolinks.com. Blog Raspberry Pi: http://raspi.teknikelektrolinks.com

Tagged with: , ,
Ditulis dalam Antarmuka Komputer, Driver Relay, Elektronika, Gratisan, Industrial Control and Automation, Python, Software/Programming
One comment on “Mengontrol Lima Unit USB-2REL Pada Satu Komputer/Laptop Menggunakan Python dan PyUSB 1.0
  1. agaust berkata:

    ini saya lihat hampir sama seperti setting wvdial, yang check idVendor dan idProduct terlebih dahulu..
    nice posts mas.. 🙂

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Kategori

Bergabunglah dengan 2.497 pengikut lainnya

Display Counter 3-Digit Dengan Koneksi Wi-Fi
Display Nomor Antrian WiFi Android
Mengontrol Relay Via USB/Serial dan Wi-Fi
Blog Linux dan Raspberry Pi


USB Relay USB-2REL
USB Relay USB-4REL
Water Level Control WLC-02
Serial Relay SER-4REL
NEO STARDUINO SMS ALARM

Alarm SMS Berbasis NEO STARDUINO

1 PC – 6 Unit USB-2REL

Testing 6 USB-2REL Pada 1 Komputer

Standard Pengujian USB-2REL

Pengujian USB-2REL Sebelum Dikirim

LPT-4REL on Knoppix 7.0.5

Testing LPT-4REL on Knoppix Linux

T101 Inkubator Telur

T101 Inkubator Penetas Telur

KONTROL PERALATAN LISTRIK VIA PORT LPT KOMPUTER

Demo Kontrol Kontaktor via Port LPT

STARDUINO meets ANDROID

Demo Kontrol Bluetooth Relay Android

STARDUINO SMS RELAY

Kontrol Relay Via SMS Dengan Starduino

STARDUINO WEB RELAY

Demo Kontrol Relay Via Web/Internet

JustBASIC USB-2REL Control

Demo Kontrol USB-2REL + JustBASIC

STARDUINO + GPS + LCD

Demo Starduino GPS Dengan LCD

USB-2REL EXTREME TEST

Demo Kontrol On/Off Lampu USB-2REL

THERMOSTAT T101 IN ACTION

Demo Thermostat T101 Pada SV=37.5°C

WATER LEVEL CONTROL WLC-02

Demo Kontrol Level Air Tandon WLC-02

HUMIDITY CONTROLLER H103

Demo Kontrol Kelembaban H103 (DHT11)

%d blogger menyukai ini: