Selasa, 06 April 2010

Menyalakan Lampu ruangan dengan program

Disini saya akan mencoba berbagi pengalaman tentang bagaimana mengontrol lampu ruangan dengan menggunakan komputer. secara otomatis lampu ruangan akan menyala apabila sebuah tombol di program kita tekan. kenapa bisa begitu? tekniknya adalah dengan cara mengirim sinyal ker paralel dengan menggunakan program. Tidak usah cemas membuat programnya cukup sederhana dan mudah dibuat. kita siapkan terlebih dahulu Visual Basic 6.0, kemudian file inpout32.dll, tentunya untuk peralatan adalah kabel parallel (kabel untuk printer), sebuah LED untuk simulasi, kemudian resistror 47 K sebagai tahanan supaya LED tidak putus karena arus yang terlalu besar yang diberikan. Nah kita mulai ke pembuatan program. Buka Visual Basic 6.0, kemudian buat sebuah project hingga tampil sebuah form, masukan komponen command, kemudian kita bisa merubahnya dengan mengklik tab properties caption dan masukan kata yang diingankan misalnya "Nyala", dan buat lagi sebuah tombol (command) dan beri nama "Mati".
Nah sekarang klik Project>> module salin code di bawah ini ke dalam modul tersebut atau seperti gambar di bawah ini.

Public Declare Sub out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal values As Integer)

kemudian klik dua kali pada tombol "Nyala" dan ketikan code berikut

Out 888, 255

kemudi pada tombol "Mati" ketikan code berikut


Out 888, 0

Nah kode yang pertama "Out 888, 255" ini adalah perintah untuk mengirimkan sinyal dengan tujuan 888. 888 adalah alamat dari port paralale,bisa kita ketahui dengan cara masuk ke device manager klik pada Port (COM & LPT) kemudian klik kanan properties klik pada tab Resource, nah disana kita bisa mengetahui nomor port dari sebuah paralale pada resource setting I/O Range = 0378, nah 0378 adalah bentuk bilangan Hexa, maka harus kita ubah ke bentuk bilangan decimal caranya jika kita tidak bisa menghitungnya sendiri gunkanan kalkulator dari windows klik start >> run ketikan calc,klik view >> Secientific nah klik pada Hexa masukan nilai yang akan kita ubah dan klik Decimal, nah hasilnya adalah 888. Nilai 378 tidaklah mutlak, artinya terkadang alamt port dari parallel itu tidak sama 378, saya juga belum tahu tapi menurut pengalaman saya membuat program ini di Windows Xp dan digunakan di windows 98 ternya tidak bekerja, setlah saya lihat alamat port parallelnya ternyata bukan 378.
Nah sebetulnya sudah selesai pembuatan program ini, jangan lupa menyalin file inpout32.dll yang telah di download sebelumnya ke direktori c:\windows\system32.
Kenapa tadi saya mengetikan angka 255. Jika anda ingin mengerti coba ubah nilai 255 ke bentuk biner dengan menggunakna kalkulator, maka hasilnya adalah 11111111 (8 bit angka 1). Lihat pada gambar port parallel terdapat pin 2-9 adalah D0-D7, berarti ada 8 buah pin output yang dapat digunakan coba bandingkan dengan nilai 11111111. Jika nilainya 11111111 berarti D0-D7 akan menyala tetapi jika 00000000 maka semua pin mati, jika 10000000 maka hanya D7 yang menyala. nah sekarang tergantung anda pin manasaja yang akan anda nyalakan, dengan cara mengubah nilai bilanan biner seperti di atas ke bentuk desimal kemudian masukan ke kode program.
Contoh jika biner 00000001 maka hanya pin 1 saja yang dialiri arus, 00000010 maka pin 2 yang diberi arus dan seterusnya.
Contoh disamping adalah kita mengirim biner 00111111 maka LED yang menyala adalah seperti pada gambar yaitu pin 2-7 seperti gambar disamping.
Untuk menjadikan program yang telah kita buat ini menjadi file executible, file yang dapat langsung dijalankan tanpa proses instal klik FIle >> Make. Nah selamat mencoba...

1 komentar:

  1. kalau kita mau matikan salah satu pin aja...misal pin 3 mati tapi yang lain menyala bagaimana pak?

    BalasHapus