Anda di halaman 1dari 8

22

Analisa Diagram Blok

Aktivator

Sumber Tegangan 12V

INPUT PROSES
OUTPUT
Software IC ULN2803
Lampu 12V
Delphi Relay

Sumber Tegangan 12V

Berfungsi sebagai aktivator untuk menyalakan atau memfungsikan komponen yang ada
pada PCB.

Input

Pada proses ini user diminta untuk menginput dari software Delphi, di mana di software
Delphi ini digunakan untuk menyalakan atau mematikan lampu.

Proses

IC ULN2803 disini berfungsi sebagai pengendali relay, di mana switch mekanik pada
relay akan bergerak jika ada arus listrik yang mengalir melalui lilitan.

Output
Sarana untuk menampilkan hasil output yang telah diproses berupa nyala pada lampu.
23
IC ULN2803

IC ULN2803 merupakan IC Transistor Darlington dengan tegangan tinggi. ULN2803


menggunakan sinyal tegangan rendah (TTL) pada inputnya, dan mengatur sinyal
tegangan yang tinggi pada outputnya. Secara fisik ULN2803 berisi 8 Transistor NPN.
Fungsi dari pin-pin berikut :
Pin Input (1B, 2B, 3B, 4B, 5B, 6B, 7B, 8B) berfungsi untuk menerima input sinyal
tegangan rendah.

Pin Output (1C, 2C, 3C, 4C, 5C, 6C, 7C, 8C) berfungsi untuk mengeluarkan output
sinyal tegangan tinggi.

Pin COM (COM) berfungsi sebagai input tegangan positif untuk sinyal keluaran
tinggi.

Pin Ground (GND) befungsi untuk menghubungkan ke Ground.

Fungsi dari tiap-tiap register pada Port DB-25 :

Data Register, digunakan sebagai data bus dan bersifat sebegai port output.

Control Register, digunakan sebagai control handshaking dengan Printer dan bersifat
sebagai port input atau output.

Status Register, untuk mengetahui info status yang dikirim oleh Printer dan bersifat
sebagai port input.
24

Analisa Rangkaian Secara Detail

Kendali lampu melalui port paralel secara tidak langsung membutuhkan perpaduan
antara software (delphi7) dan juga hardware (rangkaian elektronika) yang dipadukan
hingga menjadi sebuah pengantarmuka dan pesawat peripheral. Adapun dari sisi
hardware menggunakan beberapa komponen untuk input dan output beserta konektor.
Komponen diantaranya adalah Integrated Ciruit ULN2803, port DB25, konektor DC,
relay, dioda, dan lampu. Input akan masuk melalui port DB25 pada pin 2,3,4, dan 5.
Kemudian arus mulai mengalir ke pin IC yang terhubung dengan pin port DB25 tadi (
pin 2 port DB25 ke pin 1 IC, pin 3 port DB 25 ke pin 2 IC, pin 4 port DB25 ke pin 3 IC,
dan pin 5 port DB25 ke pin 4 IC). Kemudian dari IC mengalir lagi ke tiap-tiap relay
(relay 1, relay 2, relay 3, relay 4) dan akan menyalakan tiap-tiap lampu yang terhubung
25
pada relay tersebut. Nyala lampu juga sesuai dengan keinginan user, lampu mana yang
ingin dinyalakan.
26

Flowchart

MULAI

TIDAK
Hubungkan
Alat Tidak Berfungsi
Catu Daya Alat
TIDAK

YA

Jalankan
Program

YA

YA YA
Button 1,3,5,7
NYALAKAN LAMPU HIDUP

TIDAK

YA YA
Button
MATIKAN LAMPU MATI

Button 9

YA

KELUAR

YA

SELESAI
27

Analisa Program

unit KL;

interface

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

function Out32(wAddr:word;bOut:byte):byte; stdcall;


external'inpout32.dll';
function Inp32(wAddr:word):byte; stdcall;
external 'inpout32.dll';

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Image1: TImage;
Btn1_aktif: TButton;
Btn1_non: TButton;
GroupBox2: TGroupBox;
Image2: TImage;
Btn2_aktif: TButton;
Btn2_non: TButton;
GroupBox3: TGroupBox;
Image3: TImage;
Btn3_aktif: TButton;
Btn3_non: TButton;
Btn_keluar: TButton;
procedure Btn1_aktifClick(Sender: TObject);
procedure Btn1_nonClick(Sender: TObject);
procedure Btn2_aktifClick(Sender: TObject);
procedure Btn2_nonClick(Sender: TObject);
procedure Btn3_aktifClick(Sender: TObject);
procedure Btn3_nonClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
data, baru: Byte;
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Btn1_aktifClick(Sender: TObject);


begin
28
data := Inp32($378);
baru := data OR $01;
Out32($378,baru);
Image1.Picture.LoadFromFile('on.jpg');
Btn1_aktif.Enabled := False;
Btn1_non.Enabled := True;
end;

procedure TForm1.Btn1_nonClick(Sender: TObject);


begin
data := Inp32($378);
baru := data OR $FE;
Out32($378,baru);
Image1.Picture.LoadFromFile('off.jpg');
Btn1_aktif.Enabled := True;
Btn1_non.Enabled := False;
end;

procedure TForm1.Btn2_aktifClick(Sender: TObject);


begin
data := Inp32($378);
baru := data OR $02;
Out32($378,baru);
Image2.Picture.LoadFromFile('on.jpg');
Btn2_aktif.Enabled := False;
Btn2_non.Enabled := True;
end;

procedure TForm1.Btn2_nonClick(Sender: TObject);


begin
data := Inp32($378);
baru := data OR $FD;
Out32($378,baru);
Image2.Picture.LoadFromFile('off.jpg');
Btn2_aktif.Enabled := True;
Btn2_non.Enabled := False;
end;

procedure TForm1.Btn3_aktifClick(Sender: TObject);


begin
data := Inp32($378);
baru := data OR $04;
Out32($378,baru);
Image3.Picture.LoadFromFile('on.jpg');
Btn3_aktif.Enabled := False;
Btn3_non.Enabled := True;
end;

procedure TForm1.Btn3_nonClick(Sender: TObject);


begin
data := Inp32($378);
baru := data OR $FB;
Out32($378,baru);
29
Image3.Picture.LoadFromFile('off.jpg');
Btn3_aktif.Enabled := True;
Btn3_non.Enabled := False;
end;

end.

A dan B merupakan nama dari variabel. Inp32 digunakan untuk mendeklarasikan


fungsi yang akan digunakan,kemudian memanggil fungsi tersebut untuk mengakses port
I/O. $378 ini digunakan sebagai alamat port I/0. Label 1 sampai dengan 4 =ON dimana
caption untuk menghidupkan lampu yang pada program.button enabled := True dan
False, berfungsi jika True button dapat ditekan dan jika bernilai false maka button tidak
dapat ditekan.

Cara Kerja Alat


Berikut merupakan tahapan untuk menjalankan alat kendali lampu melalui port paralel:
1. Hubungkan port paralel komputer dengan port DB25 yang ada di alat.
2. Nyalakan komputer, kemudian buka program yang telah dibuat dengan
menggunakan software Delphi 7.

3. Jika ingin menyalakan lampu hanya tinggal klik button Nyalakan dan jika
mematikan lampu klik button Matikan.
4. Tekan button Keluar untuk mengakhiri pemrograman.

Anda mungkin juga menyukai