Kendali nyala led via komunikasi serial dengan Delphi

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

Memasukkan file Flash Ke Delphi 7

Motion detection / deteksi gerakan dengan Delphi memanfaatkan komponen Video grabber (Share ware Version)

Perekam video dengan Delphi menggunakan komponen video grabber

Menggunakan grafik / chart pada Borland Delphi 7

Virtual serial port, Solusi simulasi komunikasi serial computer dalam satu computer

INSTALISASI COMPORT PADA DELPHI 7 By : Taufik Adi Sanjaya Website penulis :

Cara menghubungkan / mengkoneksikan database dinamis Microsoft Access dengan delphi menggunakkan ADOConnection dan ADOTable pada Delphi 7

Berikut ini adalah sebuah contoh setting fuse bit untuk mikrokonkontroller at mega 8 maupun at mega 16 menggunakan software khazama

Cara menghubungkan / mengkoneksikan database dinamis Microsoft Access dengan delphi menggunakkan ADOConnection dan ADOQuerypada Delphi 7

Taufik Adi Sanjaya. Menampilkan file Pdf pada form Delphi, ( baca : Delphi 7 )

Taufik Adi Sanjaya Website penulis :

Mengakses database Microsoft Access dengan Delphi 7.0

Membuat Dialog Killer dengan Delphi 7.0

Mengakses database Microsoft Access dengan Delphi 7.0

Membuat Web sederhana dengan Joomla

Membuat report pada Delphi 7.0 dengan menggunakan komponen Rave Report

Akses SMS dengan Delphi : Membuat SMS Broadcaster dengan Delphi 7.0 menggunakan komponen oxygen SMS

BAB IV PENGUJIAN DAN PEMBAHASAN. Pengujian ini termasuk pengujian masing-masing bagian secara terpisah dan pengujian

BAB IV Antarmuka dengan Port Paralel (Output)

BAB III ANALISIS DAN PERANCANGAN

BAB VII Komponen untuk Komunikasi Serial

PERTEMUAN IV PEMOGRAMAN SEVEN SEGMEN DAN LCD

Load file Hex ke Arduino Board dengan EmDeBe Hex Loader (Memprogram Arduino Board dengan Programmer Suka suka)

How2Use DT-51 AT89C51XXX BMS. Oleh: Tim IE. Gambar 1 Tata Letak DT-51 AT89C51XXX BMS

LISTING PROGRAM. Penyimpanan memori sementara dengan pemberian nama Sw_str untuk switch star dan S_flow untuk sensor Flow

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET (KOMUNIKASI DATA)

Krisna D. Octovhiana. 1.1 Apa itu Operator?

BAB V JOBSHEET 5. Antarmuka dengan Port Parallel (Input)

Krisna D. Octovhiana. 1.1 Mengenal Struktur Kontrol.

BAB III ANALISIS DAN PERANCANGAN

BAB IV PENGUKURAN DAN ANALISA DATA

BAB VIII Data Logging Tegangan melalui Komunikasi Serial

PERTEMUAN II PEMOGRAMAN INPUT

BAB IV PENGUJIAN DAN ANALISA

Krisna D. Octovhiana. 1.1 Mengenal Data dan Variabel.

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

ricak.wordpress.com Component Name & Interface

BAB IV HASIL DAN UJI COBA

BAB IV PENGUKURAN DAN ANALISA DATA. dari sistem yang dibuat. Pengujian dan pengukuran pada rangkaian ini bertujuan

MODUL PELATIHAN MIKROKONTROLLER UNTUK PEMULA DI SMK N I BANTUL OLEH: TIM PENGABDIAN MASYARAKAT JURUSAN TEKNIK ELEKTRO

BAB III PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK

STEP BY STEP MENJADI PROGRAMMER HANDAL DENGAN VB.NET

Mengakses Database pada Delphi dengan ADO

BAB IV ANALISIS DATA DAN PEMBAHASAN

Belajar mikrokontroler Arduino untuk tingkat Pemula.

BAB III MIKROKONTROLER

MODUL IX PEMROGRAMAN DATABASE DENGAN DELPHI. Untuk praktikum ini kita menggunakan Ms. Access sebagai databasenya.

3.2. Tempat Penelitian Penelitian dan pengujian alat dilakukan di lokasi permainan game PT. EMI (Elektronik Megaindo) Plaza Medan Fair.

Krisna D. Octovhiana

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

MENGGANTI TEXT PADA XP START BUTTON

Elga Lesmana

BAB 3 PERANCANGAN ALAT

Krisna D. Octovhiana. 1.1 Mengenal Struktur Kontrol.

BAB III METODE PENELITIAN. Bahan komponen yang digunakan untuk pembuatan rangkaian modul. adalah sebagai berikut : 3. Kapasitor 22nF dan 10nF

STEP BY STEP MENJADI PROGRAMMER HANDAL DENGAN VB.NET

Menampilkan Data/Tabel MySQL di Ms.Access

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET (KOMUNIKASI DATA)

Pengenalan IDE Delphi. 1 By : Eko Budi Setiawan

Mencari Akar-akar persamaan kuadrat AX 2 + BX + C = 0

JOBSHEET I ANTARMUKA MIKROKONTROLER DENGAN LED

BAB IV HASIL PENGUJIAN DAN PENGAMATAN. pengujian perangkat lunak (software) dan kinerja keseluruhan sistem, serta analisa

Program Enkripsi & Dekripsi sederhana menggunakan Visual Basic 6.0

Nama Penulis Anggara Nasution Khalifatul Amin

BAB IV PENGUJIAN DAN ANALISIS SISTEM

Membuat Program Kriptografi dengan VB.Net 2010

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET (KOMUNIKASI DATA)

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III METODELOGI PENELITIAN. Pengukuran dan observasi yang dilakukan penulis di lapangan

Proteus Introduction April 2011 #2 kumpulan materi belajar bareng AVR

BAB IV HASIL DAN PEMBAHASAN. Hasil pengujian minimum sistem ditunjukkan pada tabel 4.1.

Membuat Project dengan CodeVisionAVR.

DT-I/O. I/O Application Notes AN164 Komunikasi Jarak Jauh antara 2 PC dengan RS-485. Application Note AN164

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET (KOMUNIKASI DATA)

BAB III PERANCANGAN ALAT

JOBSHEET II ANTARMUKA MIKROKONTROLER DENGAN TOGGLE SWITCH

BAB III PERANCANGAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV HASIL DAN UJI COBA

B. Kompetensi Mahasiswa dapat memahami tentang kendali kesalahan dengan paritas serta dapat melakukan penghitungan paritas.

IMPLEMENTASI ERD KE PROGRAM DATABASE DENGAN DELPHI MENGGUNAKAN DB ACCESS

Ghandie Kurnia Widi Lisensi Dokumen: Copyright IlmuKomputer.

Ari Angga Wijaya

BAB III PERANCANGAN SISTEM

Endi Dwi Kristianto

BAB III PERANCANGAN ALAT

DAFTAR PUSTAKA. [2]. Agfianto Eko Putra, 2010, Modul Pelatihan Mikrokontroler Atmel AVR,

BAB IV PENGUJIAN DAN ANALISA

Identitas dosen POKOK BAHASAN. mendemonstrasikan tentang membuat project aplikasi dengan database access dengan benar (C3) Suherman,, ST Address

WIZnet. Application Note AN179 Wireless IP Printer 2 Oleh : Tim IE

SEM. 4 KOMUNIKASI DATA

BAB III PERENCANAAN DAN REALISASI SISTEM

BAB IV PENGUJIAN DAN SIMULASI PENGENDALIAN SUHU RUANG PENETAS TELUR

Sistem Keamanan Pintu Gerbang Berbasis AT89C51 Teroptimasi Basisdata Melalui Antarmuka Port Serial

BAB III ANALISIS DAN PERANCANGAN

DAFTAR ISI BAB II. TINJAUAN PUSTAKA... 5

BAB IV HASIL DAN UJI COBA

IV. HASIL PENELITIAN DAN PEMBAHASAN. menggunakan sensor optik berbasis mikrokontroler ATMega 8535 dengan

AVR USB ISP Trademarks & Copyright

Transkripsi:

Taufik Adi Sanjaya Website penulis : http://www.embeddedsystem.itstoshare.com Kendali nyala led via komunikasi serial dengan Delphi Lisensi Dokumen: 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. Website http://www.embeddedsystem.itstoshare.com Kendali nyala led via komunikasi serial dengan Delphi Pada 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 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 Sedangkan 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 padam Tinggal nantinya di pin mikrokontroller manakah LED di hubungkan pada mikrokontroller, 1

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 Balasan dari Aksi Aksi pada computer Mikrokontroler mikrokontroler computer (dikahiri tanda enter) saat ada perintah dari komputer 1 ON1 ON1-OK Menyalakan LED di pin C.4 LED1 nyala 2 OFF1 OFF1-OK Memadamkan LED di pin C.4 LED1 padam 3 ON2 ON2-OK Menyalakan LED di pin C.5 LED2 nyala 4 OFF2 OFF2-OK Memadamkan LED di pin C.5 LED2 padam 5 ON3 ON3-OK Menyalakan LED di pin C.6 LED3 nyala 6 OFF3 OFF3-OK Memadamkan LED di pin C.6 LED3 padam 7 ON4 ON4-OK Menyalakan LED di pin C.7 LED4 nyala 8 OFF4 OFF4-OK Memadamkan LED di pin C.7 9 ON-ALL ON-ALL-OK Menyalakan LED di pin C4-7 10 OFFALL OFF-ALL-OK Memadamkan LED di pin C4-7 LED4 padam SEMUA LED nyala 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 * 2 2

Cursor Off Config Portc.0 = input Config Portc.1 = input Config Portc.2 = input Config Portc.3 = input Config Portc.4 = output Config Portc.5 = output Config Portc.6 = output Config Portc.7 = output Portc.0 = 1 Portc.1 = 1 Portc.2 = 1 Portc.3 = 1 Portc.4 = 0 Portc.5 = 0 Portc.6 = 0 Portc.7 = 0 wait 1 lcd "KONTROL LED" locate 2, 1 lcd "SERIAL" Dim Perintah As String * 6 Print "Ok!"; Do Input Perintah Select Case Perintah Case "ON1" : Portc.4 = 1 print "ON1-OK" ; Case "ON2" : Portc.5 = 1 3

print "ON2-OK" ; Case "ON3" : Portc.6 = 1 print "ON3-OK" ; Case "ON4" : Portc.7 = 1 print "ON4-OK"; Case "ON-ALL" : Portc = &B11111111 print "ON-ALL-OK"; Case "OFF1" : Portc.4 = 0 print "OFF1OK" ; Case "OFF2" : Portc.5 = 0 print "OFF2OK"; Case "OFF3" : Portc.6 = 0 print "OFF3OK"; Case "OFF4" : Portc.7 = 0 print "OFF4-OK"; Case "OFFALL" : Portc = &B00000000 print "OFF-ALL-OK"; End Select Loop EndSimpan 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 4

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 - - 15 Button Caption Open Name 16 Button Caption Close Name Buttonopen ButtonClose 17 Button Caption Setting Name Buttonset Selanjutnya untuk tampilan desain aplikasi nya adalah sebagai berikut : 5

Source code untuk masing masing komponen dapat dilihat pada tabel sebagai berikut: no Nama event Source komponen 1 Form On create shape1.brush.color:=clblack; shape2.brush.color:=clblack; shape3.brush.color:=clblack; shape4.brush.color:=clblack; shape5.brush.color:=clblack; 2 Button1 onclick if button1.caption='on1' then comport1.writestr('on'+#13); shape1.brush.color:=clred; button1.caption:='off1' end else if button1.caption='off1'then comport1.writestr('off'+#13); shape1.brush.color:=clblack; button1.caption:='on1' 6

3 Button2 onclick if button2.caption='on2' then comport1.writestr('on2'+#13); shape2.brush.color:=clred; button2.caption:='off2' end else if button2.caption='off2'then comport1.writestr('off2'+#13); shape2.brush.color:=clblack; button2.caption:='on2' 4 Button3 onclick if button3.caption='on3' then comport1.writestr('on3'+#13); shape3.brush.color:=clred; button3.caption:='off3' end else if button3.caption='off3'then comport1.writestr('off3'+#13); shape3.brush.color:=clblack; button3.caption:='on3' 5 Button4 onclick if button4.caption='on4' then comport1.writestr('on4'+#13); shape4.brush.color:=clred; button4.caption:='off4' end else if button4.caption='off4'then comport1.writestr('off4'+#13); shape4.brush.color:=clblack; button4.caption:='on4' 6 Button5 onclick if button5.caption='on SEMUA' then 7

comport1.writestr('on-all'+#13); shape5.brush.color:=clred; button5.caption:='off SEMUA' end else if button5.caption='off SEMUA'then comport1.writestr('offall'+#13); shape5.brush.color:=clblack; button5.caption:='on SEMUA' Buttonset onclick comport1.showsetupdialog; Buttonclose onclick Begin Application.Terminate; End; Buttonopen onclick if Comport1.Connected then // jika smalll port(untuk koneksi dengan port paralel ) sudah terbuka, Comport1.Connected :=false; //maka tutup koneksi dengan port paralel ButtonOpen.Caption:='Open Driver' //maka caption tombol menjadi Open Driver end else 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 Driver Memo1 onchange var on1,on2,on3,on4,onsemua,off1,off2,off3,off4,offs emua:integer; datamasuk:string; datamasuk:=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); 8

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 then label1.caption:= 'LED1 nyala'; if on2<> 0 then label1.caption:= 'LED2 nyala'; if on3<> 0 then label1.caption:= 'LED3 nyala'; if on4<> 0 then label1.caption:= 'LED4 nyala'; if onsemua<> 0 then label1.caption:= 'SEMUA LED nyala'; shape1.brush.color:=clred; shape2.brush.color:=clred; shape3.brush.color:=clred; shape4.brush.color:=clred; if off1 <> 0 then label1.caption:= 'LED1 padam'; if off2<> 0 then label1.caption:= 'LED2 padam'; if off3<> 0 then label1.caption:= 'LED3 padam'; 9

if off4<> 0 then label1.caption:= 'LED4 padam'; if offsemua<> 0 then label1.caption:= 'SEMUA LED padam'; shape1.brush.color:=clblack; shape2.brush.color:=clblack; shape3.brush.color:=clblack; shape4.brush.color:=clblack; Comport1 onrxchar var Str, datamasuk: String; comport1.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 label1 Sebagai mana source code sebagai berikut : if on1 <> 0 then label1.caption:= 'LED1 nyala'; Eksekusi program, seharusnya aplikasi menjadi sebagai berikut : 10

Pertama kali klik setting port, pilih com number, baud rate dll Kemudian klik open port, baru dapat dipergunakan untuk pengontrolan 11

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.0 9. Mempercantik tampilan Program yag dibuat dengan Delphi 7.0 menggunakan 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 12

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 Penulis Taufik Adi Sanjaya. Numpang lahir di Garut, Jawa Barat. Dibesarkan di Kulon Progo. Saat ini tinggal di Bantul, Daerah Istimewa Yogyakarta. Konsentrasi Study yang diambil adalah Kendali Industri. Di Universitas Negeri Yogyakarta. Pemrograman Delphi (khususnya Akses Port Paralel PC, port serial, pemrograman mikrokontroller keluarga AVR dengan Bascom AVR. Website http://www.embeddedsystem.itstoshare.com Blog Resmi Penulis http://taufikadisanjaya.blogspot.com/ Email : taufiksanjaya@yahoo.com Hp : 085743320570 13