Upload
rian-katon-ryuka
View
24
Download
7
Embed Size (px)
DESCRIPTION
preetttt
Citation preview
5/24/2018 Taufik Adi Sanjaya Kendali Led
1/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearnin IlmuKom uter.Com 1
Taufik Adi Sanjaya
Website penulis : http://www.embeddedsystem.itstoshare.com
Kendali nyala led via komunikasi serial
dengan Delphi
Website http://www.embeddedsystem.itstoshare.com
Kendali nyala led via komunikasi serial dengan Delphi
Pada prinsip nya, tulisan ini akan membahas bagaimana cara menyalakan danmemadamkan nyala LED (light emiting dioda) melalui komunikasi serial denganantarmuka aplikasi pada computer yang dibuat dengan menggunakan Delphi 7 . untuk
dapat menyalakan dan memadamkan LED yang terkoneksi dengan pin pin
mikrokontroller maka harus disepakati dulu protocol komunikasi antara sisi
computer dengan sisi mikrokontroller
Lebih 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 nyala
SedangkanJika 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,
Lisensi Dokumen:Copyright 2003-2007 IlmuKomputer.Com
Seluruh 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.
5/24/2018 Taufik Adi Sanjaya Kendali Led
2/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearning IlmuKomputer.Com
Copyright 2003-2007 IlmuKomputer.Com2
Dalam hal ini PCB yang di sediakan , di desain bahwa LED dipasang padaPINB.0 sampai dengan PIN B.3 , dengan konfigurasi active high yakni jika pin pada
mikrokontroller berlogika high (1), maka LED yang terhubung ke Pin mikrokontrolleryang dimaksud akan aktif.Selanjutnya berikut ini adalah tabel yang dibuat untuk merencanakan protocolkomunikasi yang dapat di mengerti oleh computer dan mirkokontroler untuk saling
bercakap-cakap.no Perintah Dari
computer(dikahiri tandaenter)
Balasan dariMikrokontroler
Aksimikrokontrolersaat ada perintahdari komputer
Aksi padacomputer
1 ON1 ON1-OK Menyalakan LEDdi pin C.4
MenampilkanLED1 nyala
2 OFF1 OFF1-OK Memadamkan
LED di pin C.4
Menampilkan
LED1 padam3 ON2 ON2-OK Menyalakan LED
di pin C.5MenampilkanLED2 nyala
4 OFF2 OFF2-OK MemadamkanLED di pin C.5
MenampilkanLED2 padam
5 ON3 ON3-OK Menyalakan LEDdi pin C.6
MenampilkanLED3 nyala
6 OFF3 OFF3-OK MemadamkanLED di pin C.6
MenampilkanLED3 padam
7 ON4 ON4-OK Menyalakan LEDdi pin C.7
MenampilkanLED4 nyala
8 OFF4 OFF4-OK MemadamkanLED di pin C.7
MenampilkanLED4 padam
9 ON-ALL ON-ALL-OK Menyalakan LEDdi pin C4-7
MenampilkanSEMUA LEDnyala
10 OFFALL OFF-ALL-OK MemadamkanLED di pin C4-7
MenampilkanSEMUA LEDpadam
Dari tabel tersebut di atas , pertama kita buat source code pada software bascomyang 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 * 2cls
5/24/2018 Taufik Adi Sanjaya Kendali Led
3/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearning IlmuKomputer.Com
Copyright 2003-2007 IlmuKomputer.Com3
Cursor 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 = 1
Portc.1 = 1Portc.2 = 1Portc.3 = 1
Portc.4 = 0Portc.5 = 0Portc.6 = 0Portc.7 = 0
wait 1clslocate 1 , 1
lcd "KONTROL LED"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 lcd perintah Case "ON2" : Portc.5 = 1 cls locate 1 , 1 lcd perintah
5/24/2018 Taufik Adi Sanjaya Kendali Led
4/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearning IlmuKomputer.Com
Copyright 2003-2007 IlmuKomputer.Com4
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 End Select LoopEndSimpan source code diatas dengna nama semisal kontrol serial led.bas ,
selanjutnya pada lembar kerja Bascom AVR silakan tekan tombol keyboard F7 ataudapat juga dengan menggunakan menu program compile. Proses compile ini akan
5/24/2018 Taufik Adi Sanjaya Kendali Led
5/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearning IlmuKomputer.Com
Copyright 2003-2007 IlmuKomputer.Com5
menghasilkan file dengan nama kontrol serial led.hex, kontrol serial led.bin dan lainlain yang nantinya file dengan ekstensi hex inilah yang akan di downloadkan ke chip
mikrokontroller. (video cara download file dengan extensi hex dari computer ke dalammikrokontroler 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 yangnanti nya akan ditampilkan sebagai status kondisi nyala-padamnya LED pada displaycomputer.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 ON35 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 KondisiLampu
14 Memo1 - -
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 :
5/24/2018 Taufik Adi Sanjaya Kendali Led
6/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearning IlmuKomputer.Com
Copyright 2003-2007 IlmuKomputer.Com6
Source code untuk masing masing komponen dapat dilihat pada tabel sebagaiberikut:
no Namakomponen
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' then
begincomport1.WriteStr('ON'+#13);shape1.Brush.Color:=clred;
button1.Caption:='OFF1' endelse
if button1.Caption='OFF1'thenbegincomport1.WriteStr('OFF'+#13);shape1.Brush.Color:=clblack;
button1.Caption:='ON1'end;end;
5/24/2018 Taufik Adi Sanjaya Kendali Led
7/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearning IlmuKomputer.Com
Copyright 2003-2007 IlmuKomputer.Com7
3 Button2 onclick beginif button2.Caption='ON2' then
begincomport1.WriteStr('ON2'+#13);shape2.Brush.Color:=clred;
button2.Caption:='OFF2' endelseif button2.Caption='OFF2'then
begincomport1.WriteStr('OFF2'+#13);shape2.Brush.Color:=clblack;
button2.Caption:='ON2'end;end;
4 Button3 onclick beginif button3.Caption='ON3' then
begincomport1.WriteStr('ON3'+#13);shape3.Brush.Color:=clred;
button3.Caption:='OFF3' endelseif button3.Caption='OFF3'then
begincomport1.WriteStr('OFF3'+#13);shape3.Brush.Color:=clblack;
button3.Caption:='ON3'
end;end;
5 Button4 onclick beginif button4.Caption='ON4' then
begincomport1.WriteStr('ON4'+#13);shape4.Brush.Color:=clred;
button4.Caption:='OFF4' endelseif button4.Caption='OFF4'then
begincomport1.WriteStr('OFF4'+#13);shape4.Brush.Color:=clblack;
button4.Caption:='ON4'end;end;
6 Button5 onclick beginif button5.Caption='ON SEMUA' then
begin
5/24/2018 Taufik Adi Sanjaya Kendali Led
8/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearning IlmuKomputer.Com
Copyright 2003-2007 IlmuKomputer.Com8
comport1.WriteStr('ON-ALL'+#13);shape5.Brush.Color:=clred;
button5.Caption:='OFF SEMUA' endelseif button5.Caption='OFF SEMUA'then
begincomport1.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 ) sudahterbuka,begin Comport1.Connected :=false; //maka tutupkoneksi dengan port paralelButtonOpen.Caption:='Open Driver' //maka
caption tombol menjadi Open Driverend
else Comport1.Connected :=true; // selain itu,buka smallport (terkoneksi dengan port paralel)if Comport1.Connected then
ButtonOpen.Caption:='Close Driver'; // jika smallport terbuka (terkoneksi dengan port serial) makatombol akan bertuliskan Close Driverend;
Memo1 onchange varon1,on2,on3,on4,onsemua,off1,off2,off3,off4,offsemua:integer;datamasuk:string;
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);
5/24/2018 Taufik Adi Sanjaya Kendali Led
9/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearning IlmuKomputer.Com
Copyright 2003-2007 IlmuKomputer.Com9
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 then
beginlabel1.caption:= 'LED2 nyala';
end elseif on3 0 then
beginlabel1.caption:= 'LED3 nyala';end elseif on4 0 then
beginlabel1.caption:= 'LED4 nyala';end elseif onsemua 0 then
beginlabel1.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
beginlabel1.caption:= 'LED2 padam';end elseif off3 0 then
beginlabel1.caption:= 'LED3 padam';end else
5/24/2018 Taufik Adi Sanjaya Kendali Led
10/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearning IlmuKomputer.Com
Copyright 2003-2007 IlmuKomputer.Com10
if off4 0 thenbegin
label1.caption:= 'LED4 padam';end elseif offsemua 0 then
beginlabel1.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 pospada bagian memo text adalah sebagai berikut:Fungsi pos adalah untuk mencari kata tertentu yang sesuai dengan kata kuncil yangtelah di set, jika ada maka dia bernilai 1 (bukan 0)
Dalam contoh tersebut , kita ambil on1:=pos ('ON1-OK',datamasuk); berarti jika adakarakter 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 :
5/24/2018 Taufik Adi Sanjaya Kendali Led
11/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearning IlmuKomputer.Com
Copyright 2003-2007 IlmuKomputer.Com11
Pertama kali klik setting port, pilih com number, baud rate dll
Kemudian klik open port, baru dapat dipergunakan untuk pengontrolan
5/24/2018 Taufik Adi Sanjaya Kendali Led
12/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearning IlmuKomputer.Com
Copyright 2003-2007 IlmuKomputer.Com12
Penutup
Semoga bermanfaat dan Selamat Berkarya.
Silakan baca tulisan saya di IlmuKomputer.com sebagai berikut:1. Akses SMS dengan Delphi 7: Kirim dan terima SMS di Hand Phone
Nokia dengan Mudah menggunakan komponen Oxygen SMS pada Delphi7.0
2. Akses SMS dengan Delphi 7: Membuat SMS Broadcaster dengan Delphi
7.0 menggunakan komponen oxygen SMS
3. Mengakses database Access dengan Delphi 7.0
4. Membuat report pada Delphi 7.0 menggunakan komponen Rave Report
5. Mengakses port parallel PC dengan Delphi 7.0 menggunakan komponen
Small Port
6. Cara Instalasi komponen Oxygen SMS pada Delphi 7.0
7. Cara Instalasi komponen Small Port pada Delphi 7.0
8. Instalisasi Sui Pack Pada Delphi 7.09. Mempercantik tampilan Program yag dibuat dengan Delphi 7.0menggunakan Komponen Suipack
10. Membuat Web sederhana dengan Joomla
11. Membuat Dialog Killer dengan Delphi 7
12. Memproteksi file PDF (PDF SECURE)
13. Memproteksi file PDF dengan password
14. Program untuk Capture Foto dengan Webcam menggunakan Delphi 7.0
15. Menggunakan grafik / chart pada Borland Delphi 7
5/24/2018 Taufik Adi Sanjaya Kendali Led
13/13
( Catatlah semua impianmu dalam lembaran kertas (agar
engkau tidak lupa), coretlah setiap impian yang telah
terwujud oleh Allah, tambahkan catatan impian yang
akan engkau wujudkan, yakinlah semua impian akan
terwujud ) (Taufik Adi Sanjaya)
Komunitas eLearning IlmuKomputer.Com
Copyright 2003-2007 IlmuKomputer.Com13
16. Menghapus karakter / huruf tertentu dalam teks pada komponen edit
atau label di Delphi
17. Menghapus SPASI dalam teks pada komponen edit atau label di Delphi 18. Contoh aplikasi komunikasi serial delphi
19. Virtual serial port , Solusi simulasi komunikasi serial computer dalam
satu computer
Dan masih banyak lagi
Referensi
Biografi PenulisTaufik Adi Sanjaya. Numpang lahir di Garut, Jawa Barat. Dibesarkan di Kulon Progo. Saat initinggal di Bantul, Daerah Istimewa Yogyakarta. Konsentrasi Study yang diambil adalah KendaliIndustri. Di Universitas Negeri Yogyakarta. Pemrograman Delphi (khususnya Akses PortParalel PC, port serial, pemrograman mikrokontroller keluarga AVR dengan Bascom AVR.
Website http://www.embeddedsystem.itstoshare.com
Blog Resmi Penulis http://taufikadisanjaya.blogspot.com/
Email : [email protected] : 085743320570