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.
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
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 )
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.
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:
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.
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
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
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).
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.
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 - -
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
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
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
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
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 :
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
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 :
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
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
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
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);
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;
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
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;
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';
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
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;
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
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
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
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
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 :
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
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;
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;
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';
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 :
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
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 - -
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
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;
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;
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;
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
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
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);
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;
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!
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:
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
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.
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
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:
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
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
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.
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 .
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:
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
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
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:
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:
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
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
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
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
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:
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.
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.
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
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:
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
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
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
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.
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.
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,
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)
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
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
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
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
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
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;
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).
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 )
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)
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:
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
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
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
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,
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
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
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;
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)
;
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
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:
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:
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
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 :
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:
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:
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,
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
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.
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
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 :
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.
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
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
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;
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
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"
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";
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 - -
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;
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
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;
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
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 :
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
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 :
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)
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
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
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
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
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
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
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
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 :
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
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
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
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
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
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"
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.
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
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
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
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,
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 :
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 :
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 :
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
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
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 :
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
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
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 :
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.
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.
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