Senin, 01 Juni 2009

Dasar:Kontrol ON/OFF memakai PC

Dalam dunia digital, apapun dinyatakan dalam SATU (HIGH) dan NOL (LOW). Lha? Gimana caranya komputer bisa ngitung rumus2 yang rumit hanya modal SATU dan NOL? Ya iya, gak bisa apa2 kalo cuman sebuah SATU atau NOL, tapi kalo dikumpul-kumpulin kan bisa banyak juga.... (Kayak gen manusia yang dasarnya adalah A (Adenin-T (Thymin)-G (Guanin)-S (Sitosin) seperti waktu dipelajari di SMA, tapi kan kalo A-T-G-S nya panjaaaaaaang... bisa bikin semua mahluk berbeda-beda) Teu nyambung nya? nyambung sih.... dikit... Ya... itung2 mengingat pelajaran SMA.
Begitu juga dengan digital. SATU dan NOL disebut dengan BIT. 8 buah BIT jadi BYTE. 2 BYTE jadi WORD, dan seterusnya.
Hmm.... jadi apa yang bisa direpresentasikan oleh 1 BIT?
Ya hanya dua keadaan, SATU atau NOL, HIGH atau LOW, HIDUP atau MATI, TIDUR atau BANGUN, dst...
Terus, kalo 1 BYTE?
Satu BYTE kan 8 bit nih, jadi kombinasinya bisa mulai dari 00000000 sampai 11111111, ditengah2nya ada 00010001, 01110101, dll... jadi jumlah keadaan yang bisa direpresentasikan oleh 1 BYTE adalah 256 keadaan, gak percaya? itung aja sendiri hehehe....
Oh iya saya lupa, ada yg lebih kecil dari byte, yaitu NIBBLE, yang isinya 4 bit, bisa merepresentasikan 16 keadaan.
Intinya, dengan memanipulasikan BANYAK satu dan nol diputer-puter, digeser-geser, dibolak-balik, kita bisa menikmati Internet, VCD, mesra-mesraan lewat chatting, dan lain-lain.
Ok, that’s introduction... Let’s start with the lesson!

Karena blog ini gak jauh-jauh dari urusan PC dan mikrokontroller, maka saya bahas yang ada hubungannya saja ya.
Jaman sekarang, anak SD sudah ada pendidikan komputer, that’s good! biar gak gaptek nantinya. Coba tanya anak SD, buat apa sih komputer itu? Jawabannya:
1.Buat ayah kerja
2.Buat ngetik
3.Buat maen game
4.Buat liat internet
5.Buat maen ragnarok (kumaha sih maen ragnarok teh?)
6.Buat bikin blog (anak SD ada yg bikin blog enggak ya?)
Tapi gak ada yang jawab: “Buat matiin dan nyalain lampu di rumah” Iya kan?
Nah, sekarang mari kita bikin komputer di rumah supaya bisa nyalain dan matiin lampu (lampu LED aja dulu ya? kalo lampu rumah takut kesetrum, tapi nanti Insya Allah akan saya bahas juga gimana cara kendali peralatan elektronik yang memakai tegangan tinggi).
Tapi, gimana caranya?
Dateng ke toko elektronik bawa duit sekitar 50rb, bilang beli komponen:
a.DB25 male
b.8 buah LED (silahkan pilih warnanya sendiri)
c.Resistor 470 ohm ½ watt 5%
d.1-2 meter kabel
e.Solder (kalo belum punya)
f.AVO Meter (kalo belum punya)
g.Timah
Bikin sesuai rangkaian dibawah ini:

Semua resistor adalah 470 ohm. Jadi pin 2-9 dari DB25 (no pin keliatan dari bagian belakang soket DB25) dihubungkan dengan LED lewat resistor, katoda LED (negatif) semuanya dihubungkan dengan PIN 25 (Pin 20-25 adalah Ground). Jangan lupa:
- Resistor boleh terbalik
- LED tidak boleh terbalik, kaki yang pendek adalah negatif / Katoda
Terus diapain? Matikan komputer dulu, termasuk powernya (biar enggak nyetrum), colokin ke paralel Port bagian belakang dari PC. Yakinkan enggak ada yang short antara resistor, LED dengan casing PC. Kemudian nyalakan lagi komputernya. Mungkin LED akan menyala atau mati semua... tidak masalah.

Pemrograman

Sayangnya XP/NT tidak mengijinkan akses port langsung, jadi agak berabe sih, tapi ada solusinya kok, silahkan download file kecil dari:
http://www.beyondlogic.org/porttalk/porttalk.htm
filenamenya porttalk22.zip
Bahasa pemrogramannya pake delphi 7.0 aja ya, kalo mau yang laen, tentu saja bisa, dasarnya pasti sama. Sekarang, silahkan jalankan Delphi 7.0 nya.

1. Bikin form seperti dibawah ini dengan 2 buah control:Edit1 dan Command1



2. Terus ini listing softwarenya:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure outb(Value: Byte);
function inb: Byte;

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.outb(Value: Byte);
begin
asm
mov al, Value
mov dx, $378
out dx, al
end
end;

function TForm1.inb: Byte;
begin
asm
mov dx, $379
in al, dx
mov @result, al
end
end;


procedure TForm1.Button1Click(Sender: TObject);
var pport:byte;
begin
pport:=strtoint(edit1.Text);
outb(pport);


end;

end.

Jangan di run dulu!, tapi compile aja sebagai Project1.exe

3. Simpan file allowIO.exe ke folder yang ada file .exe software diatas.
4. Bikin file project.bat yang isinya satu baris:

allowio project1.exe

simpan file bat tersebut di folder yang ada allowIO.exe, dan file Project1.exe program diatas.

5. Copykan porttalk.sys ke folder X:\Windows\System32\drivers

6. Jalankan porttalk.reg untuk mengupdate registry.

Catatan:
File allowIO.exe, porttalk.reg dan porttalk.sys ada di porttalk22.zip

Nah, sekarang baru jalankan file bat tersebut (project.bat).

7. Coba isi angka 1 pada textbox, kemudian tekan tombol “Kirim ke Paralel Port”
8. Apa yang terjadi dengan LED? Seharusnya led yang terhubung dengan Pin 2 DB25 menyala. Kalo enggak ya.... ada yang belum beres... Cek lagi rangkaian LED nya.
9. Sekarang, coba isi dengan angka 128, kemudian tekan tombolnya lagi.
Seharusnya led ke 8 menyala.
10. Coba isi dengan 129.... Dan..... led ke 1 dan led ke 8 menyala.
Mudan2an dari eksperimen diatas anda sudah bisa menarik kesimpulan dan menarik hubungan antara angka yang diisikan dan led yang menyala.

Keterangannya begini:
1. Coba jalankan software calculator di Accessories.
2. Pilih View – Scientific
3. Pilih Dec (desimal, maksudnya)
4. Isi angka 129 di kalkulatornya
5. Pilih Bin (Biner)
6. Angka yang keluar adalah 10000001

Sama kan dengan urutan LED yang menyala? Led yang menyala adalah LED ke 1 dan ke 8, karena pada bilangan biner untuk 129 adalah 10000001.

Got the idea?

Coba eksperimen dengan angka2 lain, tapi syaratnya harus dibawah 255, karena hanya 8 bit yang dipakai.

Mati/Nyala LED bisa dibayangkan sebagai MATI/NYALA lampu ruangan, MATI/NYALA pendingin ruangan, MATI/NYALA Mesin industri, MATI/NYALA lampu penerangan jalan, dll.... Pokonya semua hal yang terdiri dari 2 kondisi.

Nah, sekarang mari kita pikirkan apa yang kita diciptakan dengan sistem seperti diatas... Ngelamun dikit boleh kan?

Contoh 1:
Sang eksekutif muda kadang pulang jam 10 malem, kadang2 juga pulangnya sore hari, gak tentu pokonya mah. Kalo dia pulang malem, lampu taman belum dinyalakan, lampu teras belum dinyalakan, rumahnya jadi gelap gulita, sementara sang eksekutif muda hanya sendirian di rumahnya yang mewah...
Gimana caranya ya, saya pengen bisa nyalain lampu taman dan AC setengah jam sebelum pulang saat saya mau pulang dari kantor lewat SMS?
Solusi:
Beli GSM Modem, bikin rangkaian supaya lampu2 bisa dinyalakan sebagai pengganti LED (caranya dibahas pada posting lain), bikin software sederhana untuk membaca SMS dari GSM Modem dan mengirimkan perintah ke paralel port. Anda perlu memahami:
a. Komunikasi GSM Modem dengan PC memakai kabel data
b. AT Command untuk membaca SMS masuk dan mengirimkan SMS
c. Interfacing Power Electronics, yaitu desain antar muka antara PC dengan alat2 yang membutuhkan daya tinggi (AC/Lampu listrik, dll)
d. Pemrograman (Delphi, VB, dll...)

Contoh 2:
Intelligent Building System / Building Automation System adalah sistem kendali bangunan/gedung secara remote, pada dasarnya adalah sistem seperti ini, kita bisa menyalakan AC, mematikan Lampu yang tidak dibutuhkan, dan lain-lain hanya dengan mengklik pada komputer pengontrol dari pusat.

Artikel ini adalah pembahasan metoda agar sebuah PC dapat mengendalikan/mengontrol sesuatu. Artinya, PC memberikan OUTPUT. Kalo ada OUTPUT, biasanya ada INPUT kan? Nah, apa yang dimaksud dengan INPUT? Yaitu apabila PC/sistem menerima masukan dari luar untuk kemudian diproses. Contohnya:
1. Mengetahui adanya pintu yang terbuka
2. Mengetahui apakah tombol Bel ditekan
3. Mengetahui apakah Lampu menyala (Harap dibedakan dengan:Menyuruh lampu untuk menyala=OUTPUT)

Supaya PC bisa menerima INPUT, dibahas pada posting yang lain.



dikutip dari: awasnyetrum.blogspot.com/2008/08/dasarkontrol-onoff-memakai-pc

3 komentar:

  1. mas ada tutorial lengkapnya ngga yang Buat matiin dan nyalain lampu di rumah dari rancangan hardware sampai buat softwarenya. Terima Kasih

    BalasHapus
  2. slam kenl ya mas..

    saya ndo, mw tny bs g mas buat program lampu led hidup manual and otomatis pkai timer di delphi??
    ni buat tugas kuliah mas, tinggl 1 minggu lg wktuny...hehee..
    blas ya mas....please...
    kebuutt..

    thanks bfore...

    suhendro_86@yahoo.co.id

    BalasHapus
  3. Nonetheless, there are some essential factors that need considering before making any selection.
    The contacts are arranged in alphabetical order making it hassle-free going over the contact list.
    Where By By turf carp communities are perhaps taken all the way through selling such
    as a biocontrol needed for noxious pernicious weeds, they should be taken back within the water in and additionally unscathed.



    my weblog; LED Deckenleuchten

    BalasHapus