Transcript
Page 1: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

FREE ALL OPEN SOURCE E BOOK INTERFACE PARALEL – SERIAL DELPHI

Taufik Adi Sanjaya

Website penulis : http://embeddedsystem.itstoshare.com/

Persembahan :

Kupersembahkan tulisan ini untuk :

Ayah dan Ibu tercinta, Sungkem Ananda Untuk mu

Bapak – Ibu Dosen Jurusan Pendidikan Teknik Elektro

Fakultas Teknik Universitas Negeri Yogyakarta, Many Thanks For All Knowledge

Kakak dan adik, (Cowok Semua)

Teman-teman seperjuangan, Jurusan Pendidikan Teknik Elektro UNY

Semua Pembaca Tulisan Ini ,

Dinda T*** I*h***ri*i, yang begitu banyak mengispirasi. (Allah Maha Lembut

dan Mencintai Kelembutan)

Lisensi Dokumen:Copyright © 2003-2007 IlmuKomputer.ComSeluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.

Page 2: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Kata Pengantar

Alhamdulillahi Robbil’alamin, Penulis mengucap syukur ke hadirat Allah SWT yang

telah memberikan kemudahan kepada Penulis untuk menyelesaikan tulisan ini, pada dasarnya

tulisan ini merupakan kumpulan pemrograman teknik interfacing port parallel dan port serial

dengan Delphi yang pernah penulis peroleh baik dari bangku kuliah maupun dari pengalaman

penulis di luar kuliah. Teknik interfacing yang ditulis pada tulisan ini adalah teknik termudah

yang pernah penulis pelajari selama belajar teknik interfacing port parallel dan port serial

dengan Delphi.

Tulisan ini ditujukan untuk programmer pemula dengan konsep tutorial step by step

dengan harapan akan mempermudah proses belajar. Teori penunjang diberikan secara ringkas

serta padat, diharapkan lebih mudah untuk difahami oleh pemula.

Penulis menyadari sepenuhnya bahwa pasti ada kekurangan dalam penulisan tulisan ini,

untuk itu penulis mengharapkan kritik dan saran yang membangun dari pembaca tulisan ini,

testimony dan sebagainya dapat dikirim ke e-mail [email protected]

Sekian sedikit kata pengantar dari penulis semoga tulisan ini mampu memberikan

manfaat kepada pembaca sekalian

Penulis

Taufik Adi Sanjaya

Page 3: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

PERSIAPAN AWAL

Software

Borland Delphi 7

Bascom AVR (Include CD Bundle)

Extreem Burner (Include CD Bundle)

Komponen SmallPort, komponen Comport (Include CD Bundle)

Hardware

Personal Computer dengan System Operasi Windows , Microsoft Windows 98, Microsoft

Widows 2000 dan Windows XP(disarankan XP SP 1,2,3) + minimal Procesor Intel Pentium 3,

harus ada Port Paralel /LPT/DB25 dan Port Serial/Com/DB 9

Rangkaian driver relay untuk control peralatan listrik 220 volt ( dapat di beli di

www.taufikadisanjaya.blogspot.com )

Sistem Minimum Mikrokontroller AT Mega 16 atau AT Mega 8535 + RS 232

Converter ( dapat di beli di www.taufikadisanjaya.blogspot.com )

Rangkaian sensor suhu ( dapat di beli di www.taufikadisanjaya.blogspot.com )

Downloader (disarankan USB Downloader) ( dapat di beli di

www.taufikadisanjaya.blogspot.com )

Page 4: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

BAGIAN I

PENGENALAN DELHI 7.0

Sekilas tentang Delphi 7.0

Borland Delphi sering disebut juga dengan Delphi. Delphi adalah sebuah perangkat

lunak (software) yang digunakan untuk membuat aplikasi berbasis antarmuka grafis di

lingkungan sistem operasi Microsoft Windows. Delphi dibuat oleh perusahaan Borland

Software Corporation. Delphi telah ada sejak 1993 dan versi yang saya gunakan dalam

pembuatan aplikasi di tulisan ini adalah Delphi versi 7.0 . Bahasa pemograman yang digunakan

Delphi adalah bahasa Pascal.

IDE Delphi 7

Integrated Development Environment (IDE) adalah area kerja yang dipergunakan untuk

membuat aplikasi mulai dari mendesain antarmuka atau tampilan, menulis source code program

(coding), menjalankan program (running), mendebug, mengkompilasi (compile), dan

menyebarluaskan aplikasi yang dibuat (deploy). Tampilan IDE Delphi adalah sebagai berikut:

Gambar. IDE Delphi 7

Menu Bar dan Tool Bar

Menu bar merupakan tempat menggulung (pull-down) menu – menu perintah. Sebuah

menu terdiri dari beberapa daftar perintah (menu command). Disebelah kiri masing – masing

perintah terdapat sebuah ikon yang menggambarkan fungsinya.

Page 5: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Tool Bar adalah sekumpulan tombol yang dapat digunakan untuk melakukan suatu

perintah. Fungsi Tool Bar sama dengan Menu Bar, namun keunggulannya adalah cepat diakses

untuk menjalankan perintah tertentu.

Gambar. Menu bar serta Tool Bar Delphi

Component Palette

Component Palette tempat kumpulan komponen Delphi Komponen Delphi dapat dibagi

menjadi dua jenis, yaitu komponen visual dan komponen non visual. Komponen visual adalah

kokmponen yang terlihat pada saat proses mendesain aplikasi maupun setelah aplikasi

dijalankan. Sebagai contoh komponen Button dari Componet Pallete Standard. Sedangkan

komponen non visual adalah komponen yang hanya terlihat pada saat proses mendesain

aplikasi, namun tidak dapat terlihat pada saat aplikasi dijalankan. Sebagai contoh komponen

Timer dari Componet Pallete System

Gambar. Component Pallete Delphi 7

Form Designer

Form Designer , lebih umum disebut dengan Form adalah tempat meletakkan

komponen – komponen yang diambil dari Component Palette saat men-desain antarmuka /

tampilan aplikasi. Secara umum ketika anda memulai menjalankan Delphi maka akan tampil

form secara otomatis seperti gambar berikut:

Page 6: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar . Form Designer

CodeEditor

Code Editor adalah tempat untuk menuliskan Source Code Aplikasi yang akan dibuat.

Secara default Code Editor membangkitkan beberapa baris yang dibuat Delphi secara otomatis.

Gambar. Code Editor

Object Inspector

Fungsi atau kegunaan Object Inspector adalah untuk mengubah nilai properti komponen

terpilih yang di dalam Form. Ada dua bagian utama pada Object Inspector, yaitu properties dan

event. Pada setiap bagian tersebut terdapat dua buah kolom. Kolom disebelah kiri pada tab

properties merupakan nama – nama properti dan kolom disebelah kanan adalah nilai – nilai

yang diisikan pada properties. Sedangkan pada tab event, Kolom disebelah kiri merupakan

nama – nama event dan kolom disebelah kanan adalah nilai – nilai yang diisikan event,

umumnya event terkait dengan kondisi dimana source code harus dijalankan, semisal event

Form Create berarti source code dijalankan ketika form dibuat.

Page 7: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Object Inspector (Tab Properties dan Tab Events)

Object TreeView

Object TreeView berfungsi untuk menampilkan daftar komponen yang digunakan pada

saat membuat aplikasi. Komponen – komponen ditampilkan dengan struktur pohon.

Gambar. Object Tree View

Komponen Delphi

Berikut ini adalah beberapa komponen yang sering digunakan saat pembuatan aplikasi dari

Component Pallete Standard:

Tabel. Beberapa komponen dari Component Pallete Standard

Page 8: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Component Pallete Standard

Ikon Nama Keterangan

Frames

Membuka sebuah dialog

box yang menampilkan

daftar frames yang

disertakan pada proyek.

Label Menampilkan teks yang

tidak dapat diubah oleh user

Edit Menampilkan sebaris teks

yang dapat diisi oleh user

Memo

Menampilkan sebuah area

pengeditan dimana user

dapat memasukkan atau

memodifikasi beberapa

baris teks didalamnya

Button Untuk membuat tombol

tekan yang akan diisi

dengan suatu aksi tertentu

Listbox Menampilkan daftar pilihan

yang dapat digulung (scroll)

Scrollbar

Dapat digunakan untuk

meluaskan area pandang di

form

RadiogroupDigunakan untuk membuat

sekelompok radio-button

File-file Delphi

Sebuah proyek Delphi akan terdiri dari berberapa file. Beberapa file berfungsi untuk

menyimpan source code program dan ada file lain yang menyimpan kode binari, gambar dan

sebagainya. Karena setiap aplikasi terdiri dari beberapa file. Sangat disarankan agar menyimpan

sebuah aplikasi pada sebuah folder agar ketika akan dilakukan perubahan terhadap aplikasi

Page 9: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

tersebut di computer lain, semua file yang ada tersedia dalam satu buah folder.

Berbagai jenis file yang dibuat saat membangun aplikasi menggunakan Ddelphi adalah

sebagai berikut :

Tabel.beberapa file dalam membangun aplikasi dengan Delphi

Ekstensi File Keterangan

.dpr File-file proyek

.dfm File-file form

.pas File-file unit

.dpk File-file paket

.res File-file Resource

.cfg File-file konfigurasi proyek

.dof File-file pilihan proyek

.dcu File unit yang terkompilasi

.exe File yang dapat eksekusi

.dsk Pengaturan desktop

.~* File-file cadangan (backup)misal .~pas

.~dpr

Tulisan ini tidak membahas secara terperinci mengenai Delphi, namun lebih ke arah

Tutorial step by step pembuatan Aplikasi untuk pengaksesan Port Paralel dan Serial pada

Komputer (PC) dengan menggunakan Delphi. Proses pengaksesan Port Paralel dilakukan

dengan komponen SmallPort, komponen ini merupakan tambahan yang harus di Install terlebih

dahulu, sedangkan pengaksesan Port Paralel dilakukan dengan komponen ComPort, komponen

ini juga merupakan tambahan (bukan bawaan Delphi).

Page 10: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

BAGIAN II

PEMROGRAMAN PORT PARALEL

DENGAN DELPHI7.0

Port Paralel

Penggunaan utama Port paralel / LPT adalah untuk menghubungkan printer ke

komputer dan dirancang khusus untuk tujuan ini. Sehingga sering juga disebut port printer .

Konektor port paralel pada PC adalah DB25.

Port Paralel / Port LPT meskipun sudah banyak ditinggalkan penggunaanya, masih

dipergunakan oleh sebagian kalangan yang ingin mempelajari transmisi data secara parallel.

Kalangan akademis (pelajar dan mahasiswa) masih mempelajari komunikasi data parallel

sebagai saranaemanambah ilmu pengetahuan.

Standar IEEE 1284 (1994) mendefinisikan lima mode transfer data untuk paralel port,

yakni:

1) Compatibility Mode

2) Nibble Mode

3) Byte Mode

4) EPP

5) ECP

Standar pin-pin dari perangkat keras untuk konektor DB25 adalah sebagai berikut.

Gambar. Port Paralel / DB 25

Berikut ini adalah tabel penjelasan mengenaipin-pin pada konektor parallel port DB 25.

Tabel1. Nama pin dari konektor parallel port DB 25.

Page 11: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Untuk lebih jelasnya setiap sinyal pada parallel Port dapat dijabarkan sebagai berikut :

Strobe/Stb:

Sinyal Strobe merupakan fungsi sinyal input pada printer. Saluran ini diaktifkan

komputer jika ia akan meneruskan data ke printer.

Data 0 sampai data 7 :

Sinyal data merupakan sinyal input pada printer. Sinyal data disinkronkan

(diserempakkan) oleh pulsa strobe.

Acknowledge/Ack :

No.

Pin

Nama Sinyal Direction Register Komple-

men

1 Strobe Out Control bit 0 Ya

2 Data 0 In/Out Data bit 0 Tidak

3 Data 1 In/Out Data bit 1 Tidak

4 Data 2 In/Out Data bit 2 Tidak

5 Data 3 In/Out Data bit 3 Tidak

6 Data 4 In/Out Data bit 4 Tidak

7 Data 5 In/Out Data bit 5 Tidak

8 Data 6 In/Out Data bit 6 Tidak

9 Data 7 In/Out Data bit 7 Tidak

10 Ack In Status bit 6 Tidak

11 Busy In Status bit 7 Ya

12 Paper

Out/Paper End

In Status bit 5 Tidak

13 Select In Status bit 4 Tidak

14 Auto-Linefeed Out Control bit 1 Ya

15 Error/Fault In Status bit 3 Tidak

16 Initialize Out Control bit 2 Tidak

17 Select-

Printer/Select-

in

Out Control bit 3 Ya

18-

25

Ground Gnd - -

Page 12: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Sinyal ack merupakan sinyal output dari printer, Jika printer telah mengolah data

yang diterimanya, maka dalam waktu max 30 mikrodetik ia memberikan sinyal jabat tangan

(handshake) ini. Dalam bahasa Indonesia kata Acknowledge berarti “menyatakan telah

diterima”.

Busy :

Sinyal busy merupakan sinyal output dari printer. Ketika printer menerima data atau

mencetak sinyal ini diaktifkan. Demikian pula jika ada gangguan atau dalam status off line.

Paper End/PE :

Sinyal paper end merupakan sinyal output dari printer. Sinyal ini akan terus aktif

sampai kertas baru dipasang lagi.

Select/Slt :

Sinyal select merupakan sinyal output dari printer. Dengan sinyal ini printer

memberitahu bahwa ia sudah terpilih dan dalam keadaan aktif.

Auto Feed :

Jika sinyal ini diaktifkan, printer pada akhir setiap baris akan pindah ke baris

selanjutnya secara otomatis.

Error

Keluaran ini aktif jika ada gangguan atau printer tidak tersambung atau tidak

menyala

Reset

Dengan saluran ini printer kembali ke keadaan awal

Input Select

Pemilihan printer sebagai piranti DTE (Data Terminal Equipment) berlangsung

pada saluran sinyal ini.

Alamat-alamat register pada Port Paralel

Alamat untuk masing-masing register dalam Port Paralel LPT 1 adalah sbb.

Tabel . Alamat register port paralel.

Register LPT1

data register(base address + 0) $378

status register(base address + 1) $379

control register(base address + 2) $37A

Page 13: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Small Port

Komponen Smallport pada Delphi 7.0 berfungsi sebagai komponen untuk menulis serta

membaca data pada port parallel pada PC. Biasanya pemanfaatan pembacaan data pada port

parallel adalah sebagai sarana untuk melakukan interfacing dengan peralatan diluar PC yang

dikoneksikan ke PC melalui Port Paralel. Komponen ini dibuat oleh Alexander Weitzman yang

bisa dihubungi melalui alamat email [email protected].

Langkah – langkah Instalasi Komponen Small Port adalah sebagai berikut :

1. Buka Delphi

2. Extract file smallport14.zip yang telah didownload

Gambar. ekstraksi file smallport14.zip

3. Buka folder smallport14 (hasil ekstraksi), lalu copy file smallport.vxd dan smport.sys

lanjut ke langkah 4.

Gambar . copy file smallport.vxd dan smport.sys

Page 14: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

4. PASTIKAN : paste kan file smallport.vxd dan smport.sys ke directory

C:\WINDOWS\system32\drivers

Gambar. Paste file smallport.vxd dan smport.sys

5. Buka Delphi 7, start Borland Delphi7.0 Delphi7.0 sehingga tampilan di monitor

menjadi sebagai berikut:

Gambar . tampilan IDE Delphi 7.

6. Menuju langkah penting dalam proses instalasi

7. PENTING : copykan folder hasil extraksi (folder smport14) ke C:\Program

Files\Borland\Delphi7\Lib

Page 15: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar . Paste folder smallport14

8. Kembali ke Delphi, open page tool environtment option klik pada page library

Gambar . Menuju source path smallport14

9. Arahkan browsing path ke

Page 16: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar . mengarahkan browsing path

10. Setelah tombol kik di sini pada gambar di atas klik, akan muncul otak dialog directories

sebagai berikut:

Gambar . kotak dialog directories

11. Pada gambar diatas, lik pada tombol yang dilingkari merah, selanjutnya arahkan ke

directory C:\Program Files\Borland\Delphi7\Lib\smport14 lalu klik OK, gambarnya

sebagai berikut :

Page 17: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar . Mengarahkan directory smallport 14.

12. Buka page Component Instal component :

Gambar. Page Component

Akan muncul sebagai berikut :

Gambar. Kotak dialog install component

13. Pada gambar di atas, klik tombol browse di sebelah Unit file name

Page 18: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar 12. kotak dialog unit file name

14. Pada gambar di atas, buka folder smport 14 lalu double klik pada Smallport.pas

Gambar. memilih smallport.pas

15. Akan muncul kotak dialog seperti di bawah ini, selanjutnya klik OK

Gambar 14. Menginstall komponen smallport

16. Akan muncul kotak dialog sebagai berikut :

Page 19: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. kotak dialog konformasi instalasi komponen smallport

17. Jika komponen smallport berhasil di install, maka akan muncul kotak informasi sebagai

berikut :

Gambar. kotak informasi suksesnya proses instalasi

18. Selajutnya silakan buka component pallete System , anda akan mendapati sebuah

komponen bernama Small Port telah terinstall pada komponen pallete tersebut :

Gambar. Komponen Smallport Pada Component Pallete System

Aplikasi pengubah data Biner (8bit) ke Decimal dan Hexa Decimal

Aplikasi ini berguna untuk mengubah data biner 8 bit ke dalam bentuk lain yakni

decimal dan hexadecimal, Aplikasi ini dipergunakan untuk mempermudah konversi bilangan

biner untuk ditulis (write) ke Port parallel yang tidak memungkinkan untuk menulis data dalam

format tipe bit, data yang dapat di tulis ke Port Paralel adalah data bertipe Byte,Word, serta

DWord.

Untuk dapat membuat Aplikasi Konverter bilangan Biner ke decimal dan hexa decimal,

masukkan komponen di dalam tabel berikut ini ke dalam Form1:

Tabel . Daftar komponen Aplikasi Konverter bilangan Biner ke decimal dan hexa decimal

No Komponen Properti Nilai

Form1 Caption BINER TO DEC

Page 20: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

AND HEXA

GroupBox1 Caption BINER

GroupBox1 Caption Hexa + Decimal

Label1 Caption D0

Label2 Caption D1

Label3 Caption D2

Label4 Caption D3

Label5 Caption D4

Label6 Caption D5

Label7 Caption D6

Label8 Caption D7

Label9 Caption Hexa

Label10 Caption Decimal

Edit1 Text 1

Edit2 Text 1

Edit3 Text 1

Edit4 Text 1

Edit5 Text 1

Edit6 Text 1

Edit7 Text 1

Edit8 Text 1

Page 21: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Setelah itu susun tampilan menjadi :

Gambar. Desain Tampilan Aplikasi Konverter bilangan Biner ke decimal dan hexa decimal

Setelah selesai penyusunan desain tampilan Aplikasi Konverter bilangan Biner ke

decimal dan hexa decimal, deklarasikan sebuah variable global dengan nama value dengan tipe

integer sebagai mana gambar di bawah ini :

Edit9 Text Kosongkan

Edit10 Text Kosongkan

Button1 Caption Low

Button2 Caption Low

Button3 Caption Low

Button4 Caption Low

Button5 Caption Low

Button6 Caption Low

Button7 Caption Low

Button8 Caption Low

Button9 Caption CONVERT HEXA

Button10 Caption CONVERT DEC

Page 22: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar . Deklarasi variable Global.

Ketikkan Source Code sesuai dengan tabel di bawah ini:

Tabel. Source Code Aplikasi Konverter bilangan Biner ke decimal dan hexa decimal

Nama

Komponen

Event SOURCE CODE

Button1 OnClick value:=strtoint(edit1.Text);

if value = 1 then

begin

value:=0;

button1.Caption:='High';

edit1.Text:=inttostr(value);

end

else

if value = 0 then

begin

value:=1;

edit1.Text:=inttostr(value);

button1.Caption:='Low';

end;

Button2 OnClick value:=strtoint(edit2.Text);

if value = 1 then

begin

value:=0;

button2.Caption:='High';

edit2.Text:=inttostr(value);

end

else

if value = 0 then

begin

value:=1;

edit2.Text:=inttostr(value);

Page 23: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

button2.Caption:='Low';

end;

Button3 OnClick value:=strtoint(edit3.Text);

if value = 1 then

begin

value:=0;

button3.Caption:='High';

edit3.Text:=inttostr(value);

end

else

if value = 0 then

begin

value:=1;

edit3.Text:=inttostr(value);

button3.Caption:='Low';

end;

Button4 OnClick value:=strtoint(edit4.Text);

if value = 1 then

begin

value:=0;

button4.Caption:='High';

edit4.Text:=inttostr(value);

end

else

if value = 0 then

begin

value:=1;

edit4.Text:=inttostr(value);

button4.Caption:='Low';

end;

Button5 OnClick value:=strtoint(edit5.Text);

if value = 1 then

begin

value:=0;

Page 24: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

button5.Caption:='High';

edit5.Text:=inttostr(value);

end

else

if value = 0 then

begin

value:=1;

edit5.Text:=inttostr(value);

button5.Caption:='Low';

end;

Button6 OnClick value:=strtoint(edit6.Text);

if value = 1 then

begin

value:=0;

button6.Caption:='High';

edit6.Text:=inttostr(value);

end

else

if value = 0 then

begin

value:=1;

edit6.Text:=inttostr(value);

button6.Caption:='Low';

end;

Button7 OnClick value:=strtoint(edit7.Text);

if value = 1 then

begin

value:=0;

button7.Caption:='High';

edit7.Text:=inttostr(value);

end

else

if value = 0 then

begin

Page 25: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

value:=1;

edit7.Text:=inttostr(value);

button7.Caption:='Low';

end;

Button8 OnClick value:=strtoint(edit8.Text);

if value = 1 then

begin

value:=0;

button8.Caption:='High';

edit8.Text:=inttostr(value);

end

else

if value = 0 then

begin

value:=1;

edit8.Text:=inttostr(value);

button8.Caption:='Low';

end;

Button9 OnClick var

bit1,bit2,bit3,bit4,bit5,bit6,bit7,bit8,d

ec1,dec2,dec3,dec4,dec5,dec6,dec7,d

ec8,dec_tot:integer;

begin

bit1:= strtoint(Edit1.text);

if bit1=0 then dec1:=0 else

dec1:=1;

bit2:= strtoint(Edit2.text);

if bit2=0 then dec2:=0 else dec2:=2;

bit3:= strtoint(Edit3.text);

if bit3=0 then dec3:=0 else

dec3:=4;

bit4:= strtoint(Edit4.text);

if bit4=0 then dec4:=0 else

dec4:=8;

Page 26: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

bit5:= strtoint(Edit5.text);

if bit5=0 then dec5:=0 else

dec5:=16;

bit6:= strtoint(Edit6.text);

if bit6=0 then dec6:=0 else

dec6:=32;

bit7:= strtoint(Edit7.text);

if bit7=0 then dec7:=0 else

dec7:=64;

bit8:= strtoint(Edit8.text);

if bit8=0 then dec8:=0 else

dec8:=128;

dec_tot:=dec1+dec2+dec3+dec4+dec

5+dec6+dec7+dec8;

edit10.Text:=inttostr(dec_tot);

Button10 OnClick var str1,str2,hexa : string;

begin

str1 :=Edit4.Text + Edit3.Text +

Edit2.Text + Edit1.Text;

if (str1 = '0000')then hexa :='0';

if (str1 = '0001')then hexa :='1';

if (str1 = '0010')then hexa :='2';

if (str1 = '0011')then hexa :='3';

if (str1 = '0100')then hexa :='4';

if (str1 = '0101')then hexa :='5';

if (str1 = '0110')then hexa :='6';

if (str1 = '0111')then hexa :='7';

if (str1 = '1000')then hexa :='8';

if (str1 = '1001')then hexa :='9';

if (str1 = '1010')then hexa :='A';

if (str1 = '1011')then hexa :='B';

if (str1 = '1100')then hexa :='C';

Page 27: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

if (str1 = '1101')then hexa :='D';

if (str1 = '1110')then hexa :='E';

if (str1 = '1111')then hexa :='F';

str2 := Edit8.Text + Edit7.Text +

Edit6.Text + Edit5.Text ;

if (str2 = '0000')then hexa

:='0'+hexa;

if (str2 = '0001')then hexa

:='1'+hexa;

if (str2 = '0010')then hexa

:='2'+hexa;

if (str2 = '0011')then hexa

:='3'+hexa;

if (str2 = '0100')then hexa

:='4'+hexa;

if (str2 = '0101')then hexa

:='5'+hexa;

if (str2 = '0110')then hexa

:='6'+hexa;

if (str2 = '0111')then hexa

:='7'+hexa;

if (str2 = '1000')then hexa

:='8'+hexa;

if (str2 = '1001')then hexa

:='9'+hexa;

if (str2 = '1010')then hexa

:='A'+hexa;

if (str2 = '1011')then hexa

:='B'+hexa;

if (str2 = '1100')then hexa

:='C'+hexa;

if (str2 = '1101')then hexa

:='D'+hexa;

if (str2 = '1110')then hexa

Page 28: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Setelah itu lakukan eksekusi/run, berikut ini adalah tampilan pengujian Aplikasi

Konverter bilangan Biner ke decimal dan hexa decimal yang dibuat:

Gambar. Konversi biner ke Hexa decimal

Gambar. Konversi biner ke decimal

Membuat Aplikasi untuk mengakses Port Paralel Delphi (Pada Port Data (Pin D2-D9) /

378 )

1. Buka Delphi 7.0

2. Masukkan komponen sebagai berikut:

:='E'+hexa;

if (str2 = '1111')then hexa

:='F'+hexa;

Edit9.text :=hexa;

end;

Page 29: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

No Komponen Properti Nilai

1 Shape1 Name ShpLED1

Shape stCircle

Height 41

Width 41

Brush Color clWhite

Brush Style bsSolid

2 Shape2 Name ShpLED2

Shape stCircle

Height 41

Width 41

Brush Color clWhite

Brush Style bsSolid

3 Shape3 Name ShpLED3

Shape stCircle

Height 41

Width 41

Brush Color clWhite

Brush Style bsSolid

4 Shape4 Name ShpLED4

Shape stCircle

Page 30: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Height 41

Width 41

Brush Color clWhite

Brush Style bsSolid

5 Shape5 Name ShpLED5

Shape stCircle

Height 41

Width 41

Brush Color clWhite

Brush Style bsSolid

6 Shape6 Name ShpLED6

Shape stCircle

Height 41

Width 41

Brush Color clWhite

Brush Style bsSolid

7 Shape7 Name ShpLED7

Shape stCircle

Height 41

Width 41

Brush Color clWhite

Page 31: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Brush Style bsSolid

8 Shape8 Name ShpLED8

Shape stCircle

Height 41

Width 41

Brush Color clWhite

Brush Style bsSolid

9 EditText1 Name EdLED1

Text Kosongkan

10 EditText2 Name EdLED2

Text Kosongkan

11 EditText3 Name EdLED3

Text Kosongkan

12 EditText4 Name EdLED4

Text Kosongkan

13 EditText5 Name EdLED5

Text Kosongkan

14 EditText6 Name EdLED6

Text Kosongkan

15 EditText7 Name EdLED7

Text Kosongkan

Page 32: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

16 EditText8 Name EdLED8

Text Kosongkan

17 Button1 Name BtnNyalaLED1

Caption NyalakanLED1

18 Button2 Name BtnNyalaLED2

Caption NyalakanLED2

19 Button3 Name BtnNyalaLED3

Caption NyalakanLED3

20 Button4 Name BtnNyalaLED4

Caption NyalakanLED4

21 Button5 Name BtnNyalaLED5

Caption NyalakanLED5

22 Button6 Name BtnNyalaLED6

Caption NyalakanLED6

23 Button7 Name BtnNyalaLED7

Caption NyalakanLED7

24 Button8 Name BtnNyalaLED8

Caption NyalakanLED8

25 Button9 Name BtnMatiLED1

Caption MatikanLED1

26 Button10 Name BtnMatiLED2

Page 33: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Caption MatikanLED2

27 Button11 Name BtnMatiLED3

Caption MatikanLED3

28 Button12 Name BtnMatiLED4

Caption MatikanLED4

29 Button13 Name BtnMatiLED5

Caption MatikanLED5

30 Button14 Name BtnMatiLED6

Caption MatikanLED6

31 Button15 Name BtnMatiLED7

Caption MatikanLED7

32 Button16 Name BtnMatiLED8

Caption MatikanLED8

33 Button17 Name BtnOpenPort

Caption Open Port

34 Button18 Name BtnClosePort

Caption CloseProgram

35 SmallPort1 Name SmPort1

Di dalam monitor diperoleh tampilan sebagai berikut pada :

Page 34: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar 1. Tampilan Aplikasi yang akan dibuat

Sebelum membuat listing Aplikasi(source code) kita tentukan dahulu 2 buah variable

yang akan dipergunakan yaitu data dan baru, dengan pengertian sebagai berikut:

data adalah nilai yang akan dibaca dari port parallel berupa data 8 bit (1byte)

baru adalah nilai yang akan ditulis ke port parallel setelah dilakukan

“modifikasi” dengan logika and atau or untuk melakukan penge-set-an bit atau

peng-clear-an bit data yang ditulis berupa data 8 bit (1byte)

Penulisan penentuan variable ini dilakukan di bawah tulisan

var

Form1: TForm1;

Hasinya adalah sebagai berikut:

Gambar . Pendeklarasian variabel

Page 35: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

NB :

Set Bit dapat dilakukan dengan mengoperasikan logika OR kepada data masuk dengan logika

bernilai 1

Sebagai contoh

Data = 11111110 diperasikan dengan logika OR terhadap data 11111110 , maka

Menjadi 11111110 OR 11111111 hasilnya 1111 1111

Haslinya terjadi Set Bit terhadap data terakhir.

Clear Bit dapat dilakukan dengan mengoperasikan logika AND kepada data masuk dengan

logika bernilai 0

Sebagai contoh

Data = 11111111 diperasikan dengan logika AND , terhadap data 1111 1110 maka

Menjadi 11111111 or 11111110 hasilnya 11111110

Haslinya terjadi Clear Bit terhadap data terakhir

Pada pembahasan di atas, setiap data masih ditampilkan dalam bentuk biner (0 dan 1),

pada penulisan Source Code, nantinya data harus di konversi terlebih dahulu ke dalam Format

Hexadecimal,atau desimal jika anda belum memahami cara konversi data biner ke data decimal,

silakan buka aplikasi yang ada pada CD bundle pada Folder Konversi Data Biner ke Hexa

Selanjutnya Proses membuat source code program secara menyeluruh agar Aplikasi

dapat digunakan.:

Ketikkan Source code di bawah ini sesuai dengan masing –masing komponen yang

dimaksud:

Tabel . Source Code Aplikasi Akses Port Paralel

NO. NAMA

KOMPONEN

SOURCE CODE

1 BtnMatiLED1 data := SmPort1.ReadByte($378);

baru := data AND 254;

SmPort1.WriteByte($378,baru);

ShpLED1.Brush.Color := clBlack;

EdLED1.Text:='OFF';

2 BtnMatiLED2 data := SmPort1.ReadByte($378);

baru := data AND 253;

SmPort1.WriteByte($378,baru);

ShpLED2.Brush.Color := clBlack;

Page 36: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

EdLED2.Text:='OFF';

3 BtnMatiLED3 data := SmPort1.ReadByte($378);

baru := data AND 251;

smport1.WriteByte($378,baru);

ShpLED3.Brush.Color := clBlack;

EdLED3.Text:='OFF';

4 BtnMatiLED4 data := SmPort1.ReadByte($378);

baru := data AND 247 ;

SmPort1.WriteByte($378,baru);

ShpLED4.Brush.Color := clBlack;

EdLED4.Text:='OFF';

5 BtnMatiLED5 data := SmPort1.ReadByte($378);

baru := data AND 239;

SmPort1.WriteByte($378,baru);

ShpLED5.Brush.Color := clBlack;

EdLED5.Text:='OFF';

6 BtnMatiLED6 data := SmPort1.ReadByte($378);

baru := data AND 223 ;

SmPort1.WriteByte($378,baru);

ShpLED6.Brush.Color := clBlack;

EdLED6.Text:='OFF';

7 BtnMatiLED7 data := SmPort1.ReadByte($378);

baru := data AND 191;

SmPort1.WriteByte($378,baru);

ShpLED7.Brush.Color := clBlack;

EdLED7.Text:='OFF';

8 BtnMatiLED8 data :=SmPort1.ReadByte($378);

baru := data AND 127;

SmPort1.WriteByte($378,baru);

ShpLED8.Brush.Color := clBlack;

EdLED8.Text:='OFF';

9 BtnNyalaLED1 data := SmPort1.ReadByte($378);

baru := data or 1;

Page 37: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

SmPort1.WriteByte($378,baru);

ShpLED1.Brush.Color := clRED;

edLED1.Text:='ON';

10 BtnNyalaLED2 data := SmPort1.ReadByte($378);

baru := data or 2;

SmPort1.WriteByte($378,baru);

ShpLED2.Brush.Color := clRED;

edLED2.Text:='ON';

11 BtnNyalaLED3 data := SmPort1.ReadByte($378);

baru := data or 4;

SmPort1.WriteByte($378,baru);

ShpLED3.Brush.Color := clRED;

edLED3.Text:='ON';

12 BtnNyalaLED4 data := SmPort1.ReadByte($378);

baru := data or 8;

SmPort1.WriteByte($378,baru);

ShpLED4.Brush.Color := clRED;

edLED4.Text:='ON';

13 BtnNyalaLED5 data := SmPort1.ReadByte($378);

baru := data or 16;

SmPort1.WriteByte($378,baru);

ShpLED5.Brush.Color := clRED;

edLED5.Text:='ON'

14 BtnNyalaLED6 data := SmPort1.ReadByte($378);

baru := data or 32;

SmPort1.WriteByte($378,baru);

ShpLED6.Brush.Color := clRED;

edLED6.Text:='ON';

15 BtnNyalaLED7 data := SmPort1.ReadByte($378);

baru := data or 64;

SmPort1.WriteByte($378,baru);

ShpLED7.Brush.Color := clRED;

edLED7.Text:='ON';

Page 38: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

16 BtnNyalaLED8 data := SmPort1.ReadByte($378);

baru := data or 128;

SmPort1.WriteByte($378,baru);

ShpLED8.Brush.Color := clRED;

edLED8.Text:='ON';

17 BtnOpenPort SmPort1.Opened:=true;

18 BtnCloseProgram Close;

Hasil eksekusi Aplikasinya adalah sebagai berikut:

Gambar 3. Hasil eksekusi Aplikasi

Prototype Traffic Light pada Pertigaan Jalan dengan Delphi 7

Prototype ini adalah contoh pemrograman Delphi untuk mengendalikan Traffic light

pada perempatan jalan, contoh program pada awalnya tidak di interface kan ke Paralel Port atau

pun, hanya internal Delphi tanpa menggunakan hardware apapun. Pada pengembangan

selanjutnya Program yang dibuat dapat di interface kan ke miniatur Traffic Light dengan Light

Emiting Dioda (LED), baik melalui port parallel PC. Program dibuat sederhana dengan 1 buah

Form, Timer, serta 9 buah buah Shape, dilengkapi dengan sebuah tombol Start untuk Memulai

menjalankan Aplikasi, berikut ini adalah tampilan Programnya:

Untuk dapat membuat aplikasi tersebut, masukkan komponen-komponen sebagai mana tabel di

bawah ini :

Page 39: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Tabel. Komponen dalam pembuatan Prototype Traffic Light pada Pertigaan Jalan

No Komponen Properti Nilai

1 Shape1 Name Red1

Shape stCircle

2 Shape2 Name Yellow1

Shape stCircle

3 Shape3 Name Green1

Shape stCircle

4 Shape4 Name Red2

Shape stCircle

5 Shape5 Name Yellow2

Shape stCircle

6 Shape6 Name Green2

Shape stCircle

7 Shape7 Name Red3

Shape stCircle

8 Shape8 Name Yellow3

Shape stCircle

9 Shape9 Name Green3

Shape stCircle

10 Label1 Name R1

Page 40: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Susunlah komponen yang ada pada tabel di atas sehingga menjadi sebagai berikut :

Caption R1

11 Label2 Name Y1

Caption Y1

12 Label3 Name G1

Caption G1

13 Label4 Name R2

Caption R2

14 Label5 Name Y2

Caption Y2

15 Label6 Name G2

Caption G2

16 Label7 Name R3

Caption R3

17 Label8 Name Y3

Caption Y3

18 Label9 Name G3

Caption G3

19 Button1 Caption START

20 Timer1 - -

Page 41: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar1.Desain Tampilan Program Traffic Light Prototype pada pertigaan jalan dengan Delphi

Berikut ini adalah table logika nyala LED pada Prototype Traffic Light dengan Delphi

(pertigaan jalan ) yang dibuat:

Tabel. Logika nyala LED pada Prototype Traffic Light pertigaan jalan

No. R1 R2 R3 Y1 Y2 Y3 G1 G2 G3 TIME

1 1 0 1 0 0 0 0 1 0 5s

2 1 0 1 0 1 1 0 0 0 2s

3 1 1 0 0 0 0 0 0 1 5s

4 1 1 0 1 0 1 0 0 0 2s

5 0 1 1 0 0 0 1 0 1 5s

6 0 1 1 1 1 0 0 0 0 2s

Ket: R1: Red1

R2: Red2

R3: Red3

Y1:Yellow1

Y2:Yellow2

Y3:Yellow3

G1:Green1

G2:Green2

G3:Green3

0 = OFF

1 = ON

Page 42: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Dari tabel di atas dapat dibuat listing source code program untuk membuat tampilan

ProgramTraffic Light Prototype pada pertigaan jalan dengan Delphi, namun sebelum penulisan

program diperlukan sebuah variable global untuk mengatur berjalannya waktu pada timer,

variable ini diberi nama secon dengan type data berupa data integer, tuliskan pendeklarasian

variable tersebut di bawah var, di atas implementation pada unit1.pas sehingga menjadi seperti

gambar di bawah ini:

Source code-nya dapat dilihat pada tabel di bawah ini

Tabel. Source code Prototype Traffic Light pada Pertigaan Jalan

No Komponen Event SOURCE CODE

1 Button1 OnClik secon:=0;

timer1.Enabled:=true;

timer1.Interval:=1000;

2 Timer1 OnTimer secon:=secon+1;

if second<=5 then

begin

Red1.Brush.Color:=clRed;

Red2.Brush.Color:=clBlack;

Red3.Brush.Color:=clRed;

Yellow1.Brush.Color:=clBlack;

Yellow2.Brush.Color:=clBlack;

Yellow3.Brush.Color:=clBlack;

Green1.Brush.Color:=clBlack;

Green2.Brush.Color:=clLime;

Green3.Brush.Color:=clBlack;

End;

Page 43: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

if secon>5 then

begin

Red1.Brush.Color:=clRed;

Red2.Brush.Color:=clBlack;

Red3.Brush.Color:=clRed;

Yellow1.Brush.Color:=clBlack;

Yellow2.Brush.Color:=clYellow;

Yellow3.Brush.Color:=clYellow;

Green1.Brush.Color:=clBlack;

Green2.Brush.Color:=clBlack;

Green3.Brush.Color:=clBlack;

end;

if secon > 7 then

begin

Red1.Brush.Color:=clRed;

Red2.Brush.Color:=clRed;

Red3.Brush.Color:=clBlack;

Yellow1.Brush.Color:=clBlack;

Yellow2.Brush.Color:=clBlack;

Yellow3.Brush.Color:=clBlack;

Green1.Brush.Color:=clBlack;

Green2.Brush.Color:=clBlack;

Green3.Brush.Color:=clLime;

end;

if secon > 12 then

begin

Red1.Brush.Color:=clRed;

Red2.Brush.Color:=clRed;

Red3.Brush.Color:=clBlack;

Yellow1.Brush.Color:=clYellow;

Yellow2.Brush.Color:=clBlack;

Yellow3.Brush.Color:=clYellow;

Page 44: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Green1.Brush.Color:=clBlack;

Green2.Brush.Color:=clBlack;

Green3.Brush.Color:=clBlack;

end;

if secon > 14 then

begin

Red1.Brush.Color:=clBlack;

Red2.Brush.Color:=clRed;

Red3.Brush.Color:=clRed;

Yellow1.Brush.Color:=clBlack;

Yellow2.Brush.Color:=clBlack;

Yellow3.Brush.Color:=clBlack;

Green1.Brush.Color:=clLime;

Green2.Brush.Color:=clBlack;

Green3.Brush.Color:=clBlack;

end;

if secon>19 then

begin

Red1.Brush.Color:=clBlack;

Red2.Brush.Color:=clRed;

Red3.Brush.Color:=clRed;

Yellow1.Brush.Color:=clYellow;

Yellow2.Brush.Color:=clYellow;

Yellow3.Brush.Color:=clBlack;

Green1.Brush.Color:=clBlack;

Green2.Brush.Color:=clBlack;

Green3.Brush.Color:=clBlack;

end;

if secon = 21 then

begin

secon :=0;

Page 45: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Langkah berikutnya adalah langkah Interfacing dengan Port Paralel terhadap LED yang

dipergunakan sebagai Prototype Traffic Light pada pertigaan, namun sebelumnya perlu

dilalukan konversi data yang akan dikirim ke Port Paralel (LPT), dimana Pin nomer 2-9 mampu

melayani 8 buah LED, dalam hal ini sekalian ditentukan bahwa LED

R1,R2,R2,Y1,Y2,Y3,G1,G2 dilayani oleh Pin nomer 2-9 (port data). Sisanya yaitu G3 dilayani

oleh Pin nomer 16 Port Parallel (pin control bit 2 pada port control). Hal ini dilakukan karena

pin pada port control tersebut memiliki direction keluar / out dan logika yang tidak

komplemen/sungsang sehingga dapat dipergunakan untuk melakukan aktivasi peralatan di luar

PC dengan mudah tanpa harus memikirkan kondisi sinyal yang terbalik. Alamat Register Port

Cotrol pada Port LPT1 adalah 37A (base address + 2 ).

Port Status hanya memiliki direction masuk / in sehingga tidak dapat dipergunakan

sebagai pengontrol (dalam hal ini pengaktif peralatan di luar PC), dan hanya dapat digunakan

untuk membaca kondisi sinyal yang ada pada port tersebut.

Setelah memahami sedikit teori tentang port parallel tersebut, lakukan konversi data

dari masing-masing keadaan LED untuk menentukan data yang akan di kirim ke Port LPT

sebagai pengendali nyala LED pada Prototype Traffic Light ,

Tabel nya adalah sebagai berikut

Tabel. Konversi data yang akan dikirim ke port data pada Port Paralel berdasarkan keadaan

LED

end;

NoPIN D2(R1)

PIN D3(R2)

PIN D4(R3)

PIN D5(Y1

PIN D6(Y2)

PIN D7(Y3)

PIN D8(G1)

PIN D9(G2)

Data decimaldikirim

ke alamat 378 H

1 1 0 1 0 0 0 0 1 133

2 1 0 1 0 1 1 0 0 53

3 1 1 0 0 0 0 0 0 3

4 1 1 0 1 0 1 0 0 43

5 0 1 1 0 0 0 1 0 70

6 0 1 1 1 1 0 0 0 30

Page 46: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Kembali menegaskan pernyataan sebelumnya, untuk LED ke 9 dalam hal ini adalah led

G1 dilayani oleh port control pada port parallel dan nomer pin yang dipilih adalah pin nomer 16

(port control bit 2). Sedangkan nilai data decimal yang akan dikirim ke alamat 37A (port control

) dapat ditentukan dengan table seperti di bawah ini:

Tabel. Konversi data yang akan dikirim ke port control pada Port Paralel berdasarkan keadaan

LED

Setelah diperoleh data yang akan di kirim ke port paralel sebagai pengendali nyala LED

pada Prototype Traffic Light pada pertigaan jalan, selanjutnya adalah penulisan source code

tambahan untuk pengendalian Prototype Traffic Light pada pertigaan jalan, namun diperlukan

komponen tambahan yaitu SmallPort pada Component Pallete System untuk membaca dan

menuliskan data ke Port parallel , serta komponen button sebagaimana tabel di bawah ini :

Keterangan : bit pertama adalah data pin D2 ( Least Significant Bit /

LSB), sedangkan bit ke-8 adalah data pin D9 (Most Significant Bit /

MSB), sehingga untuk mengubah biner ke decimal harus dibalik

urutannya. Semisal pada baris pertama keadaan LED nilainya : 1010

0001 menjadi 1000 0101 = 133

No.

PIN

C0

( 0)

PIN

C1

( 0 )

PIN

C2

( G3)

PIN

C3

( 0 )

Data decimal

dikirim ke alamat

37A1 0 0 0 0 0

2 0 0 0 0 0

3 0 0 1 0 4

4 0 0 0 0 0

5 0 0 1 0 4

6 0 0 0 0 0

Keterangan : PIN C0,C1,C3 dianggap saja dikirim data 0,

karena tidak dikoneksikan ke LED

Page 47: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Tabel. komponen tambahan pada Aplikasi Prototype Traffic Light pada pertigaan jalan

sehingga tampilan program menjadi sebagai berikut:

Gambar. Penambahan komponen smallport dan Button 1

Source code tambahan dapat dilihat pada tabel di bawah ini:

Tabel. Source code tambahan Prototype Traffic Light Pertigaan Jalan

No Komponen Properti Nilai

1 SmallPort - -

2 Button 2 Caption Open Port Driver

No. Komponen Event SOURCE CODE

TAMBAHAN

1 Button 2 OnClick SmallPort1.Opened;

2 Timer1 OnTimer //di bawah if secon<5 then

Begin

Smallport1.WriteByte($378,133

);

Smallport1.WriteByte($37A,0);

Page 48: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

//di bawah if secon>5 then

Begin

Smallport1.WriteByte($378,53);

Smallport1.WriteByte($37A,0);

//di bawah if secon>7 then

Begin

Smallport1.WriteByte($378,3);

Smallport1.WriteByte($37A,4);

//di bawah if secon>12 then

Begin

Smallport1.WriteByte($378,43);

Smallport1.WriteByte($37A,0);

//di bawah if secon>14 then

Begin

Smallport1.WriteByte($378,70);

Smallport1.WriteByte($37A,4);

//di bawah if secon>19 then

Begin

Smallport1.WriteByte($378,30);

Smallport1.WriteByte($37A,0);

Keterangan SOURCE CODE TAMBAHAN

Apabila source code awal pada timer adalah

if secon<=5 then

begin

Red1.Brush.Color:=clRed;

Red2.Brush.Color:=clBlack;

Red3.Brush.Color:=clRed;

Yellow1.Brush.Color:=clBlack;

Yellow2.Brush.Color:=clYellow;

Page 49: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Selanjutnya lakukan proses running aplikasi, tampilan aplikasi yang telah dibuat adalah

sebagai berikut :

Yellow3.Brush.Color:=clYellow;

Green1.Brush.Color:=clBlack;

Green2.Brush.Color:=clBlack;

Green3.Brush.Color:=clBlack;

end;

maka sebelum end; tambahkan source code yang ada di kolom

SOURCE CODE TAMBAHAN

sehingga menjadi sebagai berikut:

if second<5 then

begin

Smallport1.WriteByte($378,133);

Smallport1.WriteByte($37A,0);

Red1.Brush.Color:=clRed;

Red2.Brush.Color:=clBlack;

Red3.Brush.Color:=clRed;

Yellow1.Brush.Color:=clBlack;

Yellow2.Brush.Color:=clYellow;

Yellow3.Brush.Color:=clYellow;

Green1.Brush.Color:=clBlack;

Green2.Brush.Color:=clBlack;

Green3.Brush.Color:=clBlack;

end;

lalukan hal yang sama untuk setiap source code yang ada!

Page 50: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar . Aplikasi Prototype Traffic Light pada Pertigaan Jalan dengan Delphi 7

Untuk dapat mengontrol peralatan listrik dengan tegangan kerja 220 Volt AC pada melalui port

paralal pada Delphi 7, diperlukan sebuah rangkaian relay driver, rangkaian ini berfungsi untuk

mengendalikan relay yang nantinya akan dipergunakan untuk mengontrol peralatan listrik 220

volt ac yang di maksud. Bentuk fisik dari rangkaian tersebut adalah sebagai berikut :

Gambar. Driver relay

Secara fisik rangkaian tersebut adalah sebagai berikut:

Page 51: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar bentuk fisik driver relay

( www.taufikadisanjaya.blogspot.com )

Relay sering digunakan baik pada industri, otomotif, ataupun peralatan elektronika

lainnya. Relay berfungsi untuk menghubungkan atau memutus aliran arus listrik yang dikontrol

dengan memberikan tegangan dan arus tertentu pada koilnya. Pada relay board ini digunakan

relay DC dengan tegangan koil 12V DC,arus yang diperlukan sekitar 20-30mA. Karena itu pada

umumnya kita tidak bisa langsung menghubungkan output suatu IC logic (TTL/CMOS ) atau

komponen lain seperti mikrokontroller, PPI 82C55 , Port parallel PC dengan relay karena

arusnya tidak cukup besar. Karena itu perlu digunakan driver untuk penguat arus yang biasanya

berupa transistor, di sini digunakan “Darlington Array” ULN 2803A yang merupakan

sekumpulan transistor dengan konfigurasi Darlington sehingga mempunyai β (penguatan arus)

yang besar. Setiap output pada ULN 2803A dapat dibebani sampai 500mA, serta dilengkapi

dengan ’supression diode’. Diode ini berfungsi untuk mencegah ‘kickback’ yaitu transient yang

terjadi pada koil relay (beban induktif) saat relay dimatikan. Tegangan balik 'kickback' ini

sangat besar, dan dapat mengakibatkan kerusakan pada transistor. Problem lain yang sering

terjadi pada kontak relay adalah loncatan bunga api listrik yang dapat memperpendek umur

kontak. Bunga api ini terutama terjadi pada beban induktif seperti motor, solenoid, dll.

Untuk mencegah hal ini digunakan MOV (Metallic Oxide Varistor) yang dipasang

secara paralel dengan kontak. Varistor bersifat seperti resistor dengan nilai resistansinya

tergantung pada tegangan. Ketika kontak terbuka, beban induktif menghasilkan

tegangan balik yang cukup besar akibat perubahan medan magnet.

Pada saat ini nilai resistansi varistor menjadi sangat kecil dan arus akan mengalir melalui MOV,

sehingga transient dapat diredam. Pada saat keadaan normal resistansi MOV sangat besar dan

hanya menarik arus yang sangat kecil. Bunga api juga menyebabkan sinyal Radio Frequency

Interference (RFI) yang dapat mengganggu peralatan – peralatan sensitif. Karena itu komponen

Page 52: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

peredam transient seperti MOV sangat diperlukan terutama pada beban induktif.

Setelah memahami sedikit teori di atas, silakan hubungkan pin D2-9 pada port parallel PC / LPT

ke Input header rangkaian tersebut diatas, lalu buka aplikasi pengontrol LED pada Delphi untuk

mengontrol driver relay tersebut.

Catatan :

Untuk ujicoba , Jangan langsung menghubungkan relay driver ke tegangan 220

volt , namun biarkan relay driver belum terhubung ke tegangan 220 volt, setelah

anda memahami prinsip kerja rangkaian relay driver , baru anda dapat

mengkoneksikannya ke tegangan 220 volt.

Pastikan anda berhati – hati pada proses uji coba dikarenakan anda

menggunakan tegangan 220 volt AC yang cukup berbahaya.

Page 53: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

BAGIAN III

PEMROGRAMAN PORT SERIAL

DENGAN DELPHI7.0

Komunikasi serial

Jika pada port parallel data sekian bit dikirim secara bersama-sama dalam 1 detak, pada

port serial data dikirimkan satu per satu bit .

Kekurangan pengiriman data secara serial adalah lebih kompleks/sulit dibandingkan

dengan antarmuka melalui port parallel, karena data dikirim tiap bit secara berurutan maka

pengiriman data berlangsung lebih lambat, namun hal ini dapat diatasi oleh tingginya Baud rate

pada pengiriman data.

Sedangakan kelebihannya adalah

1. Kabel untuk komunikasi serial bisa lebih panjang dibandingkan dengan paralel; data-

data dalam komunikasi serial dikirim-kan untuk logika ’1′ sebagai tegangan -3 s/d -25 volt dan

untuk logika ’0′ sebagai tegangan +3 s/d +25 volt, dengan demikian tegangan dalam komunikasi

serial memiliki ayunan tegangan maksimum 50 volt, sedangkan pada komunikasi paralel hanya

5 volt. Hal ini menyebabkan gangguan pada kabel-kabel panjang lebih mudah diatasi

dibandingkan pada paralel;

2. Jumlah kabel serial lebih sedikit; Anda bisa menghubungkan dua perangkat komputer yang

berjauhan dengan hanya 3 kabel untuk konfigurasi null modem, yaitu TxD (saluran kirim),

RxD(saluran terima) dan Ground, bayangkan jika digunakan teknik paralel akan terdapat 20 –

25 kabel! Namun pada masing-masing komputer dengan komunikasi serial harus dibayar

“biaya” antarmuka serial yang agak lebih mahal;

3. Banyaknya piranti saat ini (palmtop, organizer, hand-phone dan lainlain) menggunakan

teknologi infra merah untuk komunikasi data; dalam hal ini pengiriman datanya dilakukan

secara serial. IrDA-1 (spesifikasi infra merah pertama) mampu mengirimkan data dengan laju

115,2 kbps dan dibantu dengan piranti UART, hanya panjang pulsa berkurang menjadi 3/16 dari

standar RS-232 untuk menghemat daya;

4. Untuk teknologi embedded system, banyak mikrokontroler yang dilengkapi dengan

komunikasi serial (baik seri RISC maupun CISC) atau Serial Communication Interface

(SCI); dengan adanya SCI yang terpadu pada IC mikrokontroler akan mengurangi jumlah pin

keluaran, sehingga hanya dibutuhkan 2 pin utama TxD dan RxD (di luar acuan ground).

Frame data pada pengiriman data serial AVR AT Mega 16 dapat dilihat pada gambar di bawah

Page 54: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

ini:

Gambar. Frame Pengiriman Data Serial untuk huruf A

Pada kondisi tanpa data (idle) sinyal berlogika tinggi (high). Saat data mulai dikirimkan,

akan diawali dengan memberikan sinyal start bit (St) dengan logika Rendah (low) sebagai tanda

awal pengiriman data, diikuti dengan data yang dikirim (5,6,7,8 atau 9 bit). Bit Paritas bersifat

opsional, terakhir ditambah dengan Stop bit (Sb) yang dapat berjumlah 1 atau 2 bit.

NB :

Komunikasi serial antara PC dengan mikrokontroller tidak dapat dilakukan secara

langung dengan mengkoneksikan Pin Tx pada PC dengan Pin Rx Pada Mikrokontroler dan Pin

Rx pada PC dengan Pin Tx pada Mikrokontroler serta pin Ground pada PC dengan Pin Ground

pada Mikrokontroler.

Level tegangan kerja pada komunikasi serial pada mikrokontroller adalah TTL (0-5

volt) sedangkan level tegangan kerja port serial PC adalah antara +15V sampai dengan -15V

karena terdapat perbedaan antara level tegangan yang dipergunakan untuk komunikasi serial PC

dengan Mikrokontroler, Level tegangan komunikasi serial pada Mikrokontroler harus

disesuaikan dengan Level tegangan komunikasi serial pada PC. Untuk dapat melakukan hal

tersebut, diperlukan Rangkaian Konverter RS 232, berikut ini adalah gambar rangkaiannya:

Page 55: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Skematik Rangkaian KonverterRS 232

Port serial

Standar RS232 ditetapkan oleh Electronic Industry Association and Telecomunication

Industry Association pada tahun 1962. Nama lengkapnya adalah EIA/TIA-232 Interface Between

Data Terminal Equipment and Data Circuit-Terminating Equipment Employing Serial Binary

Data Interchange. Meskipun namanya cukup panjang tetapi standar ini hanya menyangkut

komunikasi data antara komputer dengan alat-alat pelengkap komputer. Ada dua hal pokok yang

diatur standar RS232, antara lain adalah :

Bentuk sinyal dan level tegangan yang dipakai.

RS232 dibuat pada tahun 1962, jauh sebelum IC TTL populer, oleh karena itu level tegangan

yang ditentukan untuk RS232 tidak ada hubungannya dengan level tegangan TTL, bahkan dapat

dikatakan jauh berbeda. Berikut perbedaan antara level tegangan RS232 dan TTL :

Gambar. Perbedaan antara level tegangan RS232 dan TTL

Page 56: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Penentuan jenis sinyal dan konektor yang dipakai, serta susunan sinyal pada kaki- kaki

di konektor. Beberapa parameter yang ditetapkan EIA ( •Electronics Industry

Association) antara lain:

Sebuah ‘spasi’atau space (logika 0) antara tegangan +3 s/d +25 volt

Sebuah ‘tanda’ atau mark (logika 1) antara tegangan -3 s/d -25 volt

Daerah tegangan antara +3 s/d -3 volt tidak didefenisikan

Tegangan rangkaian terbuka tidak boleh lebih dari 25 volt (dengan acuan ground)

Arus hubung singkat rangkaian tidak boleh lebih dari 500 mA.

Sebuah penggerak (driver) harus mampu menangani arus ini tanpa mengalami

kerusakan. Selain mendeskripsikan level tegangan seperti yang dibahas di atas, standard RS232

menentukan pula jenis-jenis sinyal yang dipakai mengatur pertukaran informasi antara DTE dan

DCE, semuanya terdapat 24 jenis sinyal tapi yang umum dipakai hanyalah 9 jenis sinyal.

Konektor yang dipakai pun ditentukan dalam standard RS232, untuk sinyal yang lengkap

dipakai konektor DB25, sedangkan konektor DB9 hanya bisa dipakai untuk 9 sinyal yang

umum dipakai.

Gambar. Konfigurasi pin pada Port Serial PC (DB 9)

Tabel. Perbandingan port DB 25 dengan port DB 9

Pin DB25 Pin DB9 Singkatan Keterangan

Pin 2 Pin 3 TD Transmit Data

Pin 3 Pin 2 RD Receive Data

Pin 4 Pin 7 RTS Request To Send

Pin 5 Pin 8 CTS Clear To Send

Pin 6 Pin 6 DSR Data Set Ready

Pin 7 Pin 5 SG Signal Ground

Pin 8 Pin 1 CD Carrier Detect

Page 57: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Pin 20 Pin 4 DTR Data Terminal Ready

Pin 22 Pin 9 RI Ring Indicator

Tabel. Fungsi masing-masing pin pada port DB 9

TD Transmit Data Untuk pengiriman data serial

RD Receive Data Untuk penerimaan data serial

RTS Request To Send Sinyal untuk menginformasikan

modern bahwa UART siap

melakukan pertukaran data

CTS Clear To Send Memberitahukan bahwa modem

siap melakukan pertukaran data

DSR Data Set Ready Untuk memberitahukan UART

bahwa modem siap melakukan

pertukaran data

CD Carrier Detect Saat modem mendeteksi suatu

‘carrrier’ dari modem lain, maka

sinyal ini akan diaktifkan

DTR Data Terminal Ready Kebalikan dari DSR untuk

memberitahu bahwa UART siap

melakukan komunikasi

RI Ring Indicator Akan aktif jika modem

mendeteksi sinyal dering dari

saluran telepon

Sinyal-sinyal tersebut ada yang menuju ke DCE ada pula yang berasal dari DCE. Bagi

sinyal yang menuju ke DCE artinya DTE berfungsi sebagai output dan DCE berfungsi sebagai

input, misalnya sinyal TxD, pada sisi DTE kaki TxD adalah output, dan kaki ini dihubungkan ke

kaki TxD pada DCE yang berfungsi sebagai input. Kebalikan sinyal TxD adalah RxD, sinyal ini

berasal dari DCE dan dihubungkan ke kaki RxD pada DTE yang berfungsi sebagai output.

Pengujian dilakukan dengan mengkoneksikan dua buah computer melalui port serial

(port DB 9) dengan konfigurasi null modem, konfigurasi null modem dilakukan dengan 3 buah

saluran data yaitu TxD (saluran kirim), RxD (saluran terima) dan Ground.

Page 58: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. konfigirasi null modem port serial / DB 9

Pada dasarnya komunikasi serial antar PC terjadi melalui port serial atau sering disebut

dengan nama (DB9). Komponen powerful yang dapat dipergunakan untuk pengaksesan /

komunikasi serial untuk Delphi adalah Comport, dalam pembuatan aplikasi komunikasi serial

sederhana antara 2 buah Personal Computer (PC), diperlukan dua buah aplikasi yaitu : aplikasi

pengirim data dan aplikasi penerima data, aplikasi yang akan dibuat saat ini adalah aplikasi

yang sangat sederhana yang kemudian dapat dikembangkan menjadi aplikasi yang lebih

kompleks .

Page 59: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Instalisasi Comport pada Delphi 7

1. Copykan folder COMPORT ke C:\Program Files\Borland\Delphi7\Lib

Gambar. Copy Comport ke Directory Lib pada Delphi 7.

2. Buka Delphi 7, kemudian pada buka Page Tab Tool Environment Option

Gambar.membuka Environment Option

3. Kemudian akan muncul sebagai berikut:

Page 60: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Environment option

4. Klik pada tab Library

Gambar. Tab Library Environment Option

5. Akan muncul kotak dialog untuk penentuan directories sebagai berikut

Page 61: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Menambah directori Paths

6. Akan muncul kotak dialog penentuan folder yang akan dipergunakan, arahkan ke

C:\Program Files\Borland\Delphi7\Lib\COMPORT kemudian tekan tombol OK

Gambar. Mengarahkan directory path ke folder COMPORT

7. Pada tampilan seperti di bawah ini tekan tombol Add

Page 62: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Menambahkan directori path.

8. Selanjutnya buka page tab File Open

Gambar. memulai membuka installer comport

9. Arahkan ke C:\Program Files\Borland\Delphi7\Lib\COMPORT kemudian buka file

CPortLib7.dpk

Gambar. Memulai menginstall comport

10. Sehingga akan tampil sebagai berikut:

Page 63: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Compile install komponen COMPORT

11. Lakukan Compile lalu Install, jika muncul kotak dialog informasi seperti dibawah ini,

lanjutkan ke langkah selanjutnya

Gambar. Informasi keberhasilan proses install komponen.

12. Buka page tab Fileopen Arahkan ke C:\Program

Files\Borland\Delphi7\Lib\COMPORT kemudian buka file DsgnCport7.dpk

Gambar. Membuka DsgnCport7.dpk

13. Lakukan langkah yang sama dengan langkah 10, Sehingga akan tampil sebagai berikut:

Gambar. Komponen berhasil diinstal.

14. Cek pada component pallete Cport Lib. Anda akan mendapati component sebagaimana

gambar berikut ini telah terinstall:

Page 64: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Daftar komponen pada Component pallete Cport Lib

Contoh Pemrograman Komunikasi Serial pada Personal Computer (PC) dan

Mikrokontroller

Pada pembahasan ini akan di sampaikan beberapa contoh Aplikasi terkait dengan

komunikasi serial:

1. Contoh Aplikasi Komunikasi Data Serial antar Personal Computer (PC)

Aplikasi pengirim data serial : aplikasi ini berfungsi sebagai pengirim data

serial ke port serial yang di maksud (semisal COM1, COM2, COM3, dst)

Untuk dapat membuat Aplikasi pengirim data serial, silakan masukkan

komponen sesuai dengan tabel di bawah ini ke dalam Form1

Tabel . Daftar komponen dalam pemuatan Aplikasi pengirim data serial

No Komponen Properti Nilai

1 Form 1 Caption Send Data Serial

2 Groupbox1 Name Send Data Serial

3 Button1 Caption Send data

4 Button2 Caption Connect

5 Button3 Caption Set Serial

6 Button4 Caption Close

7 Label1 Caption Type data here

Page 65: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Susun

desain

tampilan

Aplikasi sehingga menjadi :

Gambar. Desain Tampilan Aplikasi pengirim data serial

Sebelum mulai mengetikkan source code, deklarasikan sebuah variable global

dibawah di atas implementation pada unit1.pas, dengan cara double klik pada area

form1 sehingga muncul tempat penulisan source code, selanjutnya cari tempat

penulisan variable global seperti gambar di bawah ini

Gambar. Pendeklarasian Variabel Global dengan nama datain

Kemudian ketikkan source code sebagaimana tabel di bawah ini:

Tabel . Komponen, Event dan Source code Aplikasi pengirim data serial

No Komponen Event SOURCE CODE

1 Button1 OnClick Data := Memo1.Text;

ComPort1.WriteStr(data);

2 Button2 OnClick ComPort1.Open;

8 ComPort1 - -

9 Memo1 Lines Kosongkan

Page 66: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

3 Button3 OnClick ComPort1.ShowSetupDial

og;

4 Button4 OnClick Close;

5 Form1 OnCloseQuer

y atau dapat

juga

OnDestroy

comport1.Close;

Selanjutnya silakan eksekusi Aplikasi dengan Klik tombol atau dengan menekan

tombol F9 pada keyboard, hasilnya adalah sebagai berikut :

Gambar. Aplikasi pengirim data serial

Aplikasi penerima data serial : aplikasi ini berfungsi sebagai penerima data serial

dari port serial yang di maksud (semisal COM1, COM2, COM3, dst)

Untuk dapat membuat Aplikasi penerima data serial, silakan masukkan komponen

sesuai dengan tabel di bawah ini ke dalam Form1

Tabel . Daftar komponen dalam pembuatan Aplikasi penerima data serial

No Komponen Properti Nilai

1 Form 1 Caption Received and Read

Data Serial

2 Groupbox1 Name Read Data Serial

3 Button1 Caption Clear

4 Button2 Caption Connect

Page 67: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Susun desain tampilan Aplikasi sehingga menjadi :

Gambar. Desain Tampilan Aplikasi penerima data serial

Sebelum mulai mengetikkan source code, deklarasikan sebuah variable global

dengan nama datain dibawah var di atas implementation pada unit1.pas, dengan cara

double klik pada area form1 sehingga muncul tempat penulisan source code, selanjutnya

cari tempat penulisan variable global seperti gambar di bawah ini

Gambar. Pendeklarasian Variabel Global dengan nama datain

Kemudian ketikkan source code sebagaimana tabel di bawah ini:

Tabel . Komponen, Event dan Source code Aplikasi penerima Data Serial

No Komponen Event Source Code

1 Button1 OnClick memo1.Text:='';

2 Button2 OnClick ComPort1.Open;

3 Button3 OnClick ComPort1.ShowSetupDialog;

5 Button3 Caption Set Serial

6 Button4 Caption Close

7 Label1 Caption Received data

8 ComPort1 - -

9 Memo1 Lines Kosongkan

Page 68: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

4 Button4 OnClick application.Terminate;

5 Form1 OnCloseQuery

atau dapat juga

OnDestroy

comport1.Close;

6 comport1 OnRxChar ComPort1.ReadStr(datain,cou

nt);

memo1.Text:= memo1.Text

+ ' '+datain +' ';

Selanjutnya silakan eksekusi Aplikasi dengan Klik tombol atau dengan

menekan tombol F9 pada keyboard, hasilnya adalah sebagai berikut :

Gambar. Aplikasi penerima data serial

Pengujian komunikasi data serial antar Personal computer yang telah dibuat:

Page 69: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Pengujian pengiriman data serial antar PC

Gambar. Pengujian penerimaan data serial antar PC

2. Contoh Listing Program Pengirim data serial Pada Mikrokontroller dengan

Bahasa Bascom Pada Mikrokontroller AT-MEGA 16

Sebelum penulisan program yang akan didownloadkan ke mikrokontroler, terlebih

dahulu harus dilakukan 2 software tambahan yaitu Bascom AVR dan Extreem Burner, kedua

demo version dari masing-masing software telah di include kan ke dalam CD bundle.

Bascom AVR berfungsi sebagai penulis software untuk menulis source code pemrograman

mikrokontroller serta proses compiling. Sedangkan Extreem Burner Berfungsi sebagai

pendownload source-code yang telah ditulis dengan Bascom AVR lalu dilakukan compiling.

Page 70: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Komunikasi serial pada AT Mega 16 dengan BASCOM-AVR pada dasarnya sangat

mudah dan sederhana, hanya dengan menentukan nilai baudrate yang dipergunakan dalam

komunikasi serial yang akan dilakukan,hal tersebut dapat dilakukan dengan 2 (dua) cara :

1. Setting Pada Compiler, dengan cara OptionCompilerCommunication,

Gambar. Setting Baudrate dan Frekuensi

Selanjutnya masukkan nilai baudrate dan frekuensi yang sesuai

Gambar. Setting Baudrate dan Frekuensi

2. Menentukan secara manual (mengetikkan) Assembler directive pada program yang

dibuat, contoh:

$Crystal = 16000000

$Baud = 9600

Cara Kedua adalah cara yang akan dipergunakan sebagai bahan latihan pengiriman

data serial pada AVR-ATMega 16.

Page 71: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Berikut ini adalah contoh programnya:

Tabel. Contoh Program Komunikasi Serial

Source Code Penjelasan singkat

$regfile = "m16def.dat"

$crystal = 16000000

$baud = 19200

Print "test serial"

End

Jenis mikrokontroller yang

dipakai

Cristal yang digunakan

baud rate yang digunakan

menulis tulisan testserial ke PC,

tulisan di antara tanda baca " "

akhir dari source code

Gambar. Contoh Program Komunikasi serial AT Mega 16 dengan BASCOM AVR

Setelah itu program dapat dicompile, kemudian di –downloadkan ke mikrokontroler

dengan software extreme burner.

Program tersebut dapat di interface-kan dengan PC, dengan memanfaatkan Hyper

Terminal (bawaan Windows). Untuk membuka Hyper Terminal dapat dilakukan dengan cara:

1. Start Program Accessories Communications Hyper Terminal

Page 72: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Memulai Hyperterminal

2. Berikan nama pada Connection Description, nama dapat diisi dengan apapun sesuai

dengan keinginan. Sebagai contoh diberi nama “Serial Comm”

Gambar.Memberi nama koneksi Hyperterminal

3. Tekan tombol Ok, akan muncul pengaturan Connect to , pada menu isian Connect

Using pilih COM1 seperti gambar di bawah ini:

Page 73: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Memilih port COM

4. Setelah selesai tekan pada tombol OK sebagaimana gambar di berikut ini :

Gambar. Memilih COM1

5. Atur Baudrate (Bits Per secon), Data bits, dan sebagainya sebagaimana gambar di

bawah ini:

Gambar. Mengatur Property Baud rate dsb.

6. Tekan tombol Ok , maka Hyper Terminal telah siap menerima data, selanjutnya

koneksikan Port serial (DB 9) pada PC dengan pin-pin komunikasi serial pada

mikrokontroler, berikut ini adalah hasil uji program mikrokontroler yang telah

dibuat

Page 74: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Uji Komunikasi serial dengan Hyperterminal

3. Contoh Aplikasi penerima data serial pada Personal Computer (PC) dimana Data

dikirim dari Mikrokontroller

Sebenarnya bagian ini hanya membahas penggunaan dari aplikasi penerima

data serial pada Personal Computer (PC) yang telah dibuat sebelumnya hanya

saja pengirim data serial ke PC adalah Mikrokontroler

Pada pengujian dengan Aplikasi Penerima data serial dengan Delphi dapat

dilihat sebagaimana gambar di bawah ini:

Gambar. Pengaturan Port Serial

Page 75: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar . Hasil Uji Coba Aplikasi Penerima data serial dari Mikrokontroller

Aplikasi Akses Multi Data Serial ( dari Multi ADC ) dengan menggunakan Comport pada

Delphi 7

Sebelum dibahas secara mendalam, dibawah ini ada sebuah kasus yang cukup menarik.

“Seorang mahasiswa menggunakan 4 buah sensor suhu LM 35 untuk mengambil suhu di 4

tempat dengan jarak berdekatan namun suhunya dimanipulasi / dikondisikan berbeda.

Mahasiswa tersebut memanfaatkan internal ADC pada mikrokontroler AT Mega 16, program

pada mikrokontroller dapat bekerja dengan baik ketika data-data ditampilkan ke Liquid Crystal

Display (LCD), Namun ketika Mahasiswa tersebut ingin menampilkan data tersebut ke PC

untuk selanjutnya disimpan ke database, dia mengalami kesulitan.”

Tentunya banyak pemula dalam pemrograman dengan menggunakan Delphi, pernah

mengalami kebingungan yang sama dengan kasus di atas dalam mengakses banyak data serial

untuk dtampilkan pada PC (menampilkan banyak data serial dengan Delphi). Pada

kenyataannya komponen Comport Delphi mampu menangani hal tersebut dengan baik, aplikasi

yang dibuat ini nantinya dapat menampilkan 4 data serial pada PC dengan menggunakan Delphi

dengan memanfaatkan component Comport, dan pada kenyataannya dapat dikembangkan untuk

akses berpuluh-puluh data serial dengan kreatifitas pengembangannya

Secara teoritis dapat di jelaskan bahwa data serial yang masuk ke komputer merupakan

data gabungan dari ke empat buah sensor yang dipergunakan (dapat berupa sensor suhu, dan

sebagai nya, karena data tersebut hanyalah data yang dapat diperoleh dengan berbagai macam

cara, tidak harus dari sensor suhu yang di inputkan ke ADC mikrokontroller kemudian data

dikirim secara serial ke pc melalui Port COM1 atau com berapapun itu. Data dapat pula

diperoleh dengan memanfaatkan komputer lain sebagai pengirim data serial yang memiliki

Page 76: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

format sebagaimana gabungan data serial tersebut. Bahkan kita dapat memanfaatkan hanya 1

komputer sebagai pengirim data serial sekaligus penerima data serial dengan memanfaatkan

software tertentu yaitu Virtual Serial Port ( versi trial include dalam CD Bundle). Penjelasn

penggunaan Software ini silakan cek pada bagian utilities pada akhir tulisan ini,

Sebagai penjelasan format data masukkan adalah Data pertama adalah data A semisal

nilainya 120, kedua adalah data B nilainya 20, ketiga adalah data C nilainya 60 dan ke empat

adalah data D yang nilainya 1200, (ingat ini hanya permisalan saja) maka nantinya data akan

dikirim dalam format gabungan yang berupa data sensor ditambah huruf penanda, sehingga jika

gabungan data sebenarnya adalah 12020601200 (gabungan data A,B,C,D). maka data baru yang

seharusnya terbentuk ditambah huruf adalah sebagai berikut : 120A20B60C1200D (lihat dengan

jelas bahwa data A dan data B dipisah dengan menggunakan huruf A, data B dengan data C

dipisahkan dengan huruf B, dan selanjutnya)

Sebagai contoh dapat pula dipergnakan data kembar, semisal data A = data B = data C=

data D dengan nilai masig-masing 40. Sehingga data gabungan adalah 40404040, namun harus

diubah menjadi 40A40B40C40D, INGAT HURUF A,B,C,D sebagai pemisah antar data. Data

ini yang selanjutnya akan di utak-atik oleh delphi untuk mendapatkan nilai data sebenarnya dari

masing-masing sensor tersebut.

Logika mudahnya : data 40A40B40C40D akan dikirim ke Delphi. Selanjutnya Delphi

akan memilah-milah data tersebut.

Sebelum membuat aplikasi tersebut, terlebih dahulu harus dibuat hardware untuk

mengambil data suhu yakni menggunakan sensor LM 35, serta Analog to Digital Converter

(ADC), dimana ADC yang dipergunakan adalah internal ADC pada Mikrokontroler AT Mega

16,

Sensor Suhu LM35

Sensor suhu LM35 merupakan komponen elektronika yang berfungsi untuk mengubah

besaran fisis yang berupa suhu menjadi besaran elektris tegangan. Sensor suhu LM35 memiliki

parameter bahwa setiap kenaikan 1º C tegangan keluarannya naik sebesar 10mV dengan batas

maksimal keluaran sensor adalah 1,5 V pada suhu 150°C. Misalnya pada perancangan

menggunakan sensor suhu LM35 kita tentukan keluaran ADC mencapai full scale pada saat

suhu 100°C, sehingga saat suhu 100°C tegangan keluaran sensor suhu LM35 (10mV/°C x

100°C) = 1V.

Page 77: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Bentuk Fisik LM 35

Pin 1 berfungsi sebagai sumber tegangan kerja dari LM35, pin 2 atau tengah digunakan

sebagai tegangan keluaran atau Vout dengan jangkauan kerja dari 0 Volt sampai dengan 1,5

Volt dengan tegangan operasi sensor LM35 yang dapat digunakan antar 4 Volt sampai 30 Volt.

Pada contoh rangkaian yang dipergunakan, tegangan referensi yang dipergunakan adalah 5 volt

Prinsip Kerja Sensor LM 35

Mula-mula vcc sebesar 5 V digunakan untuk menghidupkan sensor LM35 yang akan

mendeteksi suhu. Keluaran sensor ini akan naik sebesar 10 mV setiap derajad celcius sehingga

diperoleh persamaan sebagai berikut :

VLM35 = Suhu*10mV

Sebagai gambaran jika suhu terukur adalah 2°C maka VLM35 = 2x10mV = 20mV

Secara prinsip sensor akan melakukan penginderaan pada saat perubahan suhu setiap

suhu 1 ºC akan menunjukan perubahan tegangan sebesar 10 mV.

Karakteristik dari sensor suhu LM35.

Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu 10

mVolt/ºC, sehingga dapat dikalibrasi langsung dalam celcius.

Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC pada suhu 25 ºC

Memiliki jangkauan maksimal operasi suhu antara -55 ºC sampai +150 ºC.

Bekerja pada tegangan 4 sampai 30 volt.

Memiliki arus rendah yaitu kurang dari 60 µA.

Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,1 ºC pada

udara diam.

Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1 mA.

Memiliki ketidaklinieran hanya sekitar ± ¼ ºC.

Page 78: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Berikut ini adalah gambar rangkaian dasar sensor suhu LM 35 yang akan dikoneksikan

ke ADC Internal Mikrokontroler ATMega 16 yang dipergunakan:

Gambar. Rangkaian dasar sensor suhu LM 35

Rangkaian dasar tersebut cukup untuk sekedar bereksperimen atau untuk aplikasi yang

tidak memerlukan akurasi pengukuran yang sempurna. Akan tetapi tidak untuk aplikasi yang

sesungguhnya karena tegangan keluaran sensor belumlah stabil. Pada kondisi suhu yang

relatif sama, jika tegangan suplai diubah-ubah (dinaikkan atau turunkan), maka Vout juga ikut

berubah. Memang secara logika hal ini sepertinya benar, tapi untuk instrumentasi hal ini

tidaklah diperkenankan.

Keluaran dari sensor suhu LM35 dijaidkan sebagai inputan Analog to Digital Converter

(ADC) pada Mikrokontroller.Mikrokontroller AT Mega 16 memiliki 8 buah kanal input ADC

yang masing-masing merupakan ADC 10 bit,

Page 79: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Susunan kaki AVR Atmega16

Source Code program yang ditulis dengan Bascom AVR untuk decompile lalu

kemudian di downloadkan ke mikrokontroller adalah:

$regfile = "m16def.dat"

$crystal = 16000000

$baud = 9600

Config Adc = Single , Prescaler = Auto , Reference = Avcc

Dim Suhuinadc1 As Word , Suhuinadc2 As Word , Suhuinadc3 As Word , Suhuinadc4 As Word

Dim Suhu1 As Word , Suhu2 As Word , Suhu3 As Word , Suhu4 As Word

Start Adc

Do

Suhuinadc1 = Getadc(0)

Suhu1 = Suhuinadc1 * 0.5

Suhuinadc2 = Getadc(1)

Suhu2 = Suhuinadc2 * 0.5

Suhuinadc3 = Getadc(2)

Page 80: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Suhu2 = Suhuinadc3 * 0.5

Suhuinadc4 = Getadc(3)

Suhu2 = Suhuinadc3 * 0.5

Print Suhu1 ; "A" ; Suhu2 ; "B" ; Suhu3 ; "C" ; Suhu4 ; "D"

Waitms 500

Loop

Penjelasan untuk masing-masing baris program di atas adalah sebagai berikut:

Baris program

$regfile = "m16def.dat"

$crystal = 16000000

$baud = 9600

Menunjukkan bahwa mikrokontroller yang dipergunakan adalah At Mega 16, crystal

yang dipergunakan 16 M, baudrate yang dipergunakan 9600 dalam satuan bit per secon

Baris program

Config Adc = Single , Prescaler = Auto , Reference = Avcc

Menunjukkan mode konversi ADC Single (diperlukan satu kali instruksi untuk setiap

konversi), Prescaller di set Auto dimana pengertian prescaller sendiri adalah pembagi clock

eksternal dalam hal ini adalah crystal dengan diset auto maka mikrokontroller akan mengambil

nilai yang paling sesuai. Reference menunjukkan tegangan Referenci yang dipergunakan ADC,

dalam hal ini diset = AVcc (5Volt)

Baris program

Dim Suhuinadc1 As Word , Suhuinadc2 As Word , Suhuinadc3 As Word , Suhuinadc4

As Word

Dim Suhu1 As Word , Suhu2 As Word , Suhu3 As Word , Suhu4 As Word

Merupakan pendeklarasian variable yang dipergunakan, yaitu Suhuinadc1, Suhuinadc2,

Suhuinadc3, Suhuinadc4, Suhu1, Suhu2, Suhu3, Suhu4, dengan tipe data Word (2byte) yang

memiliki jangkauan antara 0 sampai dengan 65535.

Baris program

Start ADC

Do

Suhuinadc1 = Getadc(0)

Suhu1 = Suhuinadc1 * 0.5

Suhuinadc2 = Getadc(1)

Suhu2 = Suhuinadc2 * 0.5

Page 81: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Suhuinadc3 = Getadc(2)

Suhu2 = Suhuinadc3 * 0.5

Suhuinadc4 = Getadc(3)

Suhu2 = Suhuinadc3 * 0.5

Print Suhu1 ; "A" ; Suhu2 ; "B" ; Suhu3 ; "C" ; Suhu4 ; "D";

Waitms 500

Loop

Baris Start ADC merupakan fungsi untuk memulai pengambilan data ADC. Dalam

baris-baris program di atas terdapat perintah perulangan Do-Loop dimana perintah perulangan

tersebut merupakan perintah untuk melakukan perulangan selama kondisi terpenuhi, dalam

program ini dapat diartikan bahwa setiap 500 milisecon, baris-baris perintah tersebut dijalankan.

Baris Program

Suhuinadc1 = Getadc(0)

Suhu1 = Suhuinadc1 * 0.5

Merupakan baris program untuk mengambil data dari internal ADC chanel ke-0,untuk

selanjutnya fungsi Getadc(nomer) merupakan chanenel ADC yang diakses. Selanjutnya nilai

yang ada dikalikan denan 0,5, mengapa harus dikalikan 0,5? Penjelasannya adalah sebagai

berikut:

Dengan menggunakan rangkaian dasar, atau yang disebut Basic Centigrade

Temperature Sensor, maka si LM35 memiliki range pengukuran 10mV/oC. Jika dibuat tabel

kesetaraaan antara voltage dengan suhu, maka akan terlihat sbb :

Tabel . Kesetaraan tegangan dan suhu sensor LM35

VOut LM 35 / Vin

ADC

Suhu

0V 0 oC

10mv 1 oC

100Mv 10 oC

1000mV 100 oC

1500mV 150 oC

Mikrokontroler ATMEGA16 memiliki ADC internal berjumlah 8 channel 10 bit. Range

voltage dari 0V s/d volt_max sama dengan nilai 0 s/d 1023 (n10) yaitu sebanyak 1024, maka

Hasil Konversi ADC = (Vin * 1024) / Vref

Page 82: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Dimana Vin adalah output LM35 dengan penjelasan setiap perubahan 1°C akan

menghasilkan perubahan Ouput sebesar 10 mV dan Vref adalah tegangan referensi dalam hal ini

nilainya adalah 5 Volt = 5000mV. Sehingga untuk setiap perubahan suhu 1°C dapat dituliskan

Hasil Konversi ADC = 10mV * (1024 /5000)

Hasil Konversi ADC = 1mV * (10240/5000)

Hasil Konversi ADC = 1 * (10240/5000)=2,048

Dari hasil perhitungan di atas diperoleh tabel sebagaimana tabel di bawah ini untuk

setiap perubahan suhu

Tabel. Perhitungan perubahan data suhu masukan terhadap keluaran ADC

SuhuVout LM 35 / Vin

ADC

Perhitungan Suhu

Keluaran

Nilai Seharusnya

Faktor Pengali

Agar Sesuai

0,1 1 0,2048 0,1 0,5

1 10 2,048 1 0,5

2 20 4,096 2 0,5

3 30 6,144 3 0,5

4 40 8,192 4 0,5

5 50 10,24 5 0,5

6 60 12,288 6 0,5

7 70 14,336 7 0,5

8 80 16,384 8 0,5

9 90 18,432 9 0,5

10 100 20,48 10 0,5

11 110 22,528 11 0,5

12 120 24,576 12 0,5

13 130 26,624 13 0,5

14 140 28,672 14 0,5

15 150 30,72 15 0,5

50 500 102,4 50 0,5

100 1000 204,8 100 0,5

1000 10000 2048 1000 0,5

Nah, dari tabel di atas diperoleh nilai factor pengali tegangan input ADC agar sesuai

dengan harapan adalah 0,5.

Baris Program

Print Suhu1 ; "A" ; Suhu2 ; "B" ; Suhu3 ; "C" ; Suhu4 ; "D"

Merupakan baris program yang menunjukkan perintah untuk menggabung mengirim

Page 83: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

data-data yang ada secara serial , namun sebelum dikirim Suhu1 digabung dengan karakter A,

Suhu2 digabung dengan karakter B, Suhu3 digabung dengan karakter C, Suhu4 digabung

dengan karakter D, sehingga jika data Suhu1, Suhu2, Suhu3, dan Suhu4 masing-masing

bernilai 40 data yang akan dikirim melalui port serial adalah 40A40B40C40D.

Setelah program mikrokontroller selesai dibuat,selanjutnya l membuat aplikasi untuk

menampilkan multi data serial yang dimaksud, untuk membuatnya, masukkan komponen

sebagai berikut:

Tabel . Komponen dalam pembuatan aplikasi Akses Multi Data Serial ( dari Multi ADC )

No Komponen Properti Nilai

1 GroupBox1 Caption DATA SENSOR

2 GroupBox1 Caption SETTING

PROGRAM

3 Label1 Caption DATA # 1 :

4 Label2 Caption DATA # 2 :

5 Label3 Caption DATA # 3 :

6 Label4 Caption DATA # 4 :

7 Label5 Caption MULTI DATA

SERIAL USING

COMPORT

8 Edit1 Text Kosongkan

9 Edit2 Text Kosongkan

10 Edit3 Text Kosongkan

11 Edit4 Text Kosongkan

12 Button1 Caption START

13 Button2 Caption STOP

Page 84: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Setelah komponen dimasukkan selurunya ke dalam Form1, lakukukan penyusunan

komponen sehingga memiliki tapilan kurang lebih sebagai berikut:

Gambar. Desain tampilan aplikasi Akses Multi Data Serial ( dari Multi ADC )

Kemudian, ketikkaan source code sebagai berikut ke setiap komponen yang

bersangkutan dan sesuaikan pula event nya:

Tabel . Source Code Akses Multi data serial dengan menggunaan Comport

Nama

Komponen

Event SOURCE CODE

1 OnRxChar //SENSOR A

repeat

begin

comport1.ReadStr(A,1);

DataA:=DataA+A;

end;

until A='A';

s:=TStringList.Create;

s.Delimiter:='A';

s.DelimitedText:=DataA;

listbox1.Items:=s;

edit1.Text:=listbox1.Items[0];

listbox1.Clear;

14 Button3 Caption CLOSE

15 Button4 Caption SETTING PORT

SERIAL

Page 85: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

//SENSOR B

repeat

begin

comport1.ReadStr(B,1);

DataB:=DataB+B;

end;

until B='B'

s:=TStringList.Create

s.Delimiter:='B';

s.DelimitedText:=DataB;

listbox1.Items:=s;

edit2.Text:=listbox1.Items[0];

listbox1.Clear;

//SENSOR C

repeat

begin

comport1.ReadStr(C,1);

DataC:=DataC+C;

end;

until C='C';

s:=TStringList.Create;

s.Delimiter:='C';

s.DelimitedText:=DataC;

listbox1.Items:=s;

edit3.Text:=listbox1.Items[0];

listbox1.Clear;

//SENSOR D

repeat

begin

comport1.ReadStr(D,1);

DataD:=DataD+D;

end;

Page 86: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

until D='D';

s:=TStringList.Create;

s.Delimiter:='D';

s.DelimitedText:=DataD;

listbox1.Items:=s;

edit4.Text:=listbox1.Items[0];

listbox1.Clear;

end;

2 Button 1 OnClick if comport1.Connected = false

then

begin

comport1.Connected := true;

end;

3 Button 2 OnClick if comport1.Connected = true

then comport1.Connected

:= false;

4 Button 3 OnClick Close;

atau dapat juga diganti dengan

Application.Terminated;

5 Button 4 OnClick comport1.ShowSetupDialog;

6 Form 1 FormCreate form1.Position :=

poDesktopCenter;

listbox1.Visible := True;

7 Form 1 OnCloseQuery

atau dapat juga

pada event

FormDEstroy

if comport1.Connected = true

then

begin

comport1.Connected :=

false;

end;

Keterangan:

Penjelasan Source code di atas dapat dilihat pada Aplikasi yang dibuat

(bersama-sama dengan baris-baris source code yang ditulis).

Page 87: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Setelah selesai penulisan source code program, silakan eksekusi Aplikasi dengan menekan

tombol F9 pada keyboard

Hasil tampilan Aplikasi adalah sebagai berikut

Gambar. Hasil eksekusi aplikasi Akses Multi Data Serial ( dari Multi ADC )

Di bawah ini adalah tampilan gambar pengujian Aplikasinya,

Gambar. setting port pada aplikasiAkses Multi Data Serial ( dari Multi ADC )

Gambar. Pengujian aplikasi Akses Multi Data Serial ( dari Multi ADC )

Page 88: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Menambahkan Database ke aplikasi Akses Multi Data Serial ( dari Multi ADC )

Terlebih dahulu buat sebuah database yang akan dipergunakan untuk menyimpan data

serial yang ada, database dapat dibuat dengan paradox maupun dengan Microsoft Access, dalam

contoh ini, database menggunakan Microsoft Access 2007,

Untuk membuat database :

Buka Microsoft Access 2007, Start All Program Microsoft Office Microsoft Access

2007

Gambar. Membuka Microsoft Access

Setelah terbuka, pilih Blank Database

Gambar. Create blank Database

Kemudian tentukan Folder Penyimpan data

Gambar. Menentukan folder penyimpanan Database

Pilih pada tanda lalu tentukan folder penyimpanan database di dalam 1 folder

aplikasi Akses Multi Data Serial ( dari Multi ADC ) dan beri nama database.mdb dengan save as

type : Microsoft Ofice Access 2003 (*.mdb)

Page 89: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar . Save as Database

Sehingga terbuka sebuah Work Area sebagai berikut:

Gambar. Pembuatan Database

Selanjutnya klik pada

Sehingga muncul kotak dialog penyimpanan tabel pada database, simpan dengan nama

dataTemperature lalu tekan tombol OK.

Gambar. Menyimpan tabel dalam Database

Selanjutnya kan muncul area pembuatan Field database, field adalah tampat untuk menyimpan

data, jika diumpamakan dengan sesuatu di dunia nyata, field kurang lebih sama dengan dompet

sebagai penyimpan uang sebagai berikut:

Page 90: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Membuat Field

Jika diperhatikan pada field ID terdapat tanda primary key (seperti kunci)

Gambar. Delete Primary key

Sebaiknya dihilangkan saja, dengan cara klik pada:

Gambar. Simbol Primary Key

Sebenarnya fungsi primary key adalah untuk menjaga agar tidak terjadi duplikasi dalam

sebuah field, namun pada kenyatannya nya data suhu memiliki kemungkinan besar bernilai

sama, untuk itu tanda primary key sebaiknya dihilangkan saja.

Buat 4 buah field sebagaimana tabel di bawah ini:

Table. Field database sensor suhu

Field name Data type Field size

Sensor 1 Text 5

Sensor 2 Text 5

Sensor 3 Text 5

Page 91: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Sensor 4 Text 5

Gambar. Field yang dibuat

Selanjutnya klik pada

Sehingga muncul field – field database yang telah dibuat sebagai berikut:

Gambar. Field yang telah dibuat

Langkah terakhir , Keluar dari database yang telah dibuat dengan menekan tombol

Close

Selamat Anda berhasil membuat database tempat penyimpanan sensor suhu.

Langkah selanjutnya adalah menambahkan komponen untuk interfacing Delphi dengan

database, sebagai berikut:

Tabel. Daftar komponen untuk interfacing dengan database

No Komponen Properti Nilai

1 GroupBox1 Caption | Data Sensor |

2 AdoConnecti ConnectionString Lihat keterangan

Page 92: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

on

(Component

Pallete :

ADO )

di bawah

Login Prompt False

3 AdoTable

(Component

Pallete :

ADO)

Connection AdoConnection

Tablename dataTemperature

Active True

4 DataSource

(Component

Pallete :

Data Access)

DataSet ADOTable1

5 DBGrid

(Component

Pallete :

Data

Control)

DataSource DataSource1

6 DBNavigator

(Component

Pallete :

Data

Control)

DataSource DataSource1

Visible button NbFirst = True

NbPrior = True

NbNext = True

NbLast = True

NbDelete= True

7 Label6 Caption Waktu

8 Label7 Caption Kosongkan

9 Timer1 - -

Keterangan :

Double klik pada Component ADOConnection1, sehingga

muncul

Page 93: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Memulai koneksi database

Pilih pada Use Connection String kemudian klik pada tombol

Build... sehingga muncul Data Link Properties seperti di

bawah ini:

Gambar. Data Link Properties

Pilih pada Pilihan Microsoft Jet 4.0 OLE DB Provider

Lalu tekan tombol Next... maka akan muncul Data Link

Properties Untuk menentukan lokasi database,

Page 94: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Data link properties : Memilih Database

klik pada tombol di sebelah kanan Select or enter a

database name:, sehingga muncul kotak pemilihan database

seperti gambar di bawah ini:

Gambar. Directory penyimpanan database

Pilih database yang dipergunakan dalam hal ini file bernama

database.mdb, lalu tekan OK, sehingga kembali lagi ke Data

Link Properties Untuk menentukan lokasi database, Klik pada

tombol Test Connection

Page 95: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Data Link Properties Untuk menentukan lokasi

database.

Jika muncul pesan seperti di bawah ini, berarti Koneksi

database berhasil dibuat.

Gambar. Tes Koneksi database berhasil

Page 96: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Sehingga tampilan menjadi :

Gambar. Desain aplikasi Akses Multi Data Serial ( dari Multi ADC ) setelah penambahan

komponen database

Selanjutnya Tambahkan Source Code Sebagai berikut untuk dapat memasukkan data

secara otomatis ke dalam database ketika ada data masuk melalui komponen Comport1:

Tabel. Penambahan Source Code aplikasi Akses Multi Data Serial ( dari Multi ADC )

Nama

Komponen

Event SOURCE CODE

1 Comport OnRxChar adotable1.Open;

adotable1.Append;

adotable1.FieldByName('Senso

r 1').AsString:=edit1.Text;

adotable1.FieldByName('Senso

r 2').AsString:=edit2.Text;

Page 97: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Berikut ini adalah hasil dari pengujian sementara aplikasi dengan tambahan database

Gambar. Pengujian Sementara aplikasi Akses Multi Data Serial ( dari Multi ADC ) + database.

Menambahkan Reporting ke aplikasi Akses Multi Data Serial ( dari Multi ADC )

Untuk dapat mencetak keterangan kondisi suhu yang tercatat setiap kali terjadi perubahan data

sensor yang dikirim ke aplikasi Akses Multi Data Serial ( dari Multi ADC ) lalu disimpan ke

database diperlukan komponen tambahan yaitu Rave Report yang otomatis sudah terinstal di

Delphi dan terdapat pada Component Pallete Rave

adotable1.FieldByName('Senso

r 3').AsString:=edit3.Text;

adotable1.FieldByName('Senso

r 4').AsString:=edit4.Text;

adotable1.FieldByName('time')

.AsString:=label7.Caption;

adotable1.Post;

2 Timer1 OnTimer label7.Caption:=timetostr(now)

;

Page 98: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Component Pallete Rave.

Masukkan komponen tambahan ke aplikasi Akses Multi Data Serial ( dari Multi ADC )

sebagai berikut:

Tabel. Komponen tambahan untuk membuat laporan dari database.

Selanjutnya Double Click

komponen RvProject1, sehingga akan ditampilkan halaman untuk pembuatan report/ laporan

dengan Rave Report sebagai berikut:

Gambar. Area Kerja Rave Report

Selanjutnya pilih File New data object

No Komponen Properti Nilai

1 RvProject1 dari

Component

Pallete Rave

- -

2 RvDataSetConnec

tion1

Component

Pallete Rave

Dataset ADOTable1

3 Button5 Caption

Page 99: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. New Data Object.

Akan muncul sebagai berikut :

Gambar. Data Connection : Direct Data View

Selanjutnya pilih Direct Data View , lalu tekan tombol Next, Muncul sebagai berikut:

Page 100: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Data Connection : Rv Dataset Connection1 (DT)

Tekan tombol finish

Selanjutnya buka ToolsReport WizardsSimple Table

Gambar. Report Wizard

Akan muncul sebagai berikut :

Gambar. Data View untuk laporan

Tekan tombol Next Muncul sebagai berikut:

Page 101: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Field terpilih pada laporan yang akan dibuat.

Klik tombol All dan pastikan semua nama Field yang ada tercentang, atau pilih field-

field tertentu yang ingin ditampilkan pada laporan (sesuai dengan pilihan kita). Lalu tekan

tombol Next, Akan muncul sebagai berikut:

Gambar. Urutan Field pada laporan yang akan dibuat

Pada gambar di atas kita bisa menentukan urutan field-field yang akan dilaporkan sesuai

dengan urutan yang kita inginkan, lalu tekan tombol Next

Muncul sebagai berikut:

Gambar. Judul laporan yang akan dibuat

Page 102: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Pada halaman di atas kita bisa menuliskan judul laporan dalam hal ini saya beri judul

“Laporan Data Suhu 4 Sensor” di halaman tersebut kita juga dapat mengatur margin yang akan

dipergunakan dalam pembuatan laporan. Selanjutnya tekan tombol Next

Muncul sebagai berikut:

Gambar. Pengaturan jenis huruf pada laporan yang akan dibuat

Pada gambar di atas terdapat menu untuk mengatur jenis huruf yang akan dipergunakan

dalam penulisan judul dan data-data dalam field-field yang ada di dalam laporan. Silakan

lakukan pengaturan sesuai dengan keinginan anda. Kemudian tekan tombol Generate

Secara default akan dihasilkan sebuah tampilan laporan dengan halaman dengan

orientasi portrait, sehingga tidak mencukupi untuk menampilkan semua field-field dari database

yang dibuat sehingga kita harus menjadikan set orientation nya Landscape agar semua field

dapat ditampilkan dalam laporan yang dibuat.

Caranya adalah sebagai berikut:

Clik pada main page di sebelah kanan :

Page 103: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Pengaturan main page

Selanjutnya pada object inspector di sebelah kiri, kita unah property Orientation

menjadi Polandscape sebagai berikut:

Gambar. Pengaturan orientasi halaman

Dengan pengaturan yang kita lakukan secara manual akan dihasilkan halaman laporan

sebagai berikut:

Page 104: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Desain tampilan halaman

Langkah selanjutnya adalah membuat preview laporan dengan cara menekan tombol F9

pada key board atau dengan cara FileExecute report sehingga akan dihasilkan tampilan

sebagai berikut :

Gambar. Pengujian laporan (pada Rave report designer)

Selanjutnya tekan tombol OK akan diperoleh laporan database sebagai berikut:

Page 105: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Tampilan Report.

Simpan laporan yang telah dibuat dengan nama “Project1.rav” pada Folder tempat

penyimpanan Aplikasi

Gambar . Menyimpan Project Laporan dari Rave Report

Close Rave Report Designer, lalu kembali ke Delphi, Klik komponen Rv Project1, pada

Object Inspector klik property project file,

Page 106: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Object Inspector

Kemudian arahkan ke tempat penyimpanan file project1.rav yang baru saja dibuat.

Gambar. Directory penyimpanan gile project1.rav

Selanjutnya pada Aplikasi Delphi yang dibuat, double clik pada button5 atau Tombol

Cetak Laporan :

Ketikkan kode sebagai berikut :

RvProject1.Execute;

RvProject1.ExecuteReport('project1.rav');

Proses Pembuatan Laporan serta koneksinya dengan Delphi telah selesai, berikut ini adalah

hasil pengujiannya

Page 107: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Hasil eksekusi aplikasi

Gambar. Mencoba mencetak laporan.

Page 108: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Preview laporan.

Gambar. Cetak ke printer

Menambahkan Chart / Grafik ke Aplikasi Akses Multi Data Serial ( dari Multi ADC )

Kegunaan Chart/grafik pada aplikasi ini adalah untuk menampilkan data sensor dalam

bentuk grafik sehingga data sensor yang terdeteksi ditampilkan dalam bentuk grafik garis.

Fungsi utama grafik tersebut adalah untuk memudahkan pegamatan terhadap kenaikan atau

penurunan suhu yang terjadi. Berikut ini adalah langkah – langkahnya

Tambahkan komponen berikut ini ke dalam Form Aplikasi yang telah dibuat

sebelumnya

Page 109: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Tabel.Tambahan Komponen Chart

No Komponen Properti Nilai Ket

2 GroupBox1 Caption Grafik Data Sensor

7 Button1 Caption Tampilkan Data ke

Chart

10 Chart1 - - Silakan lihat

catatan di bawah

10 Chart2 - - Silakan lihat

catatan di bawah

10 Chart3 - - Silakan lihat

catatan di bawah

10 Chart4 - - Silakan lihat

catatan di bawah

Catatan :

Double click pada komponen chart sehingga muncul pengaturan property chart sebagai berikut:

Klik pada tombol Add..

Sehingga muncul chart gallery sebagai berikut :

Page 110: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Pilih Fast Line lalu tekan tombol OK

Tambahkan 1 buah series lagi (langkahnya sama dengan langkah di atas) sehingga menjadi

sebagai berikut

Untuk pengaturan sumbu vertikal dan horizontal silakan klik pada tab axis

lalu pilih pada sub tab tittle, Anda dapat mengaturnya sesuai dengan keinginan anda, selamat

mengexplorasi dan berkreasi.

Page 111: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Susunlah komponen tambahan tersebut sehingga menjadi seperti gambar di bawah ini:

Gambar. Penambahan komponen grafik

Perbesaran gambar pada bagian grafik adalah sebagai berikut:

Lakukan langkah yang sama untuk ke 3 chart yang lainnya

Page 112: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar. Pembesaran gambar grafik

Langkah berikutnya adalah penambahan source code untuk menampilkan data sensor

suhu ke dalam grafik, source code ini dituliskanpada event OnRxChar milik komponen

comport1, hal ini bertujuan suapaya setiap kali ada perubahan data yang masuk melalui port

serial maka secara otomatis data akan ditampilkan ke grafik, source kode dituliskan di bawah

source code yg sebelumnya telah ditulis (sebagai tambahan).

Sebelum menambahkan source code tersebut, silakan deklarasikan beberapa variable di

bawah ini pada even OnRxChar komponen Comport variable suhu1,suhu2,suhu3,suhu4 dengan

tipe integer; serta variable time dengan tipe string ;

Berikut ini adalah source code yang harus ditambahkan

Tabel1. Source Code tambahan untuk menampilkan data ke grafik

No. Nama

Komponen

Event Source Code

Page 113: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Berikut ini adalah tampilan aplikasi ketika dijalankan

Penambahan grafik telah selesai, Aplikasi dapat dipergunakan sesuai dengan keinginan Anda.

Kendali nyala led via komunikasi serial dengan DelphiPada prinsip nya, tulisan ini akan membahas bagaimana cara menyalakan dan

memadamkan nyala LED (light emiting dioda) melalui komunikasi serial dengan antarmuka aplikasi pada computer yang dibuat dengan menggunakan Delphi 7 . untuk

1 Comport1 OnRx

Char

var suhu1,suhu2,suhu3,suhu4:integer;

time:string ;

begin

time:=timetostr(now);

suhu1:=strtoint(edit1.Text);

chart1.Series[0].Add(suhu1,time,clgreen);

suhu2:=strtoint(edit2.Text);

chart2.Series[0].Add(suhu2,time,cllime);

suhu3:=strtoint(edit3.Text);

chart3.Series[0].Add(suhu3,time,clred);

suhu4:=strtoint(edit4.Text);

chart4.Series[0].Add(suhu4,time,clblue);

end;

Page 114: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

dapat menyalakan dan memadamkan LED yang terkoneksi dengan pin – pin mikrokontroller maka harus “disepakati” dulu “protocol komunikasi” antara sisi computer dengan sisi mikrokontrollerLebih jelas nya adalah sebagai berikut :

Jika computer mengirim data serial berupa string ON1+ char(13) dan mikrokontroller menerima karakter tersebut (baca: ON1+ char(13)) maka LED 1 akan di nyalakan, selanjutnya mikrokontroller akan mengirim notifikasi kepada computer berupa string ON1-OK lalu kemudia karakter ini akan di oleh oleh computer untuk menampilkan keterangan LED1 nyalaSedangkan

Jika computer mengirim data serial berupa string OFF1+ char(13) dan mikrokontroller menerima karakter tersebut (baca: OFF1+ char(13)) maka LED 1 akan di padamkan, selanjutnya mikrokontroller akan mengirim notifikasi kepada computer berupa string OFF1-OK lalu kemudia karakter ini akan di oleh oleh computer untuk menampilkan keterangan LED1 padamTinggal nantinya di pin mikrokontroller manakah LED di hubungkan pada mikrokontroller,

Dalam hal ini PCB yang di sediakan , di desain bahwa LED dipasang pada PINB.0 sampai dengan PIN B.3 , dengan konfigurasi active high yakni jika pin pada mikrokontroller berlogika high (1), maka LED yang terhubung ke Pin mikrokontroller yang dimaksud akan aktif.Selanjutnya berikut ini adalah tabel yang dibuat untuk merencanakan protocol komunikasi yang dapat di mengerti oleh computer dan mirkokontroler untuk saling bercakap-cakap.

no Perintah Dari computer(dikahiri tanda enter)

Balasan dari Mikrokontroler

Aksi mikrokontroler saat ada perintah dari komputer

Aksi pada computer

1 ON1 ON1-OK Menyalakan LED di pin C.4

Menampilkan LED1 nyala

2 OFF1 OFF1-OK Memadamkan LED di pin C.4

Menampilkan LED1 padam

3 ON2 ON2-OK Menyalakan LED di pin C.5

Menampilkan LED2 nyala

4 OFF2 OFF2-OK Memadamkan LED di pin C.5

Menampilkan LED2 padam

5 ON3 ON3-OK Menyalakan LED di pin C.6

Menampilkan LED3 nyala

6 OFF3 OFF3-OK Memadamkan LED di pin C.6

Menampilkan LED3 padam

7 ON4 ON4-OK Menyalakan LED di pin C.7

Menampilkan LED4 nyala

8 OFF4 OFF4-OK Memadamkan LED di pin C.7

Menampilkan LED4 padam

9 ON-ALL ON-ALL-OK Menyalakan LED Menampilkan

Page 115: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

di pin C4-7 SEMUA LED nyala

10 OFFALL OFF-ALL-OK Memadamkan LED di pin C4-7

Menampilkan SEMUA LED padam

Dari tabel tersebut di atas , pertama kita buat source code pada software bascom yang akan di download kan ke mikrokontroller

Source code nya adalah sebagai berikut :$regfile = "m16def.dat"$baud = 9600$crystal = 16000000

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = PortA.2 , Rs = Porta.0

Config Lcd = 16 * 2clsCursor Off

Config Portc.0 = inputConfig Portc.1 = inputConfig Portc.2 = inputConfig Portc.3 = input

Config Portc.4 = outputConfig Portc.5 = outputConfig Portc.6 = outputConfig Portc.7 = output

Portc.0 = 1Portc.1 = 1Portc.2 = 1Portc.3 = 1

Portc.4 = 0Portc.5 = 0Portc.6 = 0Portc.7 = 0

wait 1clslocate 1 , 1lcd "KONTROL LED"locate 2 , 1lcd "SERIAL"

Page 116: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Dim Perintah As String * 6 Print "Ok!"; Do Input Perintah

Select Case Perintah

Case "ON1" : Portc.4 = 1 print "ON1-OK" ; cls locate 1 , 1 lcd perintah Case "ON2" : Portc.5 = 1 cls locate 1 , 1 lcd perintah print "ON2-OK" ; Case "ON3" : Portc.6 = 1 cls print "ON3-OK" ; locate 1 , 1 lcd perintah Case "ON4" : Portc.7 = 1 cls print "ON4-OK"; locate 1 , 1 lcd perintah Case "ON-ALL" : Portc = &B11111111 cls print "ON-ALL-OK"; locate 1 , 1 lcd perintah Case "OFF1" : Portc.4 = 0 cls print "OFF1OK" ; locate 1 , 1 lcd perintah Case "OFF2" : Portc.5 = 0 cls print "OFF2OK"; locate 1 , 1 lcd perintah Case "OFF3" : Portc.6 = 0 cls print "OFF3OK";

Page 117: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

locate 1 , 1 lcd perintah Case "OFF4" : Portc.7 = 0 cls print "OFF4-OK"; locate 1 , 1 lcd perintah Case "OFFALL" : Portc = &B00000000 cls print "OFF-ALL-OK"; locate 1 , 1 lcd perintah End Select LoopEndSimpan source code diatas dengna nama semisal kontrol serial led.bas ,

selanjutnya pada lembar kerja Bascom AVR silakan tekan tombol keyboard F7 atau dapat juga dengan menggunakan menu program compile. Proses compile ini akan menghasilkan file dengan nama kontrol serial led.hex, kontrol serial led.bin dan lain lain yang nantinya file dengan ekstensi hex inilah yang akan di downloadkan ke chip mikrokontroller. (video cara download file dengan extensi hex dari computer ke dalam mikrokontroler dapat dilhat pada folder video.)

Selanjutnya kita buat source code pada Delphi untuk mengirim data serial ke mikrokontroler dan menerima data yang dikirim dari mikrokontroller ke computer yang nanti nya akan ditampilkan sebagai status kondisi nyala-padamnya LED pada display computer.Komponen nya adalah sebagai berikut :no Nama komponen Properties value

1 Groupbox1 Caption | Relay Tester |

2 Button1 Caption ON1

3 Button2 Caption ON2

4 Button3 Caption ON3

5 Button4 Caption ON4

6 Button5 Caption ON SEMUA

7 Shape1 Shape stCircle

8 Shape2 Shape stCircle

9 Shape3 Shape stCircle

10 Shape4 Shape stCircle

11 Shape5 Shape stCircle

12 Groupbox2 Caption Keterangan

13 Label1 Caption Keterangan Kondisi Lampu

14 Memo1 - -

Page 118: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

15 Button Caption Open

Name Buttonopen

16 Button Caption Close

Name ButtonClose

17 Button Caption Setting

Name Buttonset

Selanjutnya untuk tampilan desain aplikasi nya adalah sebagai berikut :

Source code untuk masing masing komponen dapat dilihat pada tabel sebagai berikut:

no Nama komponen

event Source

1 Form On create beginshape1.Brush.Color:=clblack;shape2.Brush.Color:=clblack;shape3.Brush.Color:=clblack;shape4.Brush.Color:=clblack;shape5.Brush.Color:=clblack;end;

2 Button1 onclick beginif button1.Caption='ON1' thenbegincomport1.WriteStr('ON'+#13);shape1.Brush.Color:=clred;

Page 119: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

button1.Caption:='OFF1' endelseif button1.Caption='OFF1'thenbegincomport1.WriteStr('OFF'+#13);shape1.Brush.Color:=clblack;button1.Caption:='ON1'end;end;

3 Button2 onclick beginif button2.Caption='ON2' thenbegincomport1.WriteStr('ON2'+#13);shape2.Brush.Color:=clred;button2.Caption:='OFF2' endelseif button2.Caption='OFF2'thenbegincomport1.WriteStr('OFF2'+#13);shape2.Brush.Color:=clblack;button2.Caption:='ON2'end;end;

4 Button3 onclick beginif button3.Caption='ON3' thenbegincomport1.WriteStr('ON3'+#13);shape3.Brush.Color:=clred;button3.Caption:='OFF3' endelseif button3.Caption='OFF3'thenbegincomport1.WriteStr('OFF3'+#13);shape3.Brush.Color:=clblack;button3.Caption:='ON3'end;end;

5 Button4 onclick beginif button4.Caption='ON4' thenbegincomport1.WriteStr('ON4'+#13);shape4.Brush.Color:=clred;button4.Caption:='OFF4' endelseif button4.Caption='OFF4'then

Page 120: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

begincomport1.WriteStr('OFF4'+#13);shape4.Brush.Color:=clblack;button4.Caption:='ON4'end;end;

6 Button5 onclick beginif button5.Caption='ON SEMUA' thenbegincomport1.WriteStr('ON-ALL'+#13);shape5.Brush.Color:=clred;button5.Caption:='OFF SEMUA' endelseif button5.Caption='OFF SEMUA'thenbegincomport1.WriteStr('OFFALL'+#13);shape5.Brush.Color:=clblack;button5.Caption:='ON SEMUA'end;end;

Buttonset onclick begincomport1.ShowSetupDialog;end;

Buttonclose onclick BeginApplication.Terminate;End;

Buttonopen onclick beginif Comport1.Connected then // jika smalll

port(untuk koneksi dengan port paralel ) sudah terbuka,begin Comport1.Connected :=false; //maka tutup koneksi dengan port paralelButtonOpen.Caption:='Open Driver' //maka

caption tombol menjadi Open Driverendelse Comport1.Connected :=true; // selain itu,

buka smallport (terkoneksi dengan port paralel)if Comport1.Connected then

ButtonOpen.Caption:='Close Driver'; // jika small port terbuka (terkoneksi dengan port serial) maka tombol akan bertuliskan Close Driverend;

Memo1 onchange var on1,on2,on3,on4,onsemua,off1,off2,off3,off4,offsemua:integer;datamasuk:string;

Page 121: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

begindatamasuk:=memo1.Lines[memo1.Lines.Count-1];on1:=pos ('ON1-OK',datamasuk);on2:=pos ('ON2-OK',datamasuk);on3:=pos ('ON3-OK',datamasuk);on4:=pos ('ON4-OK',datamasuk);onsemua:=pos ('ON-ALL-OK',datamasuk);

off1:=pos ('OFF1-OK',datamasuk);off2:=pos ('OFF2-OK',datamasuk);off3:=pos ('OFF3-OK',datamasuk);off4:=pos ('OFF4-OK',datamasuk);offsemua:=pos ('OFF-ALL-OK',datamasuk);

if on1 <> 0 thenbeginlabel1.caption:= 'LED1 nyala';end elseif on2<> 0 thenbeginlabel1.caption:= 'LED2 nyala';end elseif on3<> 0 thenbeginlabel1.caption:= 'LED3 nyala';end elseif on4<> 0 thenbeginlabel1.caption:= 'LED4 nyala';end elseif onsemua<> 0 thenbeginlabel1.caption:= 'SEMUA LED nyala';shape1.Brush.Color:=clred;shape2.Brush.Color:=clred;shape3.Brush.Color:=clred;shape4.Brush.Color:=clred;

end else

if off1 <> 0 thenbeginlabel1.caption:= 'LED1 padam';end elseif off2<> 0 then

Page 122: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

beginlabel1.caption:= 'LED2 padam';end elseif off3<> 0 thenbeginlabel1.caption:= 'LED3 padam';end elseif off4<> 0 thenbeginlabel1.caption:= 'LED4 padam';end elseif offsemua<> 0 thenbeginlabel1.caption:= 'SEMUA LED padam';shape1.Brush.Color:=clblack;shape2.Brush.Color:=clblack;shape3.Brush.Color:=clblack;shape4.Brush.Color:=clblack;

end;end;

Comport1 onrxchar var Str, datamasuk: String;begincomport1.ReadStr(str,count);memo1.Text:=memo1.Text+str;datamasuk:=memo1.Lines[memo1.Lines.Count-1];

form1.Caption:=datamasuk;

Keterangan fungsi pos pada bagian memo text adalah sebagai berikut:Fungsi pos adalah untuk mencari kata tertentu yang sesuai dengan kata kuncil yang telah di set, jika ada maka dia bernilai 1 (bukan 0)Dalam contoh tersebut , kita ambil on1:=pos ('ON1-OK',datamasuk); berarti jika ada karakter ON1-OK pada memo1 baris terakhir , maka nilai on 1 adalah 1 (bukan 0), setelah itu aka nada tugas lain yang di lakukan yakni menampilkan tulisan led 1 nyala pada komponen label1Sebagai mana source code sebagai berikut :

if on1 <> 0 thenbeginlabel1.caption:= 'LED1 nyala';end else

Eksekusi program , seharusnya aplikasi menjadi sebagai berikut :

Page 123: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Pertama kali klik setting port, pilih com number, baud rate dll

Kemudian klik open port, baru dapat dipergunakan untuk pengontrolan

Page 124: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

NB :Source code lengkap aplikasi terdapat pada folder aplikasi Video pengujian dapat dilihat pada folder video

Mengontrol relay dengan tegangan kerja 5 volt dengan computer untuk aktivasi lampu dengan tegangan kerja 220 volt AC

Tulisan ini adalah kelanjutan dari tulisan sebelumnya yang berjudul Kendali nyala led via komunikasi serial dengan Delphi

Hanya saja dalam hal ini dikembangkan lebih kompleks supaya dapat dipergunakan untuk mengontrol peralatan listrik dengan tegangan kerja 220volt AC atau biasa disebut tegangan kerja PLN. bagaimanakah logikanya? Secara sederhana dapat dijelaskan bahwa logika high atau low pada pin mikrokntroller dapat dipergunakan untuk trigger pada rangkaian transistor sebagai saklar, dalam hal ini logika High akan dijadikan bias maju bagi pin basis transistor sehingga transistor dapat aktif ketika kaki colektor dan emitor dibias maju (sebagai catatan transistor yang dipergunakan adalah BC 547 yang merupakan transistor NPN).Skematik transistor sebagai saklarnya adalah sebagai berikut :

Page 125: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Secara perhitungan mudah,nilai Resistor yang dapat dihubung pada kaki basis transistor supaya dapat menjadi trigger dengan baik adalah sebagai berikut : (referensi http://yosmedia.blogspot.com/2008/06/transistor-sebagai-saklar-switching.html )

Salah satu cara termudah untuk memahami cara kerja transistor adalah dengan menganggapnya sebagai sebuah saklar. Untuk menghasilkan kondisi on/off seperti pada saklar, transistor dioperasikan pada salah satu titik kerjanya, titik saturasi dan cut off. Transistor akan aktif apabila diberikan arus pada basis transistor sebesar :

Saat kondisi saturasi, transistor seperti sebuah saklar yg tertutup (on) sehingga arus dapat mengalir dari kolektor menuju emitor. Sedangkan saat kondisi cutoff, transistor seperti sebuah saklar yg terbuka (off) sehingga tidak ada arus yg mengalir dari kolektor ke emitor.

Out1

12

Vol

R2

4k7

Q1

BC547

RL1

12V

D1DIODE

D2LED-BLUE

R3

1kL1220v

RL1(COM)

Page 126: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Agar transistor dapat bekerja sebagai saklar, ada beberapa hal yg harus diperhatikan diantaranya :

1. Menentukan Ic

Ic adalah arus beban yg akan mengalir dari kaki kolektor ke emitor. Besarnya arus beban ini tidak boleh lebih besar dari Ic maksimum yang dpt dilewatkan oleh transistor. Arus beban ini dapat dicari dengan persamaan berikut :

2. Menentukan hfe transistor

Setelah arus beban yg akan dilewatkan pada transistor diketahui maka selanjutnya adalah menentukan transistor yg akan dipakai dgn syarat spt berikut :

3. Menentukan Rb

Setelah transistor yg akan dipakai sebagai saklar telah ditentukan maka selanjutnya adalah menentukan hambatan pada basis (Rb). Besarnya Rb ini

Page 127: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

dapat dicari dengan persamaan berikut :

Dari data gambar skema rangkaian yang dipergunakan pada rangkaian transistor sebagai saklar yang dihubung ke sistem mikrokontroler

Diketahui : Vbb = tegangan pin mikrokontroller saat kondisi logika high (nilanya 5 volt)Dari datasheet Transistor bc 547 diperoleh data hfe dengan nilai mendekati 100 dan Vbe = 0,7 volt( datasheet terlampir pada folder datasheet)Dari datasheet SONGLE RELAY diperoleh data bahwa untuk koil relay dengann tegangan kerja 5 volt diperoleh data bahwa arus relay adalah 89.3 miliAmpere

( datasheet terlampir pada folder datasheet)

Dari data di atas dapat di hitung Ib = Ic/hfeIb = 89,3 miliAmpere / 100Ib = 0,893 miliAmpere

Rb = ( Vbb – Vbe )/IbRb = (5 volt – 0,7 volt )/ 0,893 miliAmpereRb = 4,3 volt / 0,893 miliAmpereRb = 4815 ohmNilai resistor yang ada dipasaran dan mendekati nilai tersebut adalah 4700 ohm atau 4,7k ohm, jadi diputuskan bahwa nilai resistor basis adalah 4700 ohm atau 4,7k ohm,

Ada baiknya pula kita menambahkan dioda (1N4001) seperti pada gbr rangkaian diatas. Dioda ini berfungsi sebagai proteksi transistor untuk menghubung singkat tegangan induksi yg mgkn terjadi saat peralihan kondisi dari on ke off.

Pada gambar di atas Pin Out1 menuju ke salah satu pin mikrokontroller untuk mendapatkan trigger dari pin mikrokontroller, saat logika high atau bernilai 5 volt maka relay aktif, sedangkan logika low atau bernilai 0 volt maka relay non aktif

Daftar komponen yang di pergunakan dalam satu buah rangkaian transistor sebagai saklar pada driver relay adalah:

1. Resistor 4,7 ohm2. Transistor bc5473. Led 5 mm merah4. Resistor 1k ohm (untuk dipasang sebagai pembatas arus LED)5. Diode 1N4002

Page 128: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

6. Relay 5 volt 5 pin

Sedangkan gambar desain pada pcb nya adalah sebagai berikut , 3 buah led dan 1 buah relay untuk aktivasi peralatan listrik 220 volt:

Dalam hal ini , dipergunakan atmega 16 sebagai chip kontroll nya , serta LCD sebagai penampil perintah yang dikirim computer kepada mikrokontroller (PCB siap dirangkai , terlampir pada paket)Daftar komponen nya adalah sebagai berikut :

1. 1 buah Terminal blok2. 2 buah diode 1N4002 3. 2 buah kapasitor electrolit 330uf / 16 volt4. 2 buah resistor 1k ohm (sebagai pembatas arus LED)5. 1 buah resistor 10k ohm (sebagai anti bouncing rangkaian reset)6. 1 buah LED 3mm hijau7. 1 buah microswitch push on8. 5 buah kapasitor electrolit 10uf/16 volt (sebagai anti bouncing rangkaian reset)9. 1 buah regulator 5 volt10. Cristal 16 Mhz11. Kapasitor keramik 22pf12. Variable resistor 2k ohm13. Lcd 2x1614. IC maxim 23215. Soket IC 16 pin16. Soket IC 40 pin17. Black header 5 pin

Page 129: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

18. Black header 6 pin19. Port db 9 female siku 20. Transistor BC 54721. Resistor 4700 ohm22. Diode 1N4002 (sebagai anti arus balik)23. LED 5 mm

Program antar muka yang pada computer di buat dengan Delphi 7 memanfaatkan komponen tambahan yakni comport, Selanjutnya berikut ini adalah tabel yang dibuat untuk merencanakan protocol komunikasi yang dapat di mengerti oleh computer dan mirkokontroler untuk saling bercakap-cakap.No Perintah Dari

computer(diakhiri enter)

Balasan dari Mikrokontroler

Aksi mikrokontroler saat ada perintah dari computer

Aksi pada computer

1 ON1 ON1-OK Menyalakan LED di pin C.4

Menampilkan LED1 nyala

2 OFF1 OFF1-OK Memadamkan LED di pin C.4

Menampilkan LED1 padam

3 ON2 ON2-OK Menyalakan LED di pin C.5

Menampilkan LED2 nyala

4 OFF2 OFF2-OK Memadamkan LED di pin C.5

Menampilkan LED2 padam

5 ON3 ON3-OK Menyalakan LED di pin C.6

Menampilkan LED3 nyala

6 OFF3 OFF3-OK Memadamkan LED di pin C.6

Menampilkan LED3 padam

7 ON4 ON4-OK Menyalakan LED di pin C.7

Menampilkan LED4 nyala

8 OFF4 OFF4-OK Memadamkan LED di pin C.7

Menampilkan LED4 padam

9 ON-ALL ON-ALL-OK Menyalakan LED di pin C4-7

Menampilkan SEMUA LED nyala

10 OFFALL OFF-ALL-OK Memadamkan LED di pin C4-7

Menampilkan SEMUA LEDpadam

Dari tabel tersebut di atas , pertama kita buat source code bascom yang akan di download kan ke mikrokontroller

Source code nya adalah sebagai berikut :$regfile = "m16def.dat"$baud = 9600$crystal = 16000000

Page 130: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = PortA.2 , Rs = Porta.0

Config Lcd = 16 * 2clsCursor Off

Config Portc.0 = inputConfig Portc.1 = inputConfig Portc.2 = inputConfig Portc.3 = input

Config Portc.4 = outputConfig Portc.5 = outputConfig Portc.6 = outputConfig Portc.7 = output

Portc.0 = 1Portc.1 = 1Portc.2 = 1Portc.3 = 1

Portc.4 = 0Portc.5 = 0Portc.6 = 0Portc.7 = 0

wait 1clslocate 1 , 1lcd "KONTROL 220 volt"locate 2 , 1lcd "SERIAL"

Dim Perintah As String * 6 Print "Ok!"; Do Input Perintah

Select Case Perintah

Case "ON1" : Portc.4 = 1 print "ON1-OK" ; cls locate 1 , 1

Page 131: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

lcd perintah Case "ON2" : Portc.5 = 1 cls locate 1 , 1 lcd perintah print "ON2-OK" ; Case "ON3" : Portc.6 = 1 cls print "ON3-OK" ; locate 1 , 1 lcd perintah Case "ON4" : Portc.7 = 1 cls print "ON4-OK"; locate 1 , 1 lcd perintah Case "ON-ALL" : Portc = &B11111111 cls print "ON-ALL-OK"; locate 1 , 1 lcd perintah Case "OFF1" : Portc.4 = 0 cls print "OFF1OK" ; locate 1 , 1 lcd perintah Case "OFF2" : Portc.5 = 0 cls print "OFF2OK"; locate 1 , 1 lcd perintah Case "OFF3" : Portc.6 = 0 cls print "OFF3OK"; locate 1 , 1 lcd perintah Case "OFF4" : Portc.7 = 0 cls print "OFF4-OK"; locate 1 , 1 lcd perintah Case "OFFALL" : Portc = &B00000000 cls print "OFF-ALL-OK"; locate 1 , 1 lcd perintah

Page 132: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

End Select Loop

EndKeterangan : source code di atas sama persis dengan source code pada bagian yang berjudul Kendali nyala led via komunikasi serial dengan Delphi, tapi ada perbedaan pada bagian

locate 1 , 1lcd "KONTROL 220 volt"locate 2 , 1lcd "SERIAL"

kode tersebut di atas hanya dipergunakan untuk mengganti tulisan yang muncul di LCD ketika pertama kali sistem mikrokontroler dinyalakan.Silakan compile source code di atas, lalu kemudian download ke chip mikrokontrollerDan berikut ini adalah gambar alat yang disarankan

NB :Source code lengkap aplikasi terdapat pada folder aplikasi Video pengujian dapat dilihat pada folder videoSms controller berbasis PC-mikrokontroller.Sebenarnya secara praktik nyata dapat dikatakan bahwa judul diatas adalah judul yangkonyol. Mengapa demikian ? karena computer memerlukan daya yang cukup tinggi untuk dapat menyala dan melakukan control terhadap peralatan listrik semisal lampu 220volt AC, namun untuk sebatas tugas akhir ataupun ide gagasan yang perlu direalisasi mungkin ini akan dapat dipertimbangkan untuk dipelajari (point of viewnya adalah belajar permrograman interface).Oke secara kasar judul diatas dapat diwakili oleh gambar sebagai berikut :

INPUT SMS KOMPUTER MIKROKON-TROLER

RELAY BOARD

Page 133: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Sedangkan untuk rangkaian control nya sama dengan judul sebelumnya yakni Mengontrol relay dengan tegangan kerja 5 volt dengan computer untuk aktivasi lampu dengan tegangan kerja 220 volt AC

Komponen yang perlu ditambahkan pada aplikasi Delphi adalah sebagai berikut :No Nama komponen properties value

1 Groupbox1 Caption Bagian SMS

2 Button6 Caption Set Port

3 Button7 Caption Open

4 Button8 Caption Clear

5 Label2 Caption Status

6 Label3 Caption Pengirim

7 Label4 Caption Tanggal

8 Label5 Caption Waktu

9 Label6 Caption Isi

10 Edit1 Text kosongkan

11 Edit2 Text kosongkan

12 Edit3 Text kosongkan

13 Edit4 Text kosongkan

14 Edit5 Text kosongkan

15 Comport2 - -

Atur desain tampilan menjadi sebagai berikut :

Page 134: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Peralatan tambahan yang diperlukan adalah modem gsm yang support mode text yang dilengkapi dengan kartu aktif dan pulsanyaPrinsip kerjanya adalah sebagai berikut :

Saat ada sms masuk dengan format ON<x> dimana x adalah angka 1-4, maka ini berarti merupakan kode untuk menyalakan LED yang ada pada Pin-pin mikrokontrolerSedangkan

Saat ada sms masuk dengan format OFF<x> dimana x adalah angka 1-4 maka ini berarti merupakan kode untuk memadamkan LED yang ada pada Pin-pin mikrokontrolerProgram pada sisi mikrokontroller sama dengan program pada bab Kendali nyala led via komunikasi serial dengan Delphi , namun ada perbedaan sedikit pada bagian locate 1 , 1lcd "KONTROL LISTRIK"locate 2 , 1lcd "VIA SMS SERIAL"

secara keseluruhan source code nya adalah :$regfile = "m16def.dat"$baud = 9600$crystal = 16000000

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = PortA.2 , Rs = Porta.0

Config Lcd = 16 * 2clsCursor Off

Page 135: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Config Portc.0 = inputConfig Portc.1 = inputConfig Portc.2 = inputConfig Portc.3 = input

Config Portc.4 = outputConfig Portc.5 = outputConfig Portc.6 = outputConfig Portc.7 = output

Portc.0 = 1Portc.1 = 1Portc.2 = 1Portc.3 = 1

Portc.4 = 0Portc.5 = 0Portc.6 = 0Portc.7 = 0

wait 1clslocate 1 , 1lcd "KONTROL 220 volt"locate 2 , 1lcd "SERIAL"

Dim Perintah As String * 6Print "Ok!";

Do Input Perintah

Select Case Perintah

Case "ON1" : Portc.4 = 1 print "ON1-OK" ; cls locate 1 , 1 lcd perintah Case "ON2" : Portc.5 = 1 cls locate 1 , 1 lcd perintah print "ON2-OK" ; Case "ON3" : Portc.6 = 1

Page 136: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

cls print "ON3-OK" ; locate 1 , 1 lcd perintah Case "ON4" : Portc.7 = 1 cls print "ON4-OK"; locate 1 , 1 lcd perintah Case "ON-ALL" : Portc = &B11111111 cls print "ON-ALL-OK"; locate 1 , 1 lcd perintah Case "OFF1" : Portc.4 = 0 cls print "OFF1OK" ; locate 1 , 1 lcd perintah Case "OFF2" : Portc.5 = 0 cls print "OFF2OK"; locate 1 , 1 lcd perintah Case "OFF3" : Portc.6 = 0 cls print "OFF3OK"; locate 1 , 1 lcd perintah Case "OFF4" : Portc.7 = 0 cls print "OFF4-OK"; locate 1 , 1 lcd perintah Case "OFFALL" : Portc = &B00000000 cls print "OFF-ALL-OK"; locate 1 , 1 lcd perintah

End Select LoopEnd

Aplikasi pada computer yang dibuat dengan Delphi 7 harus ditambahkan komponen sebagaimana tabel di atas. sedangkan Source code yang harus ditambahkan

Page 137: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

pada komponen tambahan tersebut adalah :No Nama

komponenevent Source

1 Comport2 onrxchar varStr: String;beginmemo2.clear;ComPort2.ReadStr(Str, Count);Memo2.Text := Memo2.Text + Str;end;

2 Memo2 Onchange var a,b,c,d:integer;kar_awal,kar_akhir:integer;s:string;begina:=pos ('+CMTI',memo2.Text);if a <> 0 thenbeginb:=posex (',',memo2.Text,a+1);c:=posex (#13#10,memo2.Text,b+1);s:=copy (memo2.Text,b+1,c-b-1);ComPort2.WriteStr('at+cmgr='+s+#13#10);end;d:=pos ('+CMGR',memo2.Text);if d <> 0 thenbeginkar_awal:=pos ('"',memo2.Text);kar_akhir:=posex ('"',memo2.Text,kar_awal+1);edit1.text :=copy(memo2.Text,kar_awal+1,kar_akhir-kar_awal-1);kar_awal:=posex ('"',memo2.Text,kar_akhir+1);kar_akhir:=posex ('"',memo2.Text,kar_awal+1);edit2.text :=copy(memo2.Text,kar_awal+1,kar_akhir-kar_awal-1);kar_awal:=posex ('"',memo2.Text,kar_akhir+1);kar_akhir:=posex (',',memo2.Text,kar_awal+1);edit3.text:=copy(memo2.Text,kar_awal+1,kar_akhir-kar_awal-1);kar_awal:=kar_akhir;kar_akhir:=posex ('"',memo2.Text,kar_awal+1);edit4.text:=copy(memo2.Text,kar_awal+1,kar_akhir-kar_awal-4);kar_awal:=posex (#13#10,memo2.Text,kar_akhir+1);kar_akhir:=posex

Page 138: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

(#13#10,memo2.Text,kar_awal+1);edit5.text:=copy(memo2.Text,kar_awal+2,kar_akhir-kar_awal-2);end;

3 Edit5 Onchange beginif (edit5.Text='ON1') thenbegincomport1.WriteStr('ON1'+#13);endelseif edit5.Text='ON2' thenbegincomport1.WriteStr('ON2'+#13);endelseif edit5.Text='ON3' thenbegincomport1.WriteStr('ON3'+#13);endelseif edit5.Text='ON4' thenbegincomport1.WriteStr('ON4'+#13);endelseif edit5.Text='OFF1' thenbegincomport1.WriteStr('OFF1'+#13);endelseif edit5.Text='OFF2' thenbegincomport1.WriteStr('OFF2'+#13);endelseif edit5.Text='OFF3' thenbegincomport1.WriteStr('OFF3'+#13);endelseif edit5.Text='OFF4' thenbegincomport1.WriteStr('OFF4'+#13);end

Silakan koneksikan computer dengan port db 9 pada pcb mempergunakan kabel usb to

Page 139: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

serial. Kemudian setting port lalu koneksikan , selanjutnya test program control. NB :Source code lengkap aplikasi terdapat pada folder aplikasi Video pengujian dapat dilihat pada folder video

Tombol input mikrokontroller ditampilkan pada form aplikasi yang dibangun dengan Delphi 7

Pada bagian ini , akan dibahas mengenai tombol pushbutton (push on) pada pin mikrokontroler yang di fungsikan sebagai inputan bagi aplikasi pada yang dibangun dengan Delphi 7. Secara sederhana dapat dijelaskan bahwa jika tombol 1 di tekan, maka pada form Delphi akan di tampilkan keterangan pada label bahwa tombol 1 ditekan , begitupun saat tombol 2 di tekan maka akan ditampilkan pada label bahwa tombol 2 ditekan.

Dalam pembahasan kali ini akan di bahas 2 tombol inputan saja sebagai contoh supaya nantinya pembaca dapat mengembangkan nya menjadi lebih kompleks lagi, semisal untuk jumlah tombol yang jumlahnya lebih banyak lagi.

Pada contoh aplikasi ini , sekali lagi mikrokontroller akan dibungkan ke komputer / laptop melalui port serial atau port usb (menggunakan kabel usb to serial converter). Sedangkan tombol push button input dipasang pada PinD3 dan PinD4 mikrokontroller , konfigurasinya sebagai pin input yang bersifat “low aktif” dimana ketika tombol push button di tekan, maka secara otomatis akan menyebabkan pin mikrokontroller terhubung ke jalur ground rangkaian sehingga berlogika low, nah ketiki logika low inilah “kode” bahwa tombol di tekan dikirim ke PC / laptop. Dalam contoh kasus ini, aturan yang dibuat adalah : ketika tombol 1 ditekan maka mikrokontroller akan mengirim karakter angka “1” ke komputer / laptop melalui komunikasi serial , nah di saat yang lain yaitu saat tombol 2 ditekan maka mikrokontroller akan mengirim karakter angka “2” ke komputer / laptop.

Source code yang ditulis pada software bascom untuk nantinya dicompile dan kemudian di downloadkan pada mikrokontroller adalah sebagai berikut :

$regfile = "m16def.dat" ' jenis mikro yang digunakan$crystal = 16000000 'Cristal yang digunakan$baud = 9600 'baud rate yang digunakanConfig Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = PortA.2 , Rs = Porta.0Config Lcd = 16 * 2clsCursor OffCONFIG PORTC.0 = INPUTCONFIG PORTC.1 = INPUTPortc.0 = 1Portc.1 = 1Print "Ok!"wait 1clslocate 1 , 1lcd "INPUT TOMBOL"

Page 140: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

locate 2 , 1lcd "PORT SERIAL"Doif PINC.0 = 0 thenWAITms 200Print "1" ;WAITms 200ClsLocate 1 , 4Lcd "TOMBOL 1"

elseif PINC.1 = 0 thenWAITms 200Print "2";WAITms 200ClsLocate 1 , 4Lcd "TOMBOL 2"end IFloopSedikit penjelasan pada program utama dari source code di atas adalah bagian

source code sebagai berikut :if PORTC.0 = 0 thenPrint "1";

Adalah bagian perintah jika tombol 1 yang terhubung di portd.3 ditekan maka akan mengirimkan karakter “1” ke komputer. Begitu pula bagian source code

elseif PORTC.1 = 0 thenPrint "2";

Adalah bagian perintah jika tombol 2 yang terhubung di portd.4 ditekan maka akan mengirimkan karakter “1” ke komputer.

Dari penjelasan jalannya program di atas, dapat dijelaskan bahwa bahwa :“ketika tombol 1 ditekan maka mikrokontroller akan mengirim karakter angka

“1” ke komputer / laptop melalui komunikasi serial , nah di saat yang lain yaitu saat tombol 2 ditekan maka mikrokontroller akan mengirim karakter angka “2” ke komputer / laptop”

Maka dapat diambil kesimpulan, nantinya komputer akan menerima karakter angka “1” saat tombol 1 ditekan , dan angka “2” saat tombol 2 ditekan. Dari aturan / rule tersebut, nantinya aplikasi yang di buat dengan Delphi akan menampilkan keterangan pada komponen label bahwa “tombol 1 ditekan” atau “tombol 2 ditekan” ketikan tombol 1 atau tombol 2 pada mikrokontroller di tekan.

Page 141: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Secara tabel dapat di tuliskan sebagai berikut :

No Tombol ditekan pada mikrokontroller

Karakter dikirim dari mikrokontroller

Karakter diterima oleh komputer / laptop

Keterangan yang ditampilkan pada komponen label aplikasi Delphi

1 tombol 1 1 1 tombol 1 ditekan2 tombol 2 2 2 tombol 1 ditekan

Setelah source code didownloadkan pada mirkokontroller (cara download pada bagian mikrokontroller dapa dilihat pada video yang terlampir pada CD folder video)

Saat nya di ujicoba melalui hyperteminal, apakah benar saat tombol 1 ditekan, maka mikrokontroller akan mengirim karakter angka 1 ke komputer/ laptop? Demikian juga untuk tombol 2,apakah ketika ditekan akan mengirim karakter angka 2

Berikut ini adalah hasil uji cobanya :

Setelah ujicoba dengan hyperterminal berhasil, selanjutnya pembuatan source

Page 142: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

code pada aplikasi Delphi yang dipergunakan untuk menampilkan status tombol yang di tekan pada mikrokontroller. berikut ini adalah komponen yang dipergunakanno Nama komponen Properties value

1 Label1 Caption Tombol ditekan

2 Button1 Caption Open Conn uC

Name Button1

3 Button2 Caption Cek

Name Button2

4 Button3 Caption Set port

Name Button3

5 Comport1 - -

Susunan komponen pada form adalah sebagai berikut :

Untuk source code nya adalah sebagai berikut :No Nama komponen event Source

1 Comport1 onrxchar var datain: String;begin

ComPort1.ReadStr(datain, Count);if datain ='1' thenbeginlabel1.Caption:='Tombol 1

ditekan'endelse

if datain ='2' thenbeginlabel1.Caption:='Tombol 2

ditekan'end

Page 143: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

end

2 Button1 if ComPort1.Connected thenbeginComPort1.Close;button1.Caption:='Open Conn uC';endelsebeginComPort1.Open;button1.Caption:='Close Conn uC';end;

3 Button3 comport1.ShowSetupDialog;

Hasil eksekusi program nya adalah sebagai berikut:

Ujicoba nya adalah sebagai berikut :Gambar uji koneksi sukses

Gambar tombol 1 ditekan

Page 144: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Gambar tombol 2 ditekan

NB :Source code lengkap aplikasi terdapat pada folder aplikasi Video pengujian dapat dilihat pada folder video

Menghitung dan menampilkan jumlah berapa kali tombol pada mikrokontroler ditekan

Contoh aplikasi ini merupakan pengembangan selanjutnya dari bagian yang berjudul Tombol input mikrokontroller ditampilkan pada form aplikasi yang dibangun dengan Delphi 7, dimana pada bagian tersebut tombol ditekan hanya ditampilkan keterangan pada aplikasi Delphi yang dibuat, sedangkan pada bagian ini, setiap kali tombol 1 ditekan, maka pada aplikasi delphi yang dibuat akan di tampilkan keterangan tentang berapa kali tombol 1 sudah ditekan.Begitu pula dengan tombol 2 , jika tombol 2 ditekan, maka pada aplikasi delphi yang dibuat akan di tampilkan keterangan tentang berapa kali tombol 2 sudah ditekan.

Source code pada bagian mikrokontroler sama dengan source code pada bagian yang berjudul Tombol input mikrokontroller ditampilkan pada form aplikasi yang dibangun dengan Delphi 7, sedangkan source code pada aplikasi komputer yang dibuat dengan Delphi akan di modifikasi dengan menambahkan komponen tambahan dan sedikit tambahan source code sebagai pencacah berapa kali jumlah tombol sudah ditekan.

Berikut ini adalah tambahan komponen yang ditambahkan ke form pada aplikasiTombol input mikrokontroller ditampilkan pada form aplikasi yang dibangun dengan Delphi 7,

Page 145: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

no Nama komponen Properties value 1 Label2 Caption Tombol 2 ditekan

2 Perubahan pada label1 Caption Tombol 1 ditekan

sedangkan tampilannya adalah sebagai berikut :

NB : Jangan lupa deklarasikan 2 buah variable global tekan1 dan tekan2 dengan tipe integer sebagaimana gambar berikut :

Page 146: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Selanjutnya Source code nya adalahsebagai berikut :No Nama komponen event Source

1 Comport1 onrxchar var datain: String;beginComPort1.ReadStr(datain, Count);if datain =’1’ thenbegininc(tekan1);label1.Caption:=’Tombol 1

ditekan sebanyak = ‘+ inttostr(tekan1) + ‘ kali’;endelseif datain =’2’ thenbegininc(tekan2);label2.Caption:=’Tombol 2

ditekan sebanyak = ‘+ inttostr(tekan2) + ‘ kali’;endend;

2 Button1 Onclick if ComPort1.Connected thenbeginComPort1.Close;button1.Caption:=’Open Conn uC’;endelsebeginComPort1.Open;button1.Caption:=’Close Conn uC’;end;

4 Button3 Onclick comport1.ShowSetupDialog;

5 Form On create tekan1:=0;tekan2:=0;

Hasil eksekusi program nya adalah sebagai berikut :

Page 147: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Test koneksi suksesnya sebagai berikut :

Page 148: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

NB :Source code lengkap aplikasi terdapat pada folder aplikasi Video pengujian dapat dilihat pada folder video

NB : Pada aplikasi lainnya dapat dikembangkan sebagai penghitung jumlah orang yang memasuki sebuah pintu tertentu pada sebuah gedung. Serta dapat pula dikembangkan menjadi sebuah aplikasi client server yang dapat dilihat oleh banyak user dari banyak komputer untuk mengakses komputer data pada server mengenai informasi jumlah pengunjung tersebut.

Penulis menyadari sepenuhnya bahwa tidak ada karya manusia yang sempurna, untuk itu jika ada kritik, saran, pertanyaan dan sebagainya mhon dikirimkan ke alamat email : [email protected] dan terimakasih.Semoga bermanfaat,

Penutup

UTILITIES

Virtual Serial Port sebagai software simulasi pada komunikasi serial pada 1 buah

Personal Computer

Page 149: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

1. Klik ganda pada installer yang yang ada pada CD Bundle sehingga muncul sebagai

berikut:

2. Gunakan “Syndrome NEXT” untuk masing –masing kotak dialog instalisasi yang

muncul sebagaimana gambar-gambar di bawah ini.

3. Jangan lupa untuk Klik pada Check Box I Accept the term….

4. Pada langkah ini klik pada radio button I Would like to test and eval…. Lalu syndrome

Next

Page 150: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

5. Klik Install pada tampilan berikut ini :

Page 151: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

6. Berikan Cek pada Check Box Launch Program, Lalu Klik Finish

7. Software ini hanya memberikan masa trial selama 15 hari, tekan pada tombol Continue

With Trial.

8. Akan muncul

Page 152: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

9. Klik pada untuk menambah virtual serial port pada Komputer / Laptop , Pada

tampilan yang ada di bawah ini, anda dapat menambah sebanyak mungkin virtual serial

port sebagai mana keinginan anda, pada contoh berikut ini, virtual serial port yang akan

dibuat adalah COM1 yang terhubung dengan COM2, klik OK

10. Penjelasan bahwa virtual serial port yang baru saja dibuat terhubung antara COM1

dengan COM2

11. Selanjutnya PC telah memiliki tambahan serial port yang dapat dipergunakan dalam

simulasi komunikasi serial dalam 1 PC

Page 153: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

NB : versi gratis untuk virtual serial port , dapat menggunakan

Virtual Serial Ports Emulator (VSPE)

ini dia penjelasan resmi dari web nya

About VSPE

VSPE is intended to help software engineers and developers to create/debug/test applications that use serial ports. It is able to create various virtual devices to transmit/receive data. Unlike regular serial ports, virtual devices have special capabilities: for example, the same device can be opened more than once by different applications, that can be useful in many cases. With VSPE you are able to share physical serial port data for several applications, expose serial port to local network (via TCP protocol), create virtual serial port device pairs and so on.

Key Features

Virtual device: connector Virtual device: data splitter Virtual device: pair Mapper device User mode device: TcpServer User mode device: TcpClient User mode device: Serial Redirector User mode device: UDP Manager User mode device: Bridge Python scripting system x86 and x86_64 processor architecture support VSPE API (C/C++ header and static library) for native language developers VSPE API Python bindings for Python developers Embedded HTTP server Data monitoring

Screen shoot aplikasi tersebut adalah sebagai berikut :

Page 154: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

saya hanya nampilkan yang versi pair saja ya... karena ini yang paling sering saya pergunakan untuk berpura - pura (virtual)... maksudnya komunikasi serial antara 2 device serial yang sekedar berpura pura (tapi bisa)

Requirements

Operating system: Windows 2000, XP, Vista (32/64), Windows 7

Free License for 32 bit Platform (X86)

Virtual Serial Ports Emulator is a FREEWARE program on 32 bit platform and can be used absolutely free for any purpose.FOR DEVELOPERS: You can also use FREE VSPE API key located in the distribution package to get access to internal VSPE functions.

Page 155: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Free License for 32 bit Platform VSPE API Key (X86 only)

Please look for the FREE 32 bit VSPE API key in the distribution package (VSPE_API_32_KEY.txt in SetupVSPE.zip). Please note, that this key is valid for the current version only! After installing new VSPE version, you should replace old key with the new one.

Download and Documentation ( SILAKAN DOWNLOAD PADA LINK DI BAWAH INI)

To download VSPE please click HERE;

Penutup

Dari tulisan ini, Anda telah belajar cara mudah dan sederhana untuk mengakses port

parallel serta port serial pada PC. Penulis sepenuhnya berusaha untuk membahas semua isi

tulisan ini dengan cara mudah dan memudahkan, harapan penulis semoga pembaca dapat

memahami isi tulisan ini dengan baik sehingga dapat mengembangkannya menjadi aplikasi

yang lebih kompleks dan bermanfaat. Selamat Belajar!

Referensi

Abdul Kadir, (2004), Pemrograman Database dengan Delphi 7 MenggunakanAccess ADO, Yogyakarta: ANDI Offset.

Afrie Setiawan. (2011). 20 Aplikasi Mikrokontroller ATMEGA8535,ATMEGA16

menggunakan BASCOM-AVR. Yogyakarta: ANDI Offset.

Retna Prasetya dan Catur Edi Widodo. (2004). Interfacing Port Paralel dan Port

Serial Komputer dengan Visual Basic 6.0. Yogyakarta: ANDI Offset.

Page 156: Taufik Adi Sanjaya Interface

Waktunya Menuju Puncak Keberhasilan Diri Untuk Menginspirasi Orang Lain

Mohon dibacakan Surat Al Fatikhah Untuk Penyusun Tulisan ini, TrimsRegards, Taufik Adi Sanjaya

Biografi PenulisTaufik Adi Sanjaya. Numpang lahir di Garut, Jawa Barat. Dibesarkan di Kulon Progo. Penulis aktif di http://ilmukomputer.org/ admin : http://embeddedsystem.itstoshare.com/

Identitas lengkap penulis dapat dilihat di http://embeddedsystem.itstoshare.com/

Email : [email protected]

atau facebook : http://www.facebook.com/t.adisanjaya?ref=tn_tnmn


Recommended