Instrument Pemisah Warna Dan Penampil Panjang Gelombang Menggunakan Light Depent Resistor (LDR) Berbasis Microcontroller AT89S51

(1)

INSTRUMENT PEMISAH WARNA DAN PENAMPIL PANJANG

GELOMBANG MENGGUNAKAN LIGHT DEPENT RESISTOR

(LDR) BERBASIS MICROCONTROLLER AT89S51

TUGAS AKHIR

GATOT TRIARDI PRAMAJI

072408032

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2010


(2)

INSTRUMENT PEMISAH WARNA DAN PENAMPIL PANJANG

GELOMBANG MENGGUNAKAN LIGHT DEPENT RESISTOR

(LDR) BERBASIS MICROCONTROLLER AT89S51

TUGAS AKHIR

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh Ahli Madya

GATOT TRIARDI PRAMAJI 072408032

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2010


(3)

PERNYATAAN

INSTRUMENT PEMISAH WARNA DAN PENAMPIL PANJANG GELOMBANG MENGGUNAKAN LIGHT DEPENT RESISTOR (LDR) BERBASIS

MICROCONTROLLER AT89S51

TUGAS AKHIR

Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juli 2010

GATOT TRIARDI PRAMAJI


(4)

PENGHARGAAN

Puji dan syukur Penulis panjatkan kehadirat Tuhan Yang Maha Esa atas berkat dan kasih-Nya yang telah memberikan kekuatan,kebijaksanaan,ilmu pengetahuan terlebih-lebih kesehatan yang melimpah dalam menyelesaikan laporan tugas akhir dengan judul : “INSTRUMENT PEMISAH WARNA DAN PENAMPIL PANJANG

GELOMBANG MENGGUNAKAN LIGHT DEPENT RESISTOR (LDR)

BERBASIS MICROCONTROLLER AT89S51”.

Laporan ini disusun untuk menyelesaikan mata kuliah Tugas Akhir semester VI Program pendidikan Diploma III program Studi Fisika Instrumentasi.Laporan ini disusun berdasarkan pengalaman dan kegiatan yang Penulis lakukan selama masa perkuliahan.

Dalam penulisan laporan ini Penulis banyak mendapatkan bantuan baik moral maupun material dari berbagai pihak,dan pada kesempatan ini penulis mengucapkan terima kasih sebesar-besarnya :

1. Bapak Dr.Eddy Marlianto,M.Sc, selaku dekan Fakultas Matematika dan Ilmu Pengetahuan Alam.

2. Bapak Drs.Syahrul Humaidi,M.Sc, selaku Ketua Jurusan Program Studi Fisika Instrumentasi Fakultas Matematika dan Ilmu Pengetahuan Alam. 3. Ibu Drs.Manis Sembiring.Ms, selaku Dosen Pembimbing Proyek.

4. Seluruh Staff pengajar Universitas Sumatera Utara khususnya Program Studi Fisika Instrumentasi.

5. Seluruh Teman-Teman seperjuangan khususnya Anak-anak FIN 07 yang telah banyak memberikan semangat kepada Penulis.


(5)

6. Widya Ananda putri yang telah banyak membantu serta memberikan semangat yang luar biasa.

Teristimewa Penulis sangat berterimah kasih dengan penuh rasa hormat dan penghargaan yang setulusnya kepada Keluarga tercinta Khususnya Ayahanda H. MULYADI dan Ibunda Hj. SRI ASTUTY yang memberikan dukungan materi dan doa kepada penulis yang tidak dapat dibalas dengan apapun juga.

Penulis menyadari bahwa ada kekurangan dalam pembuatan Tugas Akhir untuk itu dengan segala kerendahan hati penulis menerima segala kritik dan saran yang bersifat membangun demi peningkatan mutu dan kualitas serta kesempurnaan dari Tugas Akhir ini.

Akhirnya penulis kembali mengucapkan terima kasih banyak buat semua pihak yang telah membantu penulis dalam menyelesaikan laporan Tugas Akhir ini.Semoga Tugas Akhir ini dapat bermanfaat bagi siapapun yang membacanya.

Medan, Juli 2010

GATOT TRIARDI PRAMAJI NIM: 072408032


(6)

ABSTRAK

Telah dirancang sebuah alat yang dapat membaca frekwensi dari berbagai macam benda berwarna serta dapat memisahkannya. Alat tersebut memanfaatkan LDR sebagai sensor pembaca warna dan microcontroller AT89S51 sebagai pusat kerja sistemnya. Alat yang dirancang sudah mampu membedakan serta memisahkan 5 jenis warna dan alat masih memiliki kekurangan pada system sensor yaitu LDR sangat peka terhadap cahaya matahari, sehingga proses pembacaan warna dapat terganggu bila pembacaan warnanya dilakukan pada daerah yang terkena cahaya matahari langsung.

Pada tulisan ini digambarkan bagaimana system akan merespon setiap adanya perubahan intensitas cahaya kemudian mengolahnya serta melakukan pemisahan warna-warna tersebut.


(7)

DAFTAR ISI

Halaman

PERSETUJUA ... i

PERNYATAAN ... ii

PENGHARGAAN ... iii

ABSTRAK ... v

DAFTAR ISI ... vi

DAFTAR TABEL ... ix

DAFTAR GAMBAR ... x

BAB 1 PENDAHULUAN 1.1Latar Belakang Masalah ... 1

1.2Rumusan Masalah ... 3

1.3Tujuan Penulis... 3

1.4 Batasan Masalah... 4

1.5 Sistematika Penulisan ... 4

BAB 2 LANDASAN TEORI 2.1 Teori Warna ... 6

2.1.1 Warna Dalam Cahaya ... 6

2.1.2 Warna Dalam Bentuk Gelombang ... 10

2.2 Teknik Konversi Frekuensi Output Sensor Menjadi Data Digital ... 14

2.3 Perangkat KerasSistem ... 16


(8)

2.3.2Arsitektur Mikrokontroller ... 16

2.3.2.1 Spesifikasi penting AT89S51 ... 17

2.3.2.2 Struktur Pengoperasian Port ... 20

2.3.2.3 Reset ... 23

2.3.3 ADC (Analog to Digital Converter) ... 24

2.3.4LDR (Light Depent Resistor) ... 26

2.3.5Power Supply (PSA) ... 27

2.3.6 Motor Stepper ... 28

2.3.7 Dioda LED ... 30

2.4 Perangkat Lunak... 31

2.4.1 Bahasa Assembly ... 31

2.4.2 Software 8051 Editor, Assembler, Simulator (IDE) ... 36

2.4.3 Software Downloader ... 37

BAB 3 PERANCANGAN ALAT 3.1. Perancangan Alat... 38

3.1.1 Diagram Blok ... 38

3.1.2 Prinsip Kerja Diagram Blok ... 39

3.2. Perancangan Power Supplay (PSA) ... 39

3.3 Perancangan Rangkaian Mikrokontroler AT89S51 ... 40

3.4 Perancangan Display LCD Character 2x16 ... 42

3.5 Perancangan Rangkaian ADC... 45


(9)

3.7 Program Sistem pendeteksi dan pemisah warna ... 48

BAB 4 PENGUJIAN RANGKAIAN DAN ANALISA 4.1 Pengujian Rangkaian ... 53

4.1.1 pengujian rangkaian mikrokontroller AT89S51... 53

4.1.2 interfacing LCD 2x16 ... 55

4.1.3 Pengujian rangkaian ADC(Analog to Digital Converter) ... 57

4.1.4 Pengujian Sensor Warna ... 59

4.2 Analisis Ketelitian Alat ... 64

BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 66

5.2 Saran ... 66

DAFTAR PUSTAKA ... 67 LAMPIRAN


(10)

DAFTAR TABEL

Tabel 2.1 spektrum warna ... 13

Tabel 3.1 Fungsi Pinlcd Character 2x16 ... 43

Tabel 4.1 Output Data Biner ... 58

Tabel 4.2 Data pengujian sensor warna ... 60

Tabel 4.3 Eksekusi program satu siklus ... 61

Tabel 4.4 Data Digital Hasil Pengukuran ... 63

Tabel 4.5 Frekwensi Output ... 64


(11)

DAFTAR GAMBAR

Gambar 2.1 Diagram Maxwell ... 7

Gambar 2.2 Spektrum Cahaya pada Prisma ... 9

Gambar 2.3 Mata Melihat Apel Berwarna Merah ... 10

Gambar 2.4 Gelombang frekuensi warna cahaya ... 11

Gambar 2.5 Panjang Gelombang ... 11

Gambar 2.6 Spektrum Warna ... 13

Gambar 2.7 Spektrum Gelombang Elektromagnetik ... 14

Gambar 2.8 Frekuensi Output/ Sinyal Kotak ... 14

Gambar 2.9 Susunan Pin pada Mikrokontroller AT89S51 ... 18

Gambar 2.10 Power On Reset ... 24

Gambar 2.11 Diagram ADC secara umum ... 25

Gambar 2.12 LDR(Light Depent Resistor) ... 27

Gambar 2.13 Rangkaian Power Supplay (PSA) ... 27

Gambar 2.14 Konstruksi Motor Stepper Unipolar ... 29

Gambar 2.15 Konstruksi Motor Stepper Bipolar ... 30

Gambar 2.16 Dioda LED dan Simbolnya ... 30

Gambar 2.17 8051 Editor, Assembler, Simulator (IDE) ... 36

Gambar 2.18 ISP- Flash Programmer 3.a ... 37

Gambar 3.1 Diagram Blok Sistem Rangkaian ... 38

Gambar 3.2 Rangkaian Power Supplay (PSA) ... 40


(12)

Gambar.3.3.rangkaian mikrokontroller AT89S51 ... 41

Gambar 3.4 LCD character 2x16 ... 43

Gambar 3.5 Peta memory LCD character 2x16 ... 44

Gambar 3.6 rangkaian ADC ... 45

Gambar 3.7 Rangkaian Dioda LED ... 46

Gambar 4.1 pengujian rangkaian mikrokontroller AT89S51 ... 53

Gambar 4.2 Pengujian rangkaian ADC ( Analog to Digital Converter ) ... 58


(13)

ABSTRAK

Telah dirancang sebuah alat yang dapat membaca frekwensi dari berbagai macam benda berwarna serta dapat memisahkannya. Alat tersebut memanfaatkan LDR sebagai sensor pembaca warna dan microcontroller AT89S51 sebagai pusat kerja sistemnya. Alat yang dirancang sudah mampu membedakan serta memisahkan 5 jenis warna dan alat masih memiliki kekurangan pada system sensor yaitu LDR sangat peka terhadap cahaya matahari, sehingga proses pembacaan warna dapat terganggu bila pembacaan warnanya dilakukan pada daerah yang terkena cahaya matahari langsung.

Pada tulisan ini digambarkan bagaimana system akan merespon setiap adanya perubahan intensitas cahaya kemudian mengolahnya serta melakukan pemisahan warna-warna tersebut.


(14)

BAB 1 PENDAHULUAN

1.1. Latar Belakang Masalah

Kemajuan teknologi sekarang ini terus melaju dan berkembang dengan pesat. khususnya teknologi di bidang instrumentasi. Teknologi instrumentasi sangat memegang peranan penting pada kemajuan teknologi dalam berbagai bidang. Teknologi instrumentasi diciptakan atau dikembangkan untuk mempermudah pekerjaan manusia. Sistem otomatisasi dapat menggantikan manusia untuk mengerjakan sesuatu dalam lingkungan berbahaya bagi kesehatan dan keselamatan kita pada saat-saat tertentu. Kemajuan teknologi dalam bidang elektronika akan mampu mengatasi masalah-masalah yang rumit sekalipun, dengan tingkat ketelitian dan akurasi serta kecepatan yang tinggi.

Pemisahan warna-warna pada industry cat dan pharmasi biasanya dilakukan dengan teknik tradisional. Sepertinya kurang efisien jika tugas itu dikerjakan oleh tenaga manusia. Berangkat dari masalah di atas penulis membuat tugas akhir dengan judul

“INSTRUMENT PEMISAH WARNA DAN PENAMPIL PANJANG GELOMBANG MENGGUNAKAN LIGHT DEPENT RESIATOR (LDR) BERBASIS MICROCONTROLLER AT89S51”


(15)

Pengukuran, pemantauan dan tampilan dari nilai suatu panjang gelombang adalah bagian sistem yang seringkali dibutuhkan di lingkungan, dalam suatu sistem elektronika, maupun dalam industri parmasi. Namun pembuatan alat ini dilatarbelakangi karena sensor LDR merupakan salah satu sistem yang penting untuk membangun sebuah colour separate system , yang akan membedakan warna dari panjang gelombang serta intensitas cahaya dan mengendalikan perangkat mekanik pada suatu hasil produksi tertentu serta memberikan informasi berupa panjang gelombang kepada pemakainya.

Panjang gelombang merupakan informasi yang sangat penting dalam menentukan kondisi intensitas cahaya pada sebuah warna. Banyak hal yang bergantung pada kondisi intensitas cahaya dari suatu benda yang berwarna. Industri cat pun sangat bergantung pada kondisi panjang gelombang untuk selanjutnya sebangai informasi secara automekanik untuk pencampuran warna-warna tersebut. Panjang gelombang juga merupakan salah satu kunci penting dalam dunia parmasi, industri makanan, industri elektronika dan lain-lain.

Namun permasalahannya bagaimana kita bisa membuat alat pemisah warna dengan lebih mudah dan evesien, dengan waktu yang lebih singkat, namun dengan data yang lebih akurat dan dapat di kaji menggunakan kaidah-kaidah fisika. Pengukuran intensitas dan panjang gelombang secara konvensional dapat dilakukan dengan spectrometer standar, akan tetapi hal ini akan sangat merepotkan terutama karena cara alat ini yang masih manual dan harus dipantau terus menerus.

Mikrokontroller kini semakin berkembang pesat dan semakin banyak diminati dalam aplikasi sistem kendali. Salah satu jenis mikrokontroller yang sekarang banyak beredar adalah mikrokontroller AT89S51 dari atmel.


(16)

Sehubungan dengan hal diatas, penulis berkeinginan untuk mencoba mengembangkan sebuah sistem menggunakan mikrokontroller AT89S51 dengan pemrograman bahasa assembler.

Dalam mengantisipasi penggunaan yang lebih luas maka pengukuran intensitas dan panjang gelombang yang dipantau dengan mikrokontroller ini di disain agar dapat beroperasi secara stand alone (berdiri sendiri).

1.2. Rumusan Masalah

Berdasarkan uraian di atas, dapat dirumuskan beberapa masalah yang dibahas dalam tugas akhir ini , yaitu:

1. Bola-bola warna yang digunakan adalah sebagai bahan sampel untuk pemisahan warna

2. Sensor yang digunakan adalah LDR yang akan diletakan disekeliling led yang berwarna putih sebagai warna dasar.

3. Mikroprosesor sebagai otak dalam system rangkaian.

1.3. Tujuan Penulisan

Adapun tujuan dari tugas akhir ini adalah:

1. Sebagai salah satu syarat untuk dapat menyelesaikan program Diploma Tiga (D-III) Fisika Instrumentasi FMIPA Universitas Sumatera Utara.

2. Menggunakan pemrograman bahasa assembly untuk diisikan pada mikronkontroler.


(17)

3. Mengurangi kesalan manusia (Human Eror) pada teknik penyortiran warna secara tradisional.

4. Pengaplikasian dari intrumentasi elektronika

1.4. Batasan Masalah

Berdasarkan uraian di atas, dapat ditentukan beberapa batasan masalah dalam tugas akhir ini,yaitu:

.

1. Bahan sampel bola-bola hanya pada 4 warna saja.

2. Bahasa assembly sebagai program yang digunakan pada mikrokontroler. 3. Mikrokontroler AT89S51 sebagai basis dalam rangkaian.

4. Ligh Depent Resistor (LDR) sebagai sensor pendeteksi intensitas cahaya

1.5. Sistematika Penulisan

Untuk mempermudah pemahaman serta pembahasan bagaimana sebenarnya prinsip kerja sistem alat pemisah warna dan penampil panjang gelombang dengan menggunakan mikrokontroler, maka sistematika penulisan laporan tugas akhir ini adalah sebagai berikut:

BAB 1 PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, serta sistematika penulisan.


(18)

BAB 2 LANDASAN TEORI

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja rangkaian.

Teori pendukung yang di bahas antara lain:LDR,motor stepper,bahasa pemograman yang digunakan,serta karakteristik dari komponen-komponen pendukung.

BAB 3 PERANCANGAN ALAT DAN PROGRAM

Pada bagian ini akan di bahas sistem perancangan alat yaitu: diagram blok rangkaian, flowchart (diagram alir) dari rangkaian, skematik dari masing-masing sub rangkaian, serta program yang akan diisikan ke mikrokontroller AT89S51.

BAB 4 PENGUJIAN DAN ANALISA

Dalam bab ini akan dibahas tentang hasil pengujian dan analisa dari alat untuk membuktikan kebenaran dari alat yang dibuat.

BAB 5 PENUTUP

Bab ini menjelaskan kesimpulan dan saran dari alat ataupun data yang dihasilkan dari alat.


(19)

BAB 2

LANDASAN TEORI

2.1 Teori Warna

2.1.1 Warna Dalam Cahaya

Warna dapat didefinisikan sebagai bagian dari pengalamatan indera pengelihatan, atau sebagai sifat cahaya yang dipancarkan. Proses terlihatnya warna adalah dikarenakan adanya cahaya yang menimpa suatu benda, dan benda tersebut memantulkan cahaya ke mata (retina) kita hingga terlihatlah warna. Benda berwarna merah karena sifat pigmen benda tersebut memantulkan warna merah dan menyerap warna lainnya. Benda berwarna hitam karena sifat pigmen benda tersebut menyerap semua warna. Sebaliknya suatu benda berwarna putih karena sifat pigmen benda tersebut memantulkan semua warna. Teori dan pengenalan warna telah banyak dipaparkan oleh para ahli, diantaranya sebagai berikut:

a. Eksperimen James Clerck Maxwell (1855-1861)

Penemuan Young dan Helmholtz membuktikan bahwa terdapat hubungan antara warna cahaya yang datang ke mata dengan warna yang diterima di otak. Hal ini merupakan dukungan awal terhadap asumsi Newton tentang cahaya dan warna-warna benda. Asumsi Newton menyatakan bahwa benda yang tampak berwarna sebenarnya hanyalah penerima, penyerap, dan penerus warna cahaya yang ada dalam spektrum. James Clerck Maxwell membuat serangkaian percobaan dengan menggunakan


(20)

proyektor cahaya dan penapis (filter) berwarna. 3 buah proyektor yang telah diberi penapis (filter) warna yang berbeda disorotkan ke layar putih di ruang gelap. Penumpukkan dua atau tiga cahaya berwarna ternyata menghasilkan warna cahaya yang lain (tidak dikenal) dalam pencampuran warna dengan menggunakan tinta/cat/bahan pewarna. Penumpukkan (pencampuran) cahaya hijau dan cahaya merah, misalnya menghasilkan warna kuning.

Hasil experimen Maxwell menyimpulkan bahwa warna hijau, merah dan biru merupakan warna- warna primer (utama) dalam pencampuran warna cahaya. Warna primer adalah warna- warna yang tidak dapat dihasilkan lewat pencampuran warna apapun. Melalui warna- warna primer cahaya ini (biru, hijau, dan merah) semua warna cahaya dapat dibentuk dan diciptakan. Jika ketiga warna cahaya primer ini dalam intensitas maksimum digabungkan, berdasarkan eksperimen 3 proyektor yang didemonstrasikan Maxwell, maka ditunjukkan sebagai berikut:

RED

BLUE

GREEN WHITE

Y

C M

CYAN

MAGENTA

YELLOW

G R

B

BLACK

(a) Warna Primer Aditif (b) Warna Primer Substraktif Gambar 2.1 Diagram Percobaan Maxwell


(21)

Eksperimen Maxwell merupakan model atau tiruan yang bagus sekali untuk memudahkan pemahaman kita tentang bagaimana reseptor mata menangkap cahaya sehingga menimbulkan penglihatan berwarna di otak.

Pencampuran warna dalam cahaya dan bahan pewarna menunjukkan gejala yang berbeda. Sekalipun begitu, dengan memperhatikan hasilnya secara seksama pada pencampuran masing- masing warna primer, dapatlah diperkirakan adanya suatu hubungan yang saling terkait satu sama lain. Warna kuning dalam cahaya ternyata dapat dihasilkan dengan menambahkan warna cahaya primer hijau pada cahaya merah. Cara menghasilkan warna cahaya baru dengan mencampurkan 2 atau lebih warna cahaya disebut “pencampuran warna secara aditif” (additive= penambahan). Warna- warna utama cahaya (merah, hijau, biru) selanjutnya kemudian dikenal juga sebagai warna- warna utama aditif (additive primaries). Pencampuran warna secara aditif hanya dipergunakan dalam pencampuran warna cahaya.

Hasil pencampuran warna ini menunjukkan gejala yang berbeda bidang pencampuran warna seperti pada cat. Dengan pencampuran bahan pewarna (cat) warna cat merah dapat dihasilkan dengan mencampur cat warna primer magenta dan cat warna primer yellow. Mencampurkan 2 atau lebih cat berwarna pada hakekatnya adalah mengurangi intensitas dan jenis warna cahaya yang dapat terpantul kembali oleh benda/cat tersebut. Pencampuran warna serupa ini dengan menggunakan pewarna/cat kemudian disebut dengan pencampuran warna secara substraktif (substractive= pengurangan). Warna- warna utama dalam cat/bahan pewarna


(22)

kemudian lazim disebut dengan warna-warna utama /primer substraktif (substractive primaries).

b. Teori Newton (1642-1727)

Pembahasan mengenai keberadaan warna secara ilmiah dimulai dari hasil temuan Sir Isaac Newton yang dimuat dalam bukunya “Optics”(1704). Ia mengungkapkan bahwa warna itu ada dalam cahaya. Hanya cahaya satu- satunya sumber warna bagi setiap benda. Asumsi yang dikemukan oleh Newton didasarkan pada penemuannya dalam sebuah eksperimen. Di dalam sebuah ruangan gelap, seberkas cahaya putih matahari diloloskan lewat lubang kecil dan menerpa sebuah prisma. Ternyata cahaya putih matahari yang bagi kita tidak tampak berwarna, oleh prisma tersebut dipecahkan menjadi susunan cahaya berwarna yang tampak di mata sebagai cahaya merah, jingga, kuning, hijau, biru, nila, dan ungu, yang kemudian dikenal sebagai susunan spektrum dalam cahaya. Jika spektrum cahaya tersebut dikumpulkan dan diloloskan kembali melalui sebuah prisma, cahaya tersebut kembali menjadi cahaya putih. Jadi, cahaya putih (seperti cahaya matahari) sesungguhnya merupakan gabungan cahaya berwarna dalam spektrum.

Gambar 2.2 Spektrum Cahaya pada Prisma

Newton kemudian menyimpulkan bahwa benda- benda sama sekali tidak berwarna tanpa ada cahaya yang menyentuhnya. Sebuah benda tampak kuning karena


(23)

fotoreseptor (penangkap/penerima cahaya) pada mata manusia menangkap cahaya kuning yang dipantulkan oleh benda tersebut. Sebuah apel tampak merah bukan karena apel tersebut berwarna merah, tetapi karena apel tersebut hanya memantulkan cahaya merah dan menyerap warna cahaya lainnya dalam spektrum.

Gambar 2.3 Mata Melihat Apel Berwarna Merah

Cahaya yang dipantulkan hanya merah, lainnya diserap. Maka warna yang tampak pada pengamat adalah merah. Sebuah benda berwarna putih karena benda tersebut memantulkan semua cahaya spektrum yang menimpanya dan tidak satupun diserapnya. Dan sebuah benda tampak hitam jika benda tersebut menyerap semua unsur warna cahaya dalam spektrum dan tidak satu pun dipantulkan atau benda tersebut berada dalam gelap. Cahaya adalah satu-satunya sumber warna dan benda-benda yang tampak berwarna semuanya hanyalah pemantul, penyerap dan penerus warna-warna dalam cahaya.

2.1.2 Warna Dalam Bentuk Gelombang

Gelombang pada dasarnya adalah suatu cara perpindahan energi dari satu tempat ke tempat lainnya. Energi dipindahkan melalui pergerakan lokal yang relatif kecil


(24)

pada lingkungan sekitarnya. Energi pada sinar berjalan karena perubahan lokal yang fluktuatif pada medan listrik dan medan magnet, oleh karena itu disebut radiasi elektromagnetik.

a. Panjang gelombang, frekuensi, dan kecepatan cahaya

Setiap warna mempunyai panjang gelombang dan frekuensi yang berbeda. Bentuknya dapat ditunjukkan dalam suatu bentuk gelombang sinusoida. Berikut gambar gelombang dari berbagai macam frekuensi warna:

Gambar 2.4 Gelombang frekuensi warna cahaya

Jika kita menggambarkan suatu berkas sinar sebagai bentuk gelombang, jarak antara dua puncak atau jarak antara dua lembah atau dua posisi lain yang identik dalam gelombang dinamakan panjang gelombang.


(25)

Puncak- puncak gelombang ini bergerak dari kiri ke kanan. Jika dihitung banyaknya puncak yang lewat tiap detiknya, maka akan didapatkan frekuensi. Pakar pertama kali, lalu hasil perhitungan ini dinyatakan dalam satua sebesar 1 Hz menyatakan peristiwa gelombang yang terjadi satu kali per Sebagai alternatif, dapat diukur waktu antara dua buah kejadian/ peristiwa (dan menyebutnya sebagai dari periode (T ), seperti nampak dari rumus di bawah ini:

T

f = 1... (2.1)

dengan,

T = perioda (m) dan f = frekuensi (Hz).

Sinar oranye, mempunyai frekuensi sekitar 5 x 1014 Hz ( dapat dinyatakan dengan 5 x 108 MHz - megahertz). Artinya terdapat 5 x 1014 puncak gelombang yang lewat tiap detiknya. Sinar mempunyai kecepatan tetap pada media apapun. Sinar selalu melaju pada kecepatan sekitar 3 x 108 meter per detik pada kondisi hampa, dan dikenal dengan kecepatan cahaya. Terdapat hubungan yang sederhana antara panjang gelombang dan frekuensi dari suatu warna dengan kecepatan cahaya:

f

c

=

λ

.

... (2.2) dengan,

c = kecepatan cahaya ( 3 x 108m/s) ,

λ = panjang gelombang (m) dan f = frekuensi (Hz).


(26)

Hubungan ini artinya jika kita menaikkan frekuensi, maka panjang gelombang akan berkurang. Sebagai contoh, jika kita mendapatkan sinar warna merah mempunyai panjang gelombang 650 nm, dan hijau 540 nm, maka dapat diketahui bahwa warna hijau memiliki frekuensi yang besar daripada warna merah.

b. Spektrum Warna

Warna yang kita lihat diinterpretasikan dalam bentuk spektrum warna atau spektrum sinar tampak. Berikut adalah gambaran spektrum sinar tampak:

Gambar 2.6 Spektrum Warna Dan warna- warna utama dari spektrum sinar tampak adalah:

Warna Panjang gelombang (nm)

Ungu 380 - 435

Biru 435 - 500

Sian (biru 500 - 520

Hijau 520 - 565

Kuning 565 - 590

Oranye 590 - 625

Merah 625 - 740

Tabel 2.1 Spektrum Warna

Pada kenyataannya, warna saling bercampur satu sama lain. Spektrum warna tidak hanya terbatas pada warna- warna yang dapat kita lihat. Sangat mungkin mendapatkan panjang gelombang yang lebih pendek dari sinar ungu atau lebih panjang dari sinar merah. Pada spektrum yang lebih lengkap, akan ditunjukan


(27)

ultra-unggu dan infra-merah, tetapi dapat diperlebar lagi hingga sinar-X dan gelombang radio, diantara sinar yang lain. Gambar berikut menunjukan posisi spektrum-spektrum tersebut.

Gambar 2.7 Spektrum Gelombang Elektromagnetik

2.2 Teknik Konversi Frekuensi Output Sensor Menjadi Data Digital

Secara umum frekuensi adalah jumlah gelombang yang terjadi dalam waktu tertentu. Dalam elektronika digital, pengertian frekuensi disamakan dengan sinyal atau gelombang kotak atau juga pulsa. Nilai frekuensi dapat dihitung dari jumlah gelombang kotak dalam selang waktu tertentu. Gambar 2.8 berikut mengilustrasikan frekuensi atau sinyal kotak.

T= 1 ms (a)

(b)

(c)


(28)

Berdasarkan gambar diatas dalam selang waktu 1 milidetik frekuensi yang dihasilkan dapat diketahui dengan menghitung jumlah gelombang kotak atau disebut juga pulsa-pulsa digital. Misalkan pada gambar 2.8(b) terjadi 8 pulsa kotak dalam waktu 1 milidetik, berarti frekuensi yang dihasilkan adalah 16.000 pulsa per detik atau 16kHz. Hz s ms pulsahigh ms

f 16.000 16.000

1000 x 1 1000 x 16 1000 x 16 1000) x ms 1 16 1 1 = = = = = Τ =

Demikian juga pada gambar 2.8(c) terjadi 8 pulsa kotak atau pulsa dalam 1 milidetik, berarti frekuensinya adalah 8.000 pulsa per detik atau 8kHz.

Hz s ms pulsahigh ms T

f 8.000 8.000

1000 x 1 1000 x 8 1000 x 8 (-1000) x ms 1 8 1 1 = = = = = =

Oleh karena itu, untuk dapat mengubah data frekuensi output sensor maka program yang diisikan ke mikrokontroler harus sesuai/ mengikuti prosedur seperti yang telah dijelaskan diatas. Yaitu, frekuensi output/sinyal dari sensor diambil dalam selang waktu tertentu. Kemudian jumlah pulsa yang diterima dalam selang waktu tersebut disimpan kedalam register 8 bit yang ada pada mikrokontroler untuk dikonversikan menjadi data digital 8 bit dan menampilkan hasilnya melalui fasilitas port I/O yang ada pada mikrokontroler. Data digital yang dihasilkan dapat diubah kembali kedalam frekuensi dengan cara yang dijelaskan seperti diatas.


(29)

2.3 Perangkat Keras Sistem 2.3.1 Mikrokontroler

Dalam merancang aplikasi elektronika digital dibutuhkan sebuah alat/komponen yang dapat menghitung, mengingat, dan mengambil pilihan dan digunakan sebagai otaknya. Kemampuan ini dimiliki oleh sebuah komputer, namun tidaklah efisien jika harus menggunakan komputer hanya untuk keperluan tersebut. Untuk itu komputer dapat digantikan dengan sebuah mikrokontroler. Mikrokontroler sebenarnya adalah pengembangan dari mikroprosesor, namun dirancang khusus untuk keperluan instrumentasi sederhana. Mikrokontroler seri MCS-51 termasuk sederhana, murah dan mudah didapat dipasaran. Salah satu mikrokontroler seri MCS-51 adalah mikrokontroler AT89S51.

2.3.2 Arsitektur Mikrokontroler AT89S51

Mikrokontroler AT89S51 adalah mikrokontroler keluaran ATMEL.Inc. Mikrokontroler ini kompatibel dengan keluaran mikrokontroler 80C51. Mikrokontroller AT89S51 terdiri dari 40 pin dan sudah memiliki memory flash didalamnya, sehingga sangat praktis untuk digunakan. Beberapa kemampuan (fitur) yang dimiliki adalah sebagai berikut :

• Memiliki 4K Flash EPROM yang digunakan untuk menyimpan program. Flash EPROM(Erasable Programmable Read Only Memory) dapat ditulis dan dihapus sebanyak 1000 kali (menurut manual).


(30)

RAM (Random Access Memory), suatu memori yang datanya akan hilang bila catu padam, diakses secara random, tidak sekuensial, artinya dialamat mana saja dapat dicapai secara langsung dengan cepat.

4 buah 8-bit I/O (Input/Output) port

Port ini berfungsi sebagai terminal input dan output. Selain itu, dapat digunakan sebagai terminal komunikasi paralel, serta komunikasi serial (pin10 dan 11).

• Dua buah timer/counter 16 bit.

• Tegangan operasi dinamis dari 2,7 volt hingga 6 volt. • Operasi clock dari 0 hingga 24 MHz

• Program bisa diproteksi, sehingga tidak dapat dibaca oleh orang lain. • Menangani 6 sumber interupsi.

Ada kemampuan Idle mode dan Down mode

2.3.2.1Spesifikasi penting AT89S51 :

a. Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya b. 8 KBytes In system Programmable (ISP) flash memori dengan

kemampuan 1000 kali baca/tulis c. tegangan kerja 4-5.0V

d. Bekerja dengan rentang 0 – 33MHz e. 256x8 bit RAM internal

f. 32 jalur I/0 dapat deprogram g. 3 buah 16 bit Timer/Counter h. 8 sumber interrupt


(31)

j. watchdog timer k. dua data pointer

l. Mode pemrograman ISP yang fleksibel (Byte dan Page Model). Berikut adalah gambar susunan pin pada Mikrokontroller AT89S51:

Gambar 2.9 Susunan Pin pada Mikrokontroller AT89S51 Keterangan fungsi-fungsi masing-masing pin adalah sebagai berikut :

Pin 40 Vcc, Masukan catu daya +5 volt DC

Pin 20 Gnd, Masukan catu daya 0 volt DC

Pin 32-39 P0.0-P0.7, Port input/output delapan bit dua arah yang juga dapat berfungsi sebagai bus data dan bus alamat bila mikrokontroler menggunakan memori luar (eksternal).


(32)

Pin 1-8 P1.0-P1.7, Port input/output dua arah delapan bit dengan internal pull up.

Pin 10-17 P3.0-P3.7Port input/output delapan bit dua arah, selain itu Port 3 juga memiliki alternativef fungsi sebagai :

RXD (pin 10) Port komunikasi input serial

TXD (pin 11) Port komuikasi output serial

INT0 (pin 12) Saluran Interupsi eksternal 0 (aktif rendah)

INT1 (pin 13) Saluran Interupsi eksternal 1 (aktif rendah)

T0 (pin 14) Input Timer 0

T1 (pin 15) Input Timer 1

WR (pin 16) Berfungsi sebagai sinyal kendali tulis, saat prosesor akan menulis data ke memori I/O luar.

RD (pin 17) Berfungsi sebagai sinyal kendali baca, saat prosesor akan membaca data dari memori I/O luar.

Pin 9 RESET, Pin yang berfungsi untuk mereset mikrokontroller AT89S51 ke keadaan awal.

Pin 30 ALE (Address Latch Enable), berfungsi menahan sementara alamat byte rendah pada proses pengalamatan ke memori eksternal.


(33)

Pin 29 PSEN (Program Store Enable), Sinyal pengontrol yang berfungsi untuk membaca program dari memori eksternal.

Pin 31 EA, Pin untuk pilihan program, menggunakan program internal atau eksternal. Bila ‘0’, maka digunakan program eksternal.

Pin 19 X1, Masukan ke rangkaian osilator internal. Sumber osilator eksternal atau quartz crystal kristal dapat digunakan.

Pin 18 X2, Masukan ke rangkaian osilator internal, koneksi quartz crystal atau tidak dikoneksikan apabila digunakan eksternal osilator.

2.3.2.2 Struktur Pengoperasian Port Struktur pengoperasian port terdiri atas :

1. Port Input/Output

One chip mikrokontroller ini memiliki 32 jalur port yang dibagi menjadi 4 buah port 8 bit. Masing-masing port ini bersifat bidirectional sehingga dapat digunakan sebagai input port atau output port. Pada bok diagram AT89C51 dapat dilihat latch tiap bit pada keempat port : port 0, port 1, port 2, port 3. Masing-masing jalur port terdiri dari latch, output driver dan input buffer. Port 0 dan port 2 dapat digunakan sebagai saluran data dan alamat. Port 0 sebagai saluran data, sedangkan port 2 sebagai saluran data dan alamat sekaligus yang dimultipleks. Untuk mengakses memory eksternal, port 0 akan mengeluarkan alamat bawah memori eksternal yang dimultipleks dengan data yang dibaca dan ditulis. Sedangkan port 2 mengeluarkan bagian atas memory eksternal sehingga total alamat semuanya 16 bit.


(34)

Khusus untuk port 3 mempunyai fungsi yang lain diluar sebagai port. Fungsi ini akan berbeda untuk tiap-tiap kaki dengan urutan sebagi berikut :

- Port 3.0 : port input serial, RXD. - Port 3.1 : port output serial, TXD.

- Port 3.2 : input interupsi eksternal, INT0. - Port 3.3 : input interupsi internal, INT1.

- Port 3.4 : input eksternal untuk timer /counter 0, T0. - Port 3.5 : input eksternal untuk timer /counter 1, T1. - Port 3.6 : sinyal tulis memori eksternal, WR.

- Port 3.7 : sinyal baca memori eksternal, RD.

Latch yang digunakan dapat dipresentasikan dengan D-FlipFlop. Data dari bus internal di-latch saat CPU memberi sinyal tulis ke latch dan output latch diberikan ke bus internal sebagai respon dari sinyal baca pin dari CPU. Beberapa instruksi yang berfungsi membaca port mengaktifkan sinyal baca latch dan yang lain mengaktifkan sinyal baca pin. Port 1, port 2, dan port 3 mempunyai pull-up internal, sedangkan port 0 dengan open drain. Masing-masing jalur I/O dapat digunakan sebagai input atau output. Bila digunakan sebagai input, port latch harus 1. Untuk port 1, 2 dan 3, pin-pin akan di pull-up tinggi oleh pull-up internal, dan bisa juga di pull-up rendah dengan sumber eksternal.

Port 0 tidak mempunyai pull-up internal. Pull-up fet hanya akan digunakan saat akses memori eksternal. Jika isi latch diatur pada keadaan 1 maka port ini akan berfungsi sebagai impedansi tinggi dan jika sebagai output akan bersifat open drain. Demikian halnya dengan port 2 yang digunakan untuk multipleks data dan alamat 16 bit sebesar 16 Kbyte mempunyai konfigurasi yang sama dengan yang dimiliki port 0.


(35)

Sedangkan pada port 3 yang bisa dimanfaatkan untuk kaki kontrol mempunyai pengaturan fungsi output saja. Pada port ini dilengkapi dengan rangkaian pull-up internal. Penggunaan port 3 dapat dialamati langsung sebagai kontrol langsung pada suatu tugas yang dilakukan oleh fungsi yang dimiliki oleh port ini.

2. Timer/Counter

One chip mikrokontroller ini memilik dua timer yang dapat dikonfigurasikan beroperasi sebagai timer atau counter. Saat berfungsi sebagai timer, isi register timer

ditambah 1 untuk tiap siklus mesin, sedangkan untuk fungsi counter isi register akan bertambah 1 setiap ada transisi sinyal pada pin input eksternal.

Pada pemanfaatan sebagai counter, sinyal input yang dimaksudkan dapat berupa low level atau falling edge trigger. Counter akan mencacah setiap masukan yang ada sesuai inisialisasi harga awal dari counter pada nilai hitungan untuk tiap sampling. Inisialisasi harga awal ini berupa nilai preset negatif counter yang diatur sebelum counter dijalankan.

Demikian halnya dengan pemanfaatan timer yang memerlukan inisialisasi awal berupa konstanta waktu yang menentukan sampai berapa lama akan terjadi roll over. Penentuan harga preset ini berhubungan dengan penggunaan frekuensi clock dari sistem penentu waktu sampling dari counter untuk mencacah suatu pulsa masukan dari luar dengan memanfaatkan kontrol interupsi yang ada serta pengaturan program. Sebagai tambahan pada pemilihan countr/timer, timer 0 dan timer 1 mempunyai 4 buah modul yang dapat dipilih dengan menentukan pasangan bit M0 dan M1 pada register TMOD. Untuk pemilihan timer/counter dikontrol dengan bit C/T di TMOD.


(36)

 Mode 0

Pada mode ini timer register dikonfigurasikan sebagai register 13 bit. Ke-13 bit register tersebut terdiri dari 8 bit TH1 dan 5 bit TL1. Selama perhitungan roll over dari semua 1 ke semua 0, TF1 (Timer Interrupt Flag) di set. Pada dasarnya operasi mode 0 sama untuk timer 0 dan timer 1.

 Mode 1

Mode 1 adalah timer register 16 bit dan dapat generator boudrate. Operasi mode 1 sama dengan mode 0.

 Mode 2

Mode 2 adalah timer register dengan konfigurasi 8 bit counter (TL1) auto reload. Overflow dari TL1 tidak hanya menset TF1 tapi juga mereload TL1 dengan isi TH1. Setelah reload isi TH1 tidak akan berubah. Operasi mode ini juga sama dengan timer/counter 0.

 Mode 3

Pada mode ini timer 1 tidak akan bekerja. Sedangkan timer 0 menjadi 2 counter yang terpisah. TL0 digunakan sebagai bit kontrol untuk timer 0; C/T, GATE, TR0, INT0, dan TF0 seolah-olah mengontrol timer 1.

2.3.2.3Reset

Input reset dilakukan melalui pin RST. Reset dilakukan selama 2 siklus mesin dan pin RST tinggi. Dalam hal ini CPU akan mengaktifkan internal reset, rangkaian reset dapat dilihat 2.1.1.6.


(37)

Karena sinyal reset eksternal tidak sinkron dengan clock internal maka pin RST diambil pada state 5 (SS) dan fas setiap siklus mesin. Aktifis port tetap dipertahankan selama 19 priode osilator sesudah logika 1 diambil pada kaki RST.

10uF

8.2kohm VCC

RST

Gambar 2.10 Power On Reset

2.3.3 ADC (Analog to Digital Converter)

ADC (Analog to Digital Converter) adalah suatu angkaian pengubah informasi dari tegangan analog ke digital. A/D Converter ini dapat dipasang sebagai pengonversi tegangan analog dari suatu peralatan sensor ke konfigurasi digital yang akan diumpankan ke suatu sistem minimum.

Secara umum Rangkaian di dalam IC ADC memiliki 2 bagian utama, yaitu:

1. Bagian Sampling dan Hold, yang berfungsi menangkap atau menahan tagangan analog input sesaat untuk seterusnya diumpankan ke rangkaian pengonversi. 2. Rangkaian Konversi A/D (plus rangkaian kontrolnya).


(38)

Gambar berikut menggambarkan bagaimana aliran sinyal analog diubah ke sinyal digital.

Konversi A/D & Kontrol

0/1

Ke INT CPU PB7-PB0

Ke parallel Input port S/H

Input analog

0/1

START Konversi, SOC Chip Select, CE

END Konversi, EOC

Gambar 2.11 Diagram ADC secara umum

Rangkaian di atas dioperasikan sebagai berikut. Pertama, kontroler, dalam hal ini mikroprosesor / mikrokontroller menghubungi ADC dengan mengirim sinyal CE. Artinya, ADC diaktifkan. Kemudian SOC (start of conversion) dikirimkan sehingga ADC mulai melakukan sampling sinyal dan diikuti dengan konversi ke digital.

Bila konversi selesai maka ADC akan mengirimkan tanda selesai EOC (end of conversion) yang artinya hasil konversi telah siap dibaca di (PB7-PB0). ). Program yang sesuai harus dibuat mengikuti prosedur seperti di atas. Artinya, program utama mikroprosesor harus dimuati dengan suatu program loop tertutup dan menunggu tanda untuk membaca data dari ADC. Meski tanda ini tidak harus diperhatikan, tetapi berakibat data yang dipaksa dibaca akan sering invalid karena CPU tidak dapat membedakan keadaan ambang (ketika ADC tengah melakukan konversi) dengan keadaan data siap (valid). Agar lebih efektif, fungsi interrupt harus diaktifkan untuk


(39)

menghindari terjebaknya CPU dalam loop saat menunggu ADC siap. Dengan demikian CPU hanya akan membaca data bila mendapatkan interrupt.

Secara singkat, ADC memerlukan bantuan sekuensi system untuk menangkap dan mengkonversi sinyal. Seberapa lama ADC dapat sukses mengkonversi suatu nilai sangat tergantung dari kemampuan sampling dan konversi dalam domain waktu. Makin cepat prosesnya, makin berkualitas pula ADC tersebut. Karena inilah maka karakteristik ADC yang paling penting adalah waktu konversi (conversion time). Namun demikian, kemampuan riil ADC dalam system loop tertutup dalam sebuah

฀ystem lengkap justru sangat dipengaruhi oleh kemampuan kontroler atau prosesor dalam mengolah data input-output secara cepat, dan bukan hanya karena kualitas ADC-nya.

2.3.4 LDR (Light Depent Resistor)

LDR terdiri dari sebuah piringan bahan semikonduktor dengan dua buah elektroda pada permukaannya. Dalam gelap atau dibawah cahaya yang redup, bahan piringannya hanya mengandung electron bebas yang relative kecil. Hanya tersedia sedikit electron untuk mengalirkan muatan listrik. Hal ini berarti bahwa, sifat konduktor yang buruk untuk arus listrik. Dengan kata lain, nilai tahanan bahan sangat tinggi. Dibawah cahaya yang cukup terang, lebih banyak electron dapat melepaskan diri dari atom-atom bahan semikonduktor ini. Terdapat lebih banyak electron bebas yang dapat mengalirkan muatan listrik. Dalam keadaan ini, bahan bersifat sebagai konduktor yang baik. Tahan listrik bahan rendah. Semakin terang cahaya yang mengenai bahan, semakin banyak electron yang tersedia, dan semakin rendah pula.


(40)

Gambar 2.12 LDR(Light Depent Resistor) 2.3.5 Power Supply (PSA)

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke relay. Rangkaian power supplay ditunjukkan pada gambar 2.13 berikut ini :

Gambar 2.13 Rangkaian Power Supplay (PSA)

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 3300 μF. Dua buah dioda berikutnya berfungsi untuk menahan arus yang ada pada regulator agar tidak balik jika terjadi penarikan arus


(41)

sesaat dari tegangan 12 volt. Regulator tegangan 5 volt (7805) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.

2.3.6 Motor Stepper

Motor stepper adalah motor listrik yang dikendalikan dengan pulsa-pulsa digital, bukan dengan memberikan tegangan yang terus-menerus. Deretan pulsa diterjemahkan menjadi putaran shaft, dimana setiap putaran membutuhkan jumlah pulsa yang ditentukan. Satu pulsa menghasilkan satu kenaikan putaran atau step, yang merupakan bagian dari satu putaran penuh. Oleh karena itu, perhitungan jumlah pulsa dapat diterapkan untuk mendapatkan jumlah putaran yang diinginkan. Perhitungan pulsa secara otomatis menujukkan besarnya putaran yang telah dilakukan, tanpa memerlukan informasi balik(feedback).Ketepatan kontrol gerak motor stepper terutama dipengaruhi oleh jumlah step tiap putaran; semakin banyak jumlah step, semakin tepat gerak yang dihasilkan. Untuk ketepatan yang lebih tinggi, beberapa driver motor stepper membagi step normal menjadi setengah step(half step) atau mikro step.

Pada dasarnya motor stepper dikelompokkan menjadi 3 jenis, yaitu:

a. Permanent Magnet (PM)

b. Variable Reluctance (VR)


(42)

Dilihat dari lilitannya motor stepper terbagi menjadi 2 jenis yaitu :

a. Motor Stepper Unipolar

Motor stepper unipolar terdiri dari dua lilitan yang memiliki center tap. Center tap dari masing masing lilitan ada yang berupa kabel terpisah ada juga yang sudah terhubung didalamnya sehingga center tap yang keluar hanya satu kabel. Untuk motor stepper yang center tapnya ada pada masing – masing lilitan kabel inputnya ada 6 kabel. Namun jika center tapnya sudah terhubung di dalam kabel inputannya hanya 5 kabel. Center tap dari motor stepper dapat dihubungkan ke pentanahan atau ada juga yang menghubungkannya ke +VCC hal ini sangat dipengaruhi oleh driver yang digunakan. Sebagai gambaran dapat dilihat konstruksi motor stepper unipolar pada gambar berikut:

Gbr 2.14 Konstruksi Motor Unipolar

b. Motor Stepper Bipolar

Motor stepper bipolar memiliki dua lilitan perbedaaan dari tipe unipolar adalah bahwa pada tipe bipolar lilitannya tidak memiliki center tap. Keunggulan tipe bipolar yaitu memiliki torsi yang lebih besar jika dibandingkan dengan tipe unipolar untuk ukuran yang sama. Pada motor stepper tipe ini hanya memiliki empat kabel masukan. Namun ntuk menggerakan motor stepper tipe ini lebih rumit jika dibandingkan dengan


(43)

menggerakan motor stepper tipe unipolar. Sebagai gambaran dapat dilihat konstruksi motor stepper bipolar pada gambar berikut :

Gbr 2.15 Konstruksi Motor Syepper Bipolar 2.3.7 Dioda LED

LED adalah singkatan dari Light Emiting Dioda, merupakan komponen yang dapat mengeluarkan emisi cahaya.LED merupakan produk temuan lain setelah dioda. Strukturnya juga sama dengan dioda, tetapi belakangan ditemukan bahwa elektron yang menerjang sambungan P-N juga melepaskan energi berupa energi panas dan energi cahaya. LED dibuat agar lebih efisien jika mengeluarkan cahaya. Untuk mendapatkna emisi cahaya pada semikonduktor, doping yang pakai adalah galium, arsenic dan phosporus. Jenis doping yang berbeda menghasilkan warna cahaya yang berbeda pula.

Gambar 2.16 Dioda LED dan Simbolnya

Pada perancangan sistem LED yang digunakan adalah warna putih. LED berwarna putih, ini dikarenakan warna ini adalah warna pokok.


(44)

2.4 Perangkat Lunak 2.4.1 Bahasa Assembly

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S52 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan orang hanya 10 instruksi. Instruksi –instruksi tersebut antara lain :

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

Contoh : pengisian nilai secara langsung

MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0).

Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai.

Contoh pengisian nilai secara tidak langsung

MOV 20h,#80h

...

...


(45)

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0).Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

2. Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh ,

MOV R0,#80h

Loop: ...

...

DJNZ R0,Loop

...

R0 - 1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.

3. Instruksi ACALL

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu.

Contoh :

...

ACALL TUNDA


(46)

TUNDA:

...

4. Instruksi RET

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,

ACALL TUNDA

...

TUNDA:

...

RET

5. Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu.

Contoh:

Loop:

...

...

JMP Loop

6. Instruksi JB (Jump if bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1).


(47)

Contoh:

Loop:

JB P1.0,Loop

...

7. Instruksi JNB (Jump if Not bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0).

Contoh:

Loop:

JNB P1.0,Loop

...

8. Instruksi CJNZ (Compare Jump If Not Equal)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu.

Contoh:

Loop:

...

CJNE R0,#20h,Loop


(48)

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya..

9. Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1.

Contoh:

MOV R0,#20h R0 = 20h

...

DEC R0 R0 = R0 – 1

...

10. Instruksi INC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1.

Contoh:

MOV R0,#20h R0 = 20h

...

INC R0 R0 = R0 + 1 ...


(49)

2.4.2 Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah ini.

Gambar 2.17 8051 Editor, Assembler, Simulator (IDE)

Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroller.


(50)

2.4.3 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar berikut ini

Gambar 2.18 ISP- Flash Programmer 3.a

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroller.


(51)

BAB 3

PERANCANGAN ALAT DAN PERANCANGAN PROGRAM

3.1 Perancangan Alat 3.1.1 Diagram Blok

Secara garis besar,diagram blok dari rangkaian proyek Tugas Akhir ini ditunjukkan pada gambar 3.1 berikut ini :

Gambar 3.1 Diagram Blok Rangkaian

Gambar 3.1 Diagram Blok Sistem Rangkaian

LDR berfungsi sebagai sensor untuk membaca warna, data dari sensor yang merupakan data analog kemudian dimasukkan ke ADC untuk di dikonversi menjadi data digital. Data yang masuk melalui ADC akan di olah dan dibandingkan oleh mikrokontroller dan ditampilkan hasilnya melalui display LCD 2x16.

Desain rangkaian diatas terdiri dari :

1. Rangkaian sensor LDR berfungsi untuk mendeteksi besarnya intensitas cahaya pada bahan berwarna.


(52)

2. Limit switch berfungsi untuk membatasi gerakan / putaran motor stepper.

3. ADC berfungsi sebagai pengubah data manual menjadi data digital.

4. Mikrokontroler berfungsi sebagai otak rangkaian.

3.1.2 Prinsip Kerja Diagram Blok

Pada kedaan awal system diaktifkan,dimana proyek Tugas Akhir ini penulis menggunakan sensor LDR sebagai pengukur besarnya intensitas cahaya.Rangkaian sensor terdiri dari sebuah LDR.Ketika LDR mendeteksi adanya intensitas cahaya, maka LDR akan mengeluarkan tegangan tertentu, selanjutnya ADC akan merubah data Analog menjadi data digital dan selanjutnya dikiramkan ke Mikrokontroler AT89S51 yang berfungsi sebagai basis (otak) pada system ini.Dan berdasarkan perintah yang telah terprogram pada Mikrokontroler AT89S51 maka mikrokokontroler tersebut akan memberikan perintah pada Driver motor stepper berputar untuk memusahkan bahan berwarna ,motor stepper berhenti jika telah mengenai limit swith bawah.Keadaan tersebut berarti bahan berwarna sudah dipisahkan.

3.2 Perancangan Power Supplay (PSA)

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian. Rangkaian power supplay ditunjukkan pada gambar 3.2 berikut ini :


(53)

Gambar 3.2 Rangkaian Power Supplay (PSA)

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.

3.3 Perancangan Rangkaian Mikrokontroler AT89S51

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada. Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini:


(54)

Gambar.3.3.rangkaian mikrokontroller AT89S51

Pin 31 External Access Enable (EA) diset high (H). Ini dilakukan karena mikrokontroller AT89S51. tidak menggunakan memori eskternal. Pin 18 dan 19 dihubungkan ke XTAL 12 MHz dan capasitor 33 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroller AT89S51. dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroller ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit open collector dapat juga digunakan sebagai


(55)

multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Pada port 0 ini masing masing pin dihubungkan dengan resistor 4k7 ohm. Resistor 4k7 ohm yang dihubungkan ke port 0 befungsi sebagai pull up( penaik tegangan ). Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3.. Pin 20 merupakan ground dihubungkan dengan ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supplay.

3.4 Perancangan Display LCD Character 2x16

Display LCD 2x16 berfungsi sebagai penampil nilai kuat induksi medan elektromagnetik yang terukur oleh alat. LCD yang digunakan pada alat ini mempunyai lebar display 2 baris 16 kolom atau biasa disebut sebagai LCD Character 2x16,dengan16 pin konektor, yang didifinisikan sebagai berikut:


(56)

Tabel 3.1 fungsi pinLCD character 2x16


(57)

Modul LCD terdiri dari sejumlah memory yang digunakan untuk display. Semua teks yang kita tuliskan ke modul LCD akan disimpan didalam memory ini, dan modul LCD secara berturutan membaca memory ini untuk menampilkan teks ke modul LCD itu sendiri.

Gambar 3.5 Peta memory LCD character 2x16

Pada peta memori diatas, daerah yang berwarna biru ( 00 s/d 0F dan 40 s/d 4F ) adalah display yang tampak. jumlahnya sebanyak 16 karakter per baris dengan dua baris. Angka pada setiap kotak adalah alamat memori yang bersesuaian dengan posisi dari layar. Dengan demikian dapat dilihat karakter pertama yang berada pada posisi baris pertama menempati alamat 00h. dan karakter kedua yang berada pada posisi baris kedua menempati alamat 40h

Agar dapat menampilkan karakter pada display maka posisi kursor harus terlebih dahulu diset. Instruksi Set Posisi Kursor adalah 80h. dengan demikian untuk menampilkan karakter, nilai yang terdapat pada memory harus ditambahkan dengan 80h.

Sebagai contoh, jika kita ingin menampilkan huruf “B” pada baris kedua pada posisi kolom kesepuluh.maka sesuai dengan peta memory, posisi karakter pada kolom 10 dari baris kedua mempunyai alamat 4Ah, sehingga sebelum kita menampilkan huruf “B” pada LCD, kita harus mengirim instruksi set posisi kursor, dan perintah untuk instruksi ini adalah 80h ditambah dengan alamat 80h + 4Ah =0Cah. Sehingga dengan mengirim perintah 0Cah ke LCD, akan menempatkan kursor pada baris kedua dan kolom ke 11.


(58)

3.5 Perancangan Rangkaian ADC

Rangkaian ADC ini berfungsi untuk merubah data analog yang dihasilkan oleh sensor LDR menjadi bilangan digital. output dari ADC dihubungkan ke mikrokontroler. Sehingga mikrokontroler dapat mengetahui perbedaan intensitas warna yang dibaca oleh sensor Dengan demikian proses pembacaan warna dapat dilakukan. Gambar rangkaian ADC ditunjukkan pada gambar di bawah ini:

Gambar 3.6 rangkaian ADC

Input ADC dihubungkan ke sensor LDR, sehingga setiap perubahan tegangan pada sensor LDR akan dideteksi oleh ADC. Agar output yang dihasilkan oleh ADC bagus, maka tegangan refrensi ADC harus benar-benar stabil, karena perubahan tegangan refrensi pada ADC akan merubah output ADC tersebut. Oleh sebab itu pada rangkaian ADC di atas tegangan masukan 12 volt dimasukkan ke dalam IC regulator tegangan 9 volt (7809) agar keluarannya menjadi 9 volt, kemudian keluaran 9 volt ini


(59)

dimasukkan kedalam regulator tegangan 5 volt (7805), sehingga keluarannya menjadi 5 volt. Tegangan 5 volt inilah yang menjadi tegangan refrensi ADC. Dengan demikian walaupun tegangan masukan turun setengahnya, yaitu dari 12 volt menjadi 6 volt, tegangan refrensi ADC tetap 5 volt.

3.6 Perancangan Rangkaian Dioda LED

Dioda LED digunakan sebagai pemancar cahaya putih yang mana cahaya putih tersebut digunakan untuk warna pokok.Dioda LED yang di pilih dalah berwarna putih pula. Dioda LED ini akan terus hidup selama system bekerja. LED juga berfungsi sebagai pembanding cahaya matahari dengan intensitas yang tetap dan stabil

Rangkaian Dioda LED tampak seperti gambar di bawah ini:

Gambar 3.7 Rangkaian Dioda LED

Pada rangkaian di atas digunakan 2 buah LED yang diparalelkan, dengan demikian maka intensitas yang dipancarkan oleh LED semakin kuat dan stabil, karena merupakan gabungan dari 2 buah LED . Resistor yang digunakan adalah 330 ohm sehingga arus yang mengalir pada masing-masing LED inframerah adalah sebesar :


(60)

Dengan besarnya arus yang mengalir ke LED, maka intensitas pancaran LED akan semakin kuat, yang menyebabkan intensitasnya stabil.


(61)

3.7 Program Sistem pendeteksi dan pemisah warna

;========================; ; program pembaca warna; ;========================;

rs bit p2.0

rw bit p2.1

en bit p2.2

interrupt bit p3.7

;== start program ==; paling_utama: lcall clear_screen mov b,#38h lcall data_scan lcall data_penampil pesan_1:

; = = = kirim karakter = = = ; mov b,#'L' lcall kirim_data lcall delay2 mov b,#'O' lcall kirim_data lcall delay2 mov b,#'A' lcall kirim_data lcall delay2 mov b,#'D' lcall kirim_data lcall delay2 mov b,#'I' lcall kirim_data lcall delay2 mov b,#'N' lcall kirim_data lcall delay2 mov b,#'G' lcall kirim_data lcall delay2 mov b,#'.' lcall kirim_data lcall delay2 mov b,#'.' lcall kirim_data lcall delay2 mov b,#'.' lcall kirim_data lcall delay2 lcall clear_screen mulai: clr interrupt lcall tadc setb interrupt utama: jb interrupt,$ lcall tadc mov a,p1 mov 62h,a mov a,62h cjne a,#201,cek_merah1 lcall clear_screen lcall pesan_merah ljmp mulai

;= merah =; cek_merah1: cjne a,#202,cek_merah2 lcall clear_screen lcall pesan_merah ljmp mulai cek_merah2: cjne a,#203,cek_merah3 lcall clear_screen lcall pesan_merah ljmp mulai cek_merah3:

cjne a,#204, cek_kuning1 lcall clear_screen

lcall pesan_merah ljmp mulai ljmp mulai ;= kuning =;

cek_kuning1:

cjne a,#161,cek_kuning2 lcall clear_screen lcall pesan_kuning

ljmp mulai cek_kuning2: cjne a,#162,cek_kuning3 lcall clear_screen lcall pesan_kuning ljmp mulai cek_kuning3: cjne a,#163,cek_kuning4 lcall clear_screen lcall pesan_kuning ljmp mulai


(62)

cek_kuning4:

cjne a,#164,cek_ ijo lcall clear_screen lcall pesan_kuning

ljmp mulai

;= warna ijo =;

cek_ijo: cjne a,#139,cek_ijo1 lcall clear_screen lcall pesan_ijo ljmp mulai cek_ijo1: cjne a,#140,cek_ijo3 lcall clear_screen lcall pesan_ijo ljmp mulai cek_ijo3:

cjne a,#141, cek_itam lcall clear_screen lcall pesan_ijo ljmp mulai

;= hitam =;

cek_itam: cjne a,#29,cek_itam6 lcall clear_screen lcall pesan_itam ljmp mulai cek_itam6: cjne a,#30,cek_itam7 lcall clear_screen lcall pesan_itam ljmp mulai cek_itam7: cjne a,#31,tidak_ada_warna lcall clear_screen lcall pesan_itam ljmp mulai tidak_ada_warna: lcall clear_screen lcall pesan_blank ljmp mulai

;========= routine pesan ==========; pesan_merah: mov b,#38h lcall data_scan lcall data_penampil2 ;= = = = = = = = = = = = = = ; mov b,#'M' lcall kirim_data lcall delay mov b,#'E' lcall kirim_data lcall delay mov b,#'R' lcall kirim_data lcall delay mov b,#'A' lcall kirim_data lcall delay mov b,#'H' lcall kirim_data lcall delay

;= = = tulis baris bawah = = =;

mov b,#0c1h lcall data_scan ; = = = = = = = = = = = = = = ; mov b,#'F' lcall kirim_data lcall delay mov b,#'r' lcall kirim_data lcall delay mov b,#'e' lcall kirim_data lcall delay mov b,#'k' lcall kirim_data lcall delay mov b,#'.' lcall kirim_data lcall delay mov b,#'4' lcall kirim_data lcall delay mov b,#'0' lcall kirim_data lcall delay mov b,#'2 lcall kirim_data lcall delay mov b,#'0' lcall kirim_data lcall delay mov b,#'0' lcall kirim_data lcall delay

mov b,#' ' lcall kirim_data lcall delay mov b,#'H' lcall kirim_data lcall delay mov b,#'z' lcall kirim_data lcall delay lcall delay lcall delay ret


(63)

pesan_kuning: mov b,#38h lcall data_scan lcall data_penampil2 ;= = = = = = = = = = = = = = ; mov b,#'K' lcall kirim_data lcall delay mov b,#'U' lcall kirim_data lcall delay mov b,#'N' lcall kirim_data lcall delay mov b,#'I' lcall kirim_data lcall delay mov b,#'N' lcall kirim_data lcall delay mov b,#'G lcall kirim_data lcall delay ;= = = tulis baris bawah = = =;

mov b,#0c1h lcall data_scan ; = = = = = = = = = = = = = = ; mov b,#'F' lcall kirim_data lcall delay mov b,#'r' lcall kirim_data lcall delay mov b,#'e' lcall kirim_data lcall delay mov b,#'k' lcall kirim_data lcall delay mov b,#'.' lcall kirim_data lcall delay mov b,#'3' lcall kirim_data lcall delay mov b,#'2' lcall kirim_data lcall delay mov b,#'2' lcall kirim_data lcall delay mov b,#'0' lcall kirim_data lcall delay mov b,#'0' lcall kirim_data lcall delay mov b,#' '

lcall kirim_data lcall delay mov b,#'H' lcall kirim_data lcall delay mov b,#'z' lcall kirim_data lcall delay lcall delay lcall delay ret pesan_ijo: mov b,#38h lcall data_scan lcall data_penampil2 ;= = = = = = = = = = = = = = ; mov b,#'H' lcall kirim_data lcall delay mov b,#'I' lcall kirim_data lcall delay mov b,#'J' lcall kirim_data lcall delay mov b,#'A' lcall kirim_data lcall delay mov b,#'U' lcall kirim_data lcall delay ;= = = tulis baris bawah = = =;

mov b,#0c1h lcall data_scan ; = = = = = = = = = = = = = = ; mov b,#'F' lcall kirim_data lcall delay mov b,#'r' lcall kirim_data lcall delay mov b,#'e' lcall kirim_data lcall delay mov b,#'k' lcall kirim_data lcall delay mov b,#'.' lcall kirim_data lcall delay mov b,#'2' lcall kirim_data lcall delay mov b,#'7' lcall kirim_data lcall delay mov b,#'8'


(64)

lcall kirim_data lcall delay mov b,#'0' lcall kirim_data lcall delay mov b,#'0' lcall kirim_data lcall delay

mov b,#' ' lcall kirim_data lcall delay mov b,#'H' lcall kirim_data lcall delay mov b,#'z' lcall kirim_data lcall delay lcall delay lcall delay ret pesan_itam: mov b,#38h lcall data_scan lcall data_penampil2 ;= = = = = = = = = = = = = = ; mov b,#'H' lcall kirim_data lcall delay mov b,#'I' lcall kirim_data lcall delay mov b,#'T' lcall kirim_data lcall delay mov b,#'A' lcall kirim_data lcall delay mov b,#'M' lcall kirim_data lcall delay

;= = = tulis baris bawah = = =; mov b,#0c1h lcall data_scan ; = = = = = = = = = = = = = = ; mov b,#'F' lcall kirim_data lcall delay mov b,#'r' lcall kirim_data lcall delay mov b,#'e' lcall kirim_data lcall delay mov b,#'k' lcall kirim_data lcall delay mov b,#'.' lcall kirim_data lcall delay mov b,#'5' lcall kirim_data lcall delay mov b,#'8' lcall kirim_data lcall delay mov b,#'0' lcall kirim_data lcall delay mov b,#'0' lcall kirim_data lcall delay

mov b,#' ' lcall kirim_data lcall delay mov b,#'H' lcall kirim_data lcall delay mov b,#'z' lcall kirim_data lcall delay lcall delay lcall delay ret pesan_blank: mov b,#38h lcall data_scan lcall data_penampil2 ;= = = = = = = = = = = = = = ; mov b,#'.' lcall kirim_data lcall delay mov b,#'.' lcall kirim_data lcall delay mov b,#'.' lcall kirim_data lcall delay mov b,#'.' lcall kirim_data lcall delay mov b,#'.' lcall kirim_data lcall delay mov b,#'.'


(65)

lcall kirim_data lcall delay mov b,#'.' lcall kirim_data lcall delay mov b,#'?' lcall kirim_data lcall delay mov b,#'?' lcall kirim_data lcall delay mov b,#'?' lcall kirim_data lcall delay mov b,#'?' lcall kirim_data lcall delay mov b,#'?' lcall kirim_data lcall delay mov b,#'?' lcall kirim_data lcall delay ret

;= penampil display =; data_penampil: mov b,#0ch lcall data_scan mov b,#06h lcall data_scan mov b,#80h lcall data_scan ret data_penampil2: mov b,#0ch lcall data_scan mov b,#06h lcall data_scan mov b,#81h lcall data_scan ret clear_screen: mov b,#01h lcall data_scan ret data_scan:

mov p0,bclr rs

clr rw setb end lcall delay clr end lcall delay ret kirim_data: mov p0,b setb rs clr rw setb en lcall delay clr en lcall delay ret delay: mov r7,#98 dly: mov r6,#200 djnz r6,$ djnz r7,dly ret delay2: mov r7,#255 dly2: mov r6,#255 djnz r6,$ djnz r7,dly2 ret tadc: mov r7,#100 adc: mov r6,#100 djnz r6,$ djnz r7,adc ret end


(66)

BAB 4

PENGUJIAN RANGKAIAN DAN PEMBAHASAN SISTEM

4.1 Pengujian Rangkaian

4.1.1 pengujian rangkaian mikrokontroller AT89S51

Pengujian pada rangkaian mikrokontroler AT89S51 ini dapat dilakukan dengan menghubungkan rangkaian minimum mikrokontroler AT89S51 dengan power suplay sebagai sumber tegangan. Kaki 40 dihubungkan dengan sumber tegangan 5 Volt, sedangkan kaki 20 dihubungkan dengan ground.


(67)

Kemudian tegangan pada kaki 40 diukur dengan menggunakan Voltmeter. Dari hasil pengujian didapatkan tegangan pada kaki 40 sebesar 4,9 Volt. Langkah selanjutnya adalah dengan cara menghubungkan pin17 (P3.7) dengan sebuah transistor C945 yang dihubungkan dengan sebuah LED indikator.

Transistor disini berfungsi sebagai saklar untuk mengendalikan hidup/mati LED. Dengan demikian LED akan menyala jika transistor aktip dan sebaliknya LED akan mati jika transistor tidak aktip. Tipe transistor yang digunakan adalah NPN C945, dimana transistor ini akan aktif (saturasi) jika pada basis diberi tegangan 5 volt (logika high) dan transistor ini akan tidak aktif jika pada basis diberi tegangan 0 volt (logika low). Basis transistor ini dihubungkan ke sebuah resistor 4k7 ohm. , resistor ini berfungsi agar arus yang dikeluarkan oleh pin17 (P3.7) cukup besar untuk men-trigger transistor C945. selanjutnya program sederhana diisikan pada mikrokontroler AT89S51. Program yang diisikan adalah sebagai berikut :

Loop:

Setb p3.7 Call delay Clr p3.7 Call delay Jmp loop Delay:

Mov r7,#255 Dly:

Mov r6,#255 Djnz r6,$ Djnz r7,dly Ret end


(68)

Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P3.7 beberapa saat dan kemudian mematikannya. Perintah Setb P3.7 akan menjadikan P3.7 berlogika high yang menyebabkan transistor C945 aktif dan LED akan menyala. Call delay akan menyebabkan LED ini hidup selama beberapa saat. Perintah Clr P3.7 akan menjadikan P3.7 berlogika low yang menyebabkan transistor tidak aktif dan LED akan mati. Perintah call delay akan menyebabkan LED ini mati selama beberapa saat. Perintah jmp Loop akan menjadikan program tersebut berulang, sehingga akan tampak LED tersebut berkedip.

Jika program tersebut diisikan ke mikrokontroller AT89S51, kemudian mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroller AT89S51 telah bekerja dengan baik.

4.1.2 interfacing LCD 2x16

Bagian ini hanya terdiri dari sebuah LCD dot matriks 2 x 16 karakter yang berfungsi sebagai tampilan hasil pengukuran dan tampilan dari beberapa keterangan. LCD dihubungkan langsung ke Port 0 dari mikrokontroler yang berfungsi mengirimkan data hasil pengolahan untuk ditampilkan dalam bentuk alfabet dan numerik pada LCD. Display karakter pada LCD diatur oleh pin EN, RS dan RW:

Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set ( high ) pada dua jalur kontrol yang lain RS dan RW. Jalur RW adalah jalur kontrol Read/ Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka program akan melakukan


(69)

pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low ( 0 )

berdasarkan keterangan di atas maka kita sudah dapat membuat progam untuk menampilkan karaker pada display LCD. Adapun program yang diisikan ke mikrokontroller untuk menampilkan karakter pada display LCD adalah sebagai berikut:

rs bit p2.0 rw bit p2.1 en bit p2.2 kirim_karakter:

call data_penampil mov a,#'H'

call kirim_data mov a,#'e' call kirim_data mov a,#'l' call kirim_data mov a,#'l' call kirim_data mov a,#'o' call kirim_data jmp kirim_karakter data_penampil:

mov a,#80h ;posisi awal karakter call data_scan

ret kirim_data:

mov p0,a setb rs


(70)

clr rw clr en call delay ret end

Program di atas akan menampilkan kata “Hello” di baris pertama pada display LCD 2x16.

4.1.3 Pengujian rangkaian ADC ( Analog to Digital Converter ) Untuk mengetahui tingkat ketelitian ADC dalam mengkonversi input analog yang diberikan maka terlebih dahulu ADC tersebut harus di uji ketelitiannya. Langkah yang digunakan untuk menguji tigkat ketelitian ADC adalah dengan cara memberikan tegangan analog yang presisi. Untuk mendapatkan Tegangan analog yang presisi ini dapat digunakan power lab.

Setiap perubahan tegangan yang diberikan merupakan input bagi ADC yang akan diubah menjadi data digital. Proses perubahan tegangan input menjadi data digital dilakukan dengan cara:

faktor ADC V Vin

Output =

sedangkan Vfaktor adalah : Vfaktor Vcc 5Volt 0,0196Volt 255 1 255 1 = × = × =

dengan data output dapat dihitung, misalnya jika Vin ADC = 0,3 Volt, maka:

30 , 15 0196 , 0 3 , 0 = = Volt Volt

Output , data yang diubah ke bilangan biner hanya bilangan

bulatnya saja. Berarti bilang biner yang dihasilkan oleh tegangan input ADC sebesar 0,3 Volt adalah (0000 1111).pada rangkaian pengujian, Output ADC melalui kaki


(71)

DB0-DB7 dihubungkan dengan delapan buah led untuk mempermudah dalam pembacaan data.

Gambar 4.2 Pengujian rangkaian ADC ( Analog to Digital Converter ) Pada tabel 4.1 berikut akan ditampilkan data biner yang di output-kan oleh ADC untuk setiap variasi tegangan yang di inputkan ke ADC, yang dihitung dengan cara yang sama seperti di atas.


(72)

Gambar 4.3Grafik linearitas ADC

4.1.4 Pengujian Sensor Warna

Rangkaian sensor warna ini dapat diuji dengan menghubungkan rangkaian ini dengan sumber tegangan 5 volt, kemudian meletakkan benda dengan warna yang berbeda – beda ke atas sensor warna dan mengukur keluaran dari rangkaian sensor warna dengan menggunakan volt meter digital. Jarak sensor ke benda adalah 1 cm. Dari hasil pengujian didapatkan data sebagai berikut :

0

25.5 51

76.5 102

127.5 153

178.5 204

229.5 255

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5

0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 Data Out ADC

Vi

n

(

V


(73)

Warna benda Tegangan yang dihasilkan ( Volt )

Hitam 0,56

Merah 3,9

Kuning 3,1

Hijau 2,7

Biru 2,5

Tabel 4.2 Data pengujian sensor warna

Perubahan tegangan yang dihasilkan sensor merupakan input bagi ADC yang akan diubah menjadi data digital. Proses pengubahan tegangan input dari sensor menjadi data digital, dilakukan dengan cara yang sama seperti yang telah dijelaskan sebelumnya Pada rangkaian,output sensor warna ( LDR ) dihubungkan ke input ADC dan Output ADC melalui kaki DB0-DB7 dihubungkan ke Port 1 dari mikrokontroler. Interupt dari ADC dihubungkan dengan Interupt mikrokontroler, ini berfungsi untuk memberitahu mikrokontroler bahwa ADC telah mengirim data untuk diproses. Routine interupt yang diisikan ke mikrokontroller untuk mentrigger ADC agar mengirimkan data adalah sebagai berikut:

Interrupt bit p3.7

loop:

clr Interrupt

Call interrupt_adc

Setb Interrupt

Jb Interrupt,$

Mov a,P1


(74)

Jmp loop

Interrupt_adc:

Mov r7,#125 int:

Mov r6,#5

Djnz r6,$ Djnz r7,int

Ret

Routin interupt adalah selang waktu pengambilan data. Atau dengan kata lain nilai frekuensi akan dibaca oleh mikrokontroler selama waktu tunda yang diberikan oleh interupt. Pembacaan dapat dihitung dengan perhitungan sebagai berikut :

Mikrokontroller AT89S51 memerlukan 12 clock untuk mengeksekusi 1 siklus perintah dan pada rangkaian. Kristal yang digunakan adalah kristal 12 MHz, sehingga 1 siklus mesin membutuhkan waktu =

Mhz clock 12 12

= 1 mikrodetik.

Dari keterangan di atas diperoleh:

Mnemonic Siklus Waktu Eksekusi

MOV Rn,#data 2 2 x 1 µd = 2 µd

DJNZ 2 2 x 1 µd = 2 μd

RET 1 1 x 1 µd = 1 μd


(75)

interupt: Mov r7,#125 int:

Mov r6,#5 Djnz r6,$ Djnz r7,int Ret

Perintah Mov r6,#5 dan Mov r7,#125 masing masing terdiri dari 2 siklus mesin. Perintah djnz juga terdiri dari 2 siklus mesin. Sedangkan perintah ret terdiri dari 1 siklus mesin.

Perintah Djnz r6,$ maksudnya adalah mengurangi nilai pada r6 sampai bernilai 0, berarti perintah djnz r6,$ pada program di atas dilakukan sebanyak 5 kali atau 5 x 2 = 10 μd. Setelah nilai r6 bernilai 0 maka nilai pada r7 berkurang 1 nilai karena adanya perintah djnz r7, kemudian program akan kembali mengurangi nilai pada r6 sampai bernilai 0 (kembali ke interupt) sehingga perintah ini dilakukan sebanyak 125 kali. Dengan demikian dapat diketahui hasilnya adalah (10 x 125 = 1250μd). Hasil dari perkalian ini kemudian ditambahkan dengan 5 siklus berikutnya (mov r6 = 2 siklus, mov r7 = 2 siklus, dan ret = 1 siklus) sehingga hasil akhir didapatkan (1250 + 5 = 1255 μd). Jadi waktu yang diberikan untuk membaca data yang frekuensi input oleh mikrokontroler adalah selama 1255μd.

Program diatas akan mentrigger ADC untuk mengirimkan data ke mikrokontroller. Dengan adanya instruksi Jb Interrupt,$ mikrokontroller akan menerima data yang dikirimkan oleh ADC melalui P1 dan manampilkannya melalui


(1)

interupt: Mov r7,#125 int:

Mov r6,#5 Djnz r6,$ Djnz r7,int Ret

Perintah Mov r6,#5 dan Mov r7,#125 masing masing terdiri dari 2 siklus mesin. Perintah djnz juga terdiri dari 2 siklus mesin. Sedangkan perintah ret terdiri dari 1 siklus mesin.

Perintah Djnz r6,$ maksudnya adalah mengurangi nilai pada r6 sampai bernilai 0, berarti perintah djnz r6,$ pada program di atas dilakukan sebanyak 5 kali atau 5 x 2 = 10 μd. Setelah nilai r6 bernilai 0 maka nilai pada r7 berkurang 1 nilai karena adanya perintah djnz r7, kemudian program akan kembali mengurangi nilai pada r6 sampai bernilai 0 (kembali ke interupt) sehingga perintah ini dilakukan sebanyak 125 kali. Dengan demikian dapat diketahui hasilnya adalah (10 x 125 = 1250μd). Hasil dari perkalian ini kemudian ditambahkan dengan 5 siklus berikutnya (mov r6 = 2 siklus, mov r7 = 2 siklus, dan ret = 1 siklus) sehingga hasil akhir didapatkan (1250 + 5 = 1255 μd). Jadi waktu yang diberikan untuk membaca data yang frekuensi input oleh mikrokontroler adalah selama 1255μd.

Program diatas akan mentrigger ADC untuk mengirimkan data ke mikrokontroller. Dengan adanya instruksi Jb Interrupt,$ mikrokontroller akan menerima data yang dikirimkan oleh ADC melalui P1 dan manampilkannya melalui


(2)

8 buah LED yang terhubung ke P0 uC AT89S51. Pada tabel. berikut akan ditampilkan data biner yang di-output-kan oleh ADC untuk variasi warna yang diterima sensor, yang dihitung dengan cara yang sama seperti di atas.

Warna Bola Angka Biner Decimal Hexadecimal

Hitam 00011101 –

00011111

29-31 1dh-1fH Merah 11001001 -

11001100

201-204 C9h-CCh Kuning 10100001 -

10100100

161-164 a1h-a4h Hijau 10001011 -

10001101 139-141 8bh-8dh

Biru 10000010 -

10000100 130-132 82h-84h

Tabel 4.4 Data Digital Hasil pengukuran

Data hexadecimal hasil pengukuran untuk masing- masing warna bola diatas kemudian digunakan sebagai data pembanding pada program keseluruhan alat.

Data decimal yang diperoleh merupakan jumlah pulsa atau gelombang selama selang waktu pembacaan frekuensi. Dengan mengetahui waktu selang interupt adalah 1255μs untuk masing- masing pemfilter maka total waktu pembacaan data adalah 4 x 1255μs = 5020μs atau dapat dibulatkan menjadi 0,005s. Dengan menghitung jumlah data decimal (n), maka dapat dihitung nilai frekuensi sebagai berikut:


(3)

s x

xn s

n frekuensi

005 , 0 200

200 005

,

0 =

=

s

frekuensi= 200 x n

) ( 200xn Hz

frekuensi= ; dimana n = data decimal

; 200 = nilai desimal awal ( tanpa warna )

Dengan demikian diperoleh nilai frekuensi pada masing- masing warna bola adalah sebagai berikut :

Warna Bola Frekuensi (Hz) Decimal Hexadecimal

Hitam 5800 – 6200 29-31 1dh-1fH

Merah 40200 – 40800 201-204 C9h-CCh

Kuning 32200 – 32800 161-164 a1h-a4h Hijau 27800 – 28200 139-141 8bh-8dh Biru 26000 – 26400 130-132 82h-84h

Tabel 4.5 Frekuensi output

4.2 Analisis Ketelitian Alat

Untuk mengetahui tingkat ketelitian pada alat ini, maka dilakukan percobaan pertama pada alat sebanyak 100 kali, dari percobaan dihitung berapa kali kesalahan yang terjadi pada alat, lalu dilakukan percobaan kedua sebanyak 100 kali, lalu dihitung kembali kesalahan yang terjadi pada alat. Demikian percobaan dilakukan


(4)

hingga 10 kali, kemudian dihitung deviasi standar untuk mengetahui persentase kesalahan pada alat. Berikut hasil percobaan :

No Jumlah percobaan Kesalahan (d)

1 100 kali 7

2 100 kali 9

3 100 kali 8

4 100 kali 12

5 100 kali 8

6 100 kali 7

7 100 kali 14

8 100 kali 6

9 100 kali 5

10 100 kali 7

Tabel 4.6 Hasil Analisa ketelitian alat

Dengan demikian dapat dihitung deviasi standar sebagai berikut :

1 2 1 − + ⋅⋅ ⋅⋅ ⋅⋅ ⋅ + + = n d d d n σ 1 10 7 5 6 14 7 8 12 8 9 7 − + + + + + + + + + = σ 9 83 = σ 22 , 9 =

σ ; Perhitungan di atas menunjukkan bahwa standar deviasi (σ) dari alat rancangan adalah sebesar 9,22.


(5)

BAB 5

KESIMPULAN DAN SARAN

5.1Kesimpulan

Dari hasil penulisan Tugas Akhir ini diperoleh kesimpulan sebagai berikut : 1. Perancangan alat pendeteksi dan pemisah warna ini berfungsi untuk

membantu proses pemisahan warna-warna dari suatu benda produksi pada suatu indusri. Misalnya pada industry cat dan pharmasi yang biasanya dilakukan dengan teknik tradisional, kini bisa dilakukan dengan cara otomatis. 2. Sistem hanya dapat mendeteksi dan memisahkan hanya dengan satu warna

saja, tidak dapat memisahkan dua warna sekaligus .

3. Intensitas Cahaya pada tabung alat ini akan semakin tinggi ketika terkena pantulan dari bahan yang tidak gelap.

5.2 Saran

1. Pada alat ini, pelaksaan uji cobanya harus benar – benar dilakukan pada ruangan yang tidak tekena sinar matahari langsung, karena LDR sangat peka terhadap sinar matahari.

2. Pada pengembangan alat ini, agar data yang di peroleh real time, sensor dapat diganti menjadi TSL 230, karena sensor ini sudah dapat membaca warna (intensitas cahaya) dengan lebih akurat.

3. Dapat ditambah lagi system-system yang dapat mendukung alat ini agar tujuan yang diinginkan lebih sempurna, seperti prototype dari mekanikalnya agar dapat membedakan dua atau lebih warna sekaligus .


(6)

DAFTAR PUSTAKA

Bishop,Owen.2005.Dasar dasar Elektronika, Edisi Pertama, Penerbit: Erlangga,Jakarta.

Daryanto,Drs.2008.Pengetahuan Teknik Elektronika, Edisi Pertama, Penerbit:

Bumi Aksara.

Malvino,Hanafi Gunawan,1996.Primsip – prinsip Elektronika.Edisi Kedua, Penerbit : Erlangga, Jakarta.

Putra,A.E,2002.Belajar Mikrokontroler AT89S51/52/55 Teori dan Aplikasi.

Edisi kedua, Penerbit:Gava Media,Yogyakarta.

Sutanto.2006.Rangkaian Elektronika, Penerbit: UI – Press, Jakarta.

Tokheim.1995. Elektronika Digital. Edisi kedua, Penerbit: Erlangga, Jakarta.

Diakses tanggal 10 Juli 2010

Diakses tanggal 22 Juni 2010

Diakses tanggal 29 Juni 2010


Dokumen yang terkait

Alat Pemisah Benda Berdasarkan Warna Menggunakan Sensor TCS230 Berbasis Mikrokontroler AT89S51.

18 139 78

Alat Pendeteksi Warna Dan Penampil Panjang Gelombang Menggunakan Light Depent Resistor (LDR) Berbasis Microcontroller AT89S51

1 58 75

Mendeteksi Kekeruhan Air Menggunakan Mikrokontroler Arduino Nano Dengan Sensor Light Dependent Resistor (LDR) Dan Light Emittin Gdioda (LED) Super Bright Berbasis Komunikasi Data Online

0 1 10

Mendeteksi Kekeruhan Air Menggunakan Mikrokontroler Arduino Nano Dengan Sensor Light Dependent Resistor (LDR) Dan Light Emittin Gdioda (LED) Super Bright Berbasis Komunikasi Data Online

0 6 1

Mendeteksi Kekeruhan Air Menggunakan Mikrokontroler Arduino Nano Dengan Sensor Light Dependent Resistor (LDR) Dan Light Emittin Gdioda (LED) Super Bright Berbasis Komunikasi Data Online

0 1 10

Mendeteksi Kekeruhan Air Menggunakan Mikrokontroler Arduino Nano Dengan Sensor Light Dependent Resistor (LDR) Dan Light Emittin Gdioda (LED) Super Bright Berbasis Komunikasi Data Online

0 0 5

Mendeteksi Kekeruhan Air Menggunakan Mikrokontroler Arduino Nano Dengan Sensor Light Dependent Resistor (LDR) Dan Light Emittin Gdioda (LED) Super Bright Berbasis Komunikasi Data Online

0 0 2

LIGHT DEPENDENT RESISTANT (LDR) SEBAGAI PENDETEKSI WARNA

0 0 7

Implementasi Sensor Light Dependent Resistor (LDR) Dan LM35 Pada Prototipe Atap Otomatis Berbasis Arduino

0 0 7

ALARM KEAMANAN MENGGUNAKAN LASER DAN LDR (LIGHT DEPENDENT RESISTOR) BERBASIS MIKROKONTROLER ATMEGA 8535 PADA RUANGAN KHUSUS - POLSRI REPOSITORY

0 0 13