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

(1)

ALAT PEMISAH BENDA BERDASARKAN WARNA MENGGUNAKAN SENSOR TCS230 BERBASIS MIKROKONTROLER AT89S51

SKRIPSI

Diajukan oleh:

VICTOR CHANDRA S NIM : 030801036

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2009


(2)

PERSETUJUAN

Judul : ALAT PEMISAH BENDA BERDASARKAN

WARNA MENGGUNAKAN SENSOR TCS230 BERBASIS MIKROKONTROLER AT89S51

Kategori : SKRIPSI

Nama : VICTOR CHANDRA S

Nomor Induk Mahasiswa : 030801036

Program Studi : SARJANA (S1) FISIKA Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diketahui/Disetujui oleh Departemen Fisika FMIPA USU

Ketua, Pembimbing,

DR. Marhaposan Situmorang Drs. Kurnia Brahmana, M.Si


(3)

PERNYATAAN

ALAT PEMISAH BENDA BERDASARKAN WARNA MENGGUNAKAN SENSOR TCS230 BERBASIS MIKROKONTROLER AT89S51

SKRIPSI

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

Medan, ... Juni 2009

VICTOR CHANDRA S 030801036


(4)

PENGHARGAAN

Segala puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus sang penyelamat, sehingga dengan limpahan berkat-Nya skripsi ini berhasil diselesaikan dalam waktu yang ditetapkan

Ucapan banyak terima kasih saya sampaikan kepada Drs. Kurnia Brahmana M.Si selaku pembimbing saya pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan skripsi ini. Ucapan terima kasih juga saya tujukan kepada Ketua dan Sekretaris Departemen DR. Marhaposan Situmorang dan Dra. Justinon, M.S, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen dan staf pada Departemen Fisika FMIPA USU, serta rekan seperjuanganku Brian, Risma, Daniel, Roy, Torang, Nando dan seluruh mahasiswa fisika stambuk 2003. Terima kasih khusus buat kiki yang selalu memberikan dorongan. Akhirnya tidak terlupakan kepada Orangtua saya M.Simarmata dan S. br Sinabutar, kakakku Juli, Abangku Adil dan adikku Jefri dan Putra dan semuanya yang telah memberikan bantuan dan dorongan yang diperlukan. Semoga Tuhan memberkati kita semua.


(5)

ABSTRAK

Telah dirancang sebuah alat yang dapat membedakan dan kemudian memisahkan benda. Pemisahan benda dilakukan berdasarkan warnanya. Dalam membedakan warna digunakan sensor warna TCS230. Sensor TCS230 memiliki output berupa frekuensi. Output frekuensi sensor dihasilkan dari cahaya yang dipantulkan oleh benda. Untuk memantulkan cahaya digunakan sumber cahaya LED putih, tanpa dipengaruhi oleh sumber cahaya lain. Hasil output frekuensi yang baik diperoleh dengan memposisikan benda tepat didepan sensor pada jarak 1 milimeter. Agar dapat diperoleh posisi yang tepat digunakan pengait yang digerakkan dengan motor dc. Output sensor yang berupa frekuensi dikonversikan menjadi data- data digital sehingga dapat digunakan pada mikrokontroler sebagai data pembanding warna- warna benda. Dengan menggunakan mikrokontroler sebagai pusat kendalinya, pemisahan benda dapat dilakukan secara otomatis. Wadah- wadah tempat benda yang telah dipisahkan dapat diatur posisinya dengan menggunakan motor stepper.


(6)

ABSTRACT

Was design an instrumental for differentiate and then separate an object. Separation was done by the color. To differentiated the color was used a TCS230 color sensor. The TCS230 color sensor output is a frequency. Frequency of this sensor was get from reflected light by the object. To reflect the light was use a white LED (Light Emitting Diode), without other light source. A good frequency output was get by positioning the object right in front of the sensor with range 1 milimeter. To get a good position was by using a holder, were moved by a dc motor. The frequency was converting to become digitally data by using microcontroller to get the color different. Microcontroller was use as the system controller, so the dissociated can be doing automatically. The place for the object can be ruled the position by using motor stepper.


(7)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Bab 1 Pendahuluan ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Tujuan Penelitian ... 3

1.3 Batasan Masalah ... 3

1.4 Manfaat Penelitian ... 4

1.5 Sistematika Penulisan ... 4

Bab 2 Landasan Teori ... 6

2.1 Teori Warna ... 6

2.1.1 Warna Dalam Cahaya ... 6

2.1.2 Warna Dalam Bentuk Gelombang ... 10

2.2 Sensor Warna TCS230 ... 14

2.3 Teknik konversi frekuensi output sensor menjadi data digital ... 17

2.4 Mikrokontroler ... 18

2.5 Mikrokontroler At89S51 ... 18

2.6 Instruksi MCS-51 ... 21

2.7 Motor DC (Dirrect Curent) ... 25

2.8 Motor Langkah (Stepper) ... 29

Bab 3 Perancangan Alat dan Program ... 33

3.1 Diagram Blok Rangkaian ... 33

3.2 Fungsi Sistem Mekanik ... 34

3.3 Rangkaian Sensor TCS230 ... 35

3.4 Rangkaian Mikrokontroler AT89S51 ... 36


(8)

3.6 Rangkaian Driver Motor Stepper ... 40

3.7 Teknik Analisa Data ... 41

Bab 4 Pengujian dan Pembahasan Sistem ... 45

4.1 Pengujian Rangkaian Mikrokontroler AT89S51 ... 45

4.2 Pengujian Sensor Warna TCS230 ... 46

4.3 Hasil Pengujian Sensor ... 50

4.4 Pengujian Motor Dc ... 54

4.5 Pengujian Motor Stepper ... 55

4.6 Analisis Ketelitian Alat ... 61

Bab 5 Kesimpulan dan Saran ... 62

5.1 Kesimpulan ... 62


(9)

DAFTAR TABEL

Halaman

Tabel 2.1 Spektrum Warna ... 13

Tabel 2.2 Logika Selektor S2 dan S3 pada Filter ... 15

Tabel 2.3 Skala Output TCS230... 15

Tabel 2.4 Frekuensi Output Teori ... 16

Tabel 2.5 Instruksi Aritmatika ... 21

Tabel 2.6 Data Transfer ... 23

Tabel 2.7 Pencabangan Program ... 24

Tabel 2.8 Arah Perputaran Motor ... 32

Tabel 4.1 Data Digital Hasil pengukuran ... 52


(10)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Spektrum Cahaya pada Prisma ... 7

Gambar 2.2 Mata Melihat Apel Berwarna Merah ... 7

Gambar 2.3 Diagram Percobaan Maxwell ... 9

Gambar 2.4 Gelombang frekuensi warna cahaya ... 11

Gambar 2.5 Panjang Gelombang ... 11

Gambar 2.6 Spektrum Warna ... 12

Gambar 2.7 Spektrum Gelombang Elektromagnetik ... 13

Gambar 2.8 Sketsa Fisik dan Blok Fungsional TCS230 ... 14

Gambar 2.9 Frekuensi Output/ Sinyal Kotak ... 17

Gambar 2.10 Susunan Pin pada Mikrokontroller AT89S51 ... 19

Gambar 2.11 Konstruksi Dasar Motor DC ... 26

Gambar 2.12 Gaya Medan Magnet ... 26

Gambar 2.13 Ilustrasi Sinyal PWM ... 27

Gambar 2.14 Konstruksi Motor Stepper Bipolar ... 29

Gambar 2.15 Konstruksi Motor Stepper Unipolar ... 30

Gambar 3.1 Diagram Blok Rangkaian ... 33

Gambar 3.2.a Rancangan Tampak Dari Samping ... 34

Gambar 3.2.b RancanganTampak Dari Atas ... 35

Gambar 3.3 Rangkaian Sensor TCS230 ... 36

Gambar 3.4 Sistem Minimum Mikrokontroller AT89S51 ... 37

Gambar 3.5 Rangkaian Driver Motor DC ... 38

Gambar 3.6 Driver Motor Stepper ... 40


(11)

ABSTRAK

Telah dirancang sebuah alat yang dapat membedakan dan kemudian memisahkan benda. Pemisahan benda dilakukan berdasarkan warnanya. Dalam membedakan warna digunakan sensor warna TCS230. Sensor TCS230 memiliki output berupa frekuensi. Output frekuensi sensor dihasilkan dari cahaya yang dipantulkan oleh benda. Untuk memantulkan cahaya digunakan sumber cahaya LED putih, tanpa dipengaruhi oleh sumber cahaya lain. Hasil output frekuensi yang baik diperoleh dengan memposisikan benda tepat didepan sensor pada jarak 1 milimeter. Agar dapat diperoleh posisi yang tepat digunakan pengait yang digerakkan dengan motor dc. Output sensor yang berupa frekuensi dikonversikan menjadi data- data digital sehingga dapat digunakan pada mikrokontroler sebagai data pembanding warna- warna benda. Dengan menggunakan mikrokontroler sebagai pusat kendalinya, pemisahan benda dapat dilakukan secara otomatis. Wadah- wadah tempat benda yang telah dipisahkan dapat diatur posisinya dengan menggunakan motor stepper.


(12)

ABSTRACT

Was design an instrumental for differentiate and then separate an object. Separation was done by the color. To differentiated the color was used a TCS230 color sensor. The TCS230 color sensor output is a frequency. Frequency of this sensor was get from reflected light by the object. To reflect the light was use a white LED (Light Emitting Diode), without other light source. A good frequency output was get by positioning the object right in front of the sensor with range 1 milimeter. To get a good position was by using a holder, were moved by a dc motor. The frequency was converting to become digitally data by using microcontroller to get the color different. Microcontroller was use as the system controller, so the dissociated can be doing automatically. The place for the object can be ruled the position by using motor stepper.


(13)

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Dengan perkembangan teknologi elektronika saat ini, telah banyak peralatan elektronika yang dirancang untuk membantu pekerjaan manusia. Pada bidang industri, peralatan-peralatan manual digantikan dengan peralatan elektronik yang dapat bekerja secara otomatis. Peralatan- peralatan ini diantaranya digunakan untuk mempermudah pekerjaan, memperkecil biaya, meminimalisasi waktu, dan menghemat tenaga.

Salah satu contoh peralatan eletronika ini adalah alat pengenal, pemisah, dan pengelompokan benda. Hal ini dapat diperoleh melalui sifat benda seperti warna, massa dan bentuknya. Berdasarkan hal ini, penulis ingin mengangkat salah satu topik peralatan elektonika yang dapat memisahkan benda berdasarkan warnanya.

Sebuah mesin pengisian bola dengan pemisah warna dibuat oleh Yoanes Maria Vianey. Dengan menggunakan LED berwarna biru sebagai sumber cahaya, dipantulkan pada bola berwarna, ke sebuah LDR. LDR sebagai sensor warna akan mengolah perbedaan pantulan cahaya. Setelah melakukan 400 kali percobaan, alat tersebut melakukan 3 kali kesalahan. Dalam artikelnya pada November 2000, David Cook merancang sensor warna untuk mendeteksi warna- warna pada permen M&M. Sensor warna dibuat menggunakan sebuah photocell berupa LDR(Light Depend Resistor) yang menerima pantulan cahaya dari benda berwarna menggunakan sumber cahaya LED(Light Emitting Diode). Hasil outputnya berupa tegangan yang berbeda pada setiap permen yang memiliki warna yang berbeda-beda pula. Dengan mengubah tegangan analog ke digital maka akan diperoleh sebuah data yang diolah menggunakan mikrokontroller Atmel ATtiny45. Sensor warna ini bisa membedakan


(14)

warna- warna dari permen M&M tersebut. Namun warna yang diperoleh sensor tidak bukan warna yang sebenarnya. Kelemahan menggunakan LDR dan LED ini juga terlihat dari penelitian yang dilakukan oleh Yudhi Andrian jurusan Fisika FMIPA USU, yang membuat sebuah robot pemindah benda berdasarkan warna. Kesalahan terjadi ketika benda didekatkan pada sensor warna, jarak antara benda dan sensor tidak selalu sama. Hal ini membuat data yang diperoleh tidak selalu sama, sehingga error alat tersebut sangat besar.

Pilihan yang lebih baik ada pada sensor TCS230, yang didesain khusus sebagai sensor warna. TCS230 adalah IC pengkonversi warna ke frekuensi. Ada dua komponen utama pembentuk IC ini, yaitu photodioda dan pengkonversi arus ke frekuensi. Setiap warna bisa disusun dari warna dasar. Untuk cahaya tampak, warna dasar penyusunnya adalah warna Merah, Hijau dan Biru, atau lebih dikenal dengan istilah RGB (Red-Green-Blue). Kelebihan sensor ini terletak pada tingkat kesensitifan sensor dan skala output yang bisa diatur langsung. Photodioda pada IC TCS230 disusun secara array 8x8 dengan konfigurasi: 16 photodiode untuk menfilter warna merah, 16 photodiode untuk memfilter warna hijau, 16 photodiode untuk memfilter warna biru, dan 16 photodiode tanpa filter. Kelompok photodiode mana yang akan dipakai bisa diatur melalui kaki selektor S2 dan S3.

Dengan menggunakan sensor TCS230 ini penulis akan membuat sebuah alat pemisah benda berdasarkan warna yang lebih baik dan akurat. Untuk merancang alat tersebut menjadi suatu alat yang cerdas ( inteligent ), digunakan sebuah mikrokontroler yang dapat menghitung, mengingat, dan mengambil pilihan yang digunakan sebagai otaknya. Mikrokontroler merupakan sebuah chip atau IC yang di dalamnya terdapat sebuah prosessor dan flash memori yang dapat dibaca/tulis sampai 1000 kali, sehingga biaya pengembangan menjadi murah karena dapat dihapus kemudian diisi kembali dengan program lain sesuai dengan kebutuhan. AT89S51 adalah chip mikrokontroler produksi Atmel Inc. AT89S51 mempunyai fitur dasar yang cukup lengkap untuk suatu pemrosesan input-output.


(15)

1.2. Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah:

1. Merancang sensor warna yang lebih akurat dengan menggunakan sensor warna TCS230.

2. Memanfaatkan mikrokontroller sebagai alat pengolah data yang diberikan oleh sensor warna.

3. Merancang alat yang dapat mengelompokkan benda berdasarkan warnanya dan mudah untuk digunakan.

1.3. Batasan Masalah

Adapun batasan dari permasalahan yang akan di bahas dalam penelitian ini adalah:

1. Sensor yang digunakan adalah sensor warna TCS230 yang memiliki output berupa frekuensi.

2. Perancangan alat ini difokuskan untuk membedakan tiga warna dasar merah, hijau dan biru atau RGB (Red-Green-Blue), termasuk warna komposit yang homogen.

3. Dalam membedakan warna, pantulan cahaya yang dihasilkan oleh benda berwarna mengunakan sumber cahaya berupa LED(light Emitting Diode) berwarna putih dan tanpa dipengaruhi oleh sumber cahaya lain.

4. Untuk mengolah data dari sensor yang digunakan adalah mikrokontroler jenis AT89S51.


(16)

1.4. Manfaat Penelitian

Manfaat yang diharapkan dari penelitian ini adalah:

1. Alat pemisah benda berdasarkan warna ini dapat dipergunakan dengan mudah. 2. Pada dunia industri diharapkan dapat membantu dan mempermudah serta

mempercepat berbagai pekerjaan.

3. Pada pengembangan lebih lanjut alat ini dapat dimanfaatkan pada robot yang dapat digunakan sebagai pencari objek berdasarkan warnanya.

1.5. Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana perancangan detektor warna dengan memanfaatkan sensor cahaya, maka penulis menulis laporan ini dengan sistematika penulisan sebagai berikut:

BAB I. PENDAHULUAN

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

BAB II. LANDASAN TEORI

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian Teori pendukung itu antara lain tentang prinsip kerja sensor cahaya TCS230 berbasis Mikrokontroller AT89S51.

BAB III. PERANCANGAN ALAT DAN PROGRAM

Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok dari rangkaian, skematik dari masing-masing rangkaian dan diagram alir dari program yang akan diisikan ke mikrokontroler AT89S51.


(17)

BAB IV. PENGUJIAN DAN PEMBAHASAN SISTEM

Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai program-program yang digunakan untuk mengaktipkan rangkaian, penjelasan mengenai program yang diisikan ke mikrokontroler AT89S51.

BAB V. KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari tugas akhir ini serta saran apakah rangkaian ini dapat dibuat lebih efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai sistem kerja yang sama.


(18)

BAB II

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. 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


(19)

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.1 Spektrum Cahaya pada Prisma

Newton kemudian menyimpulkan bahwa benda- benda sama sekali tidak berwarna tanpa ada cahaya yang menyentuhnya. Sebuah benda tampak kuning karena 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.2 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


(20)

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.

b. Teori Young (1801) dan Helmholtz (1850)

Thomas Young seorang ilmuwan berkebangsaan Inggris adalah orang pertama kali memberi dukungan yang masuk akal terhadap pernyataan Newton tentang penglihatan warna. Asumsi Newton tentang penglihatan, cahaya dan keberadaan warna- warna benda diuji kembali. Young membenarkan beberapa asumsi- asumsi Newton, tapi Young menolak pernyataan Newton yang menyatakan bahwa mata memiliki banyak reseptor untuk menerima bermacam warna. Pada tahun 1801 Thomas Young mengemukakan hipotesa bahwa mata manusia hanya memiliki 3 buah reseptor penerima cahaya, yaitu reseptor yang peka terhadap cahaya biru, merah dan hijau. Seluruh penglihatan warna didasarkan pada ketiga reseptor tersebut. Tetapi Young hampir tidak melakukan eksperimen apapun untuk mendukung pernyataannya.

Seorang ahli penglihatan Jerman Hermann von Helmholtz menghidupka n dan menjelaskan kebenaran teori Young. Hasil usaha bersama ini kemudian terkenal dengan “Teori Young-Helmholtz” atau “Teori Penglihatan 3 Warna” atau “Teori 3 Reseptor”. Melalui ketiga reseptor pada retina mata kita dapat melihat semua warna serta membeda- bedakannya. Jika cahaya menimpa benda, maka benda tersebut akan memantulkan satu atau lebih cahaya dalam spektrum. Jika cahaya yang dipantulkan tersebut menimpa mata, maka reseptor- reseptor di retina akan terangsang salah satunya, dua, atau ketiganya sekaligus. Jika cahaya biru sampai ke mata, reseptor yang peka birulah yang terangsang, dan warna yang tampak adalah biru. Jika reseptor hijau yang terangsang, maka warna yang tampak adalah hijau, dan kalau reseptor merah yang terangsang warna yang tampak adalah merah.


(21)

c. 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 srangkaian percobaan dengan menggunakan 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.3 Diagram Percobaan Maxwell


(22)

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 jebis 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 kemudian lazim disebut dengan warna-warna utama /primer substraktif (substractive primaries).

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 pada lingkungan sekitarnya. Energi pada sinar berjalan karena perubahan lokal


(23)

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.

Gambar 2.5 Panjang Gelombang

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 satuan 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:


(24)

T

f = 1... (2.1) 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:

v

c

=

λ

.

... (2.2) dengan,

c = kecepatan cahaya ( 3 x 108 λ = panjang gelombang (m) dan

m/s) ,

v = frekuensi (Hz).

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:


(25)

Dan warna- warna utama dari spektrum sinar tampak adalah:

Tabel 2.1 Spektrum Warna

Warna Panjang gelombang (nm) Ungu 380 - 435

Biru 435 - 500

Sian (biru pucat) 500 - 520

Hijau 520 - 565

Kuning 565 - 590

Oranye 590 - 625

Merah 625 - 740

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 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.


(26)

2.2 Sensor Warna TCS230

TCS230 adalah IC (Integrated Circuit) pengkonversi warna cahaya ke frekuensi. Ada dua komponen utama pembentuk IC ini, yaitu fotodioda dan pengkonversi arus ke frekuensi. fotodioda pada IC TCS230 disusun secara array 8 x 8 dengan konfigurasi: 16 fotodioda untuk menfilter warna merah, 16 fotodioda untuk memfilter warna hijau, 16 fotodioda untuk memfilter warna biru, dan 16 fotodioda tanpa filter, sebagaimana bisa dilihat pada gambar 2.8.

Gambar 2.8 Sketsa Fisik dan Blok Fungsional TCS230

Kelompok fotodioda mana yang akan dipakai untuk memfilter warna dapat diatur melalui kaki selektor S2 dan S3. Dengan mengatur kaki selektor S2 pada logika low(0) dan S3 pada logika low(0), maka fotodioda yang aktif adalah pemfilter merah, dimana sensor akan memfilter warna merah. Dengan mengatur kaki selektor S2 pada logika low(0) dan S3 pada logika high(1), maka fotodioda yang aktif adalah pemfilter biru, dimana sensor akan memfilter warna biru. Dan dengan mengatur kaki selektor S2 pada logika high(1) dan S3 pada logika high(1), maka fotodioda yang aktif adalah pemfilter hijau, dimana sensor akan memfilter warna hijau. Kombinasi fungsi dari S2 dan S3 bisa dilihat pada tabel 2.2.


(27)

Tabel 2.2 Logika Selektor S2 dan S3 pada Filter S2 S3 Photodiode yang aktif

0 0 Pemfilter Merah 0 1 Pemfilter Biru

1 0 Tanpa Warna

1 1 Pemfilter Hijau

Fotodioda akan mengeluarkan arus yang besarnya sebanding dengan kadar warna dasar cahaya yang menimpanya. Arus ini kemudian dikonversikan menjadi sinyal kotak dengan frekuensi sebanding dengan besarnya arus. Frekuensi output ini bisa diskala dengan mengatur kaki selektor S0 dan S1. Penggunaan skala frekuensi output S0 pada logika low(0) dan S1 dengan logika low(0) akan menyebabkan tegangan jatuh sehingga tidak akan menghasilkan output frekuensi. Dengan mengatur skala S0 pada logika low(0) dan S1 pada logika high(1) maka output frekuensi yang keluar hanya 2% dari output frekuensi keseluruhan. Sedangkan dengan mengatur skala S0 pada logika low(1) dan S1 pada logika high(0) maka output frekuensi yang keluar adalah 20%.

Skala penuh frekuensi adalah frekuensi maksimum yang dihasilkan pada masing- masing skala output sensor. Pada skala S0 = 0 dan S1 = 1, output frekuensi maksimum pada sensor adalah 12kHz. Pada skala S0 = 1 dan S1 = 0, output frekuensi maksimum pada sensor adalah 120kHz. Dan pada skala S0 = 1 dan S1 = 1, output frekuensi maksimum pada sensor adalah 600kHz. Penskalaan Output dapat dilihat pada table 2.3.

Tabel 2.3 Skala Output TCS230 S0 S1 Skala frekuensi Output

0 0 Power Down

0 1 2%

1 0 20%


(28)

Penggunaan skala frekuensi ini disesuaikan dengan kebutuhan dalam aplikasi yang dibutuhkan. Misalkan pada alat ini digunakan skala output frekuensi 100% untuk mendapatkan frekuensi keseluruhan. Untuk output dengan skala frekuensi 100%, perusahaan TAOS Inc. sebagai produsen sensor TCS230 ini telah melakukan pengukuran dan menetapkan nilai frekuensi secara teori. Pengukuran dilakukan pada beberapa warna atau dengan menentukan panjang gelombang, kemudian diukur nilai frekuensi pada pemfilter merah, pemfilter hijau, pemfilter biru, dan pemfilter tanpa warna. Hasil pengukuran frekuensi output sensor TCS230 adalah:

Tabel 2.4 Frekuensi Output Teori

PARAMETER Warna / Panjang Gelombang Pemfilter Tanpa Warna S2= 1, S3= 0

Pemfilter Biru S2= 0, S3= 1

Pemfilter Hijau S2= 1, S3= 1

Pemfilter Merah S2= 0, S3= 0

f

Output frequency

O

( x103

Ungu λ

Hz)

p

9.4

= 400 nm 4.0 0.5 0.3

Biru λp

10.6

= 470 nm 10.1 0.8 0.5

Sian λp

12.3

= 510 nm 7.6 5.7 0.8

Hijau

λp = 524 nm 13.3 2.6 11.2 0.8

Kuning

λp = 565 nm 16.2 1.6 9.9 4.7

Oranye λp

16.6

= 580 nm 1.4 6.5 9.6

Merah λp

19.2

= 640 nm 0.8 1.6 19.0

Dari hasil pengukuran diatas dapat dilihat bahwa untuk warna merah dengan panjang gelombang 640nm, fotodioda pemfilter merah menghasilkan frekuensi 19kHz. Namun, pemfilter tanpa warna juga dapat memfilter warna merah dengan frekuensi 19,2kHz. Demikian juga dengan pemfilter biru dan pemfilter hijau, walaupun dengan hasil frekuensi yang kecil, namun dapat memfilter warna merah juga. Oleh karena itu, untuk mendapatkan output frekuensi yang lebih baik dapat dilakukan dengan menjumlahkan hasil frekuensi keempat pemfilter.


(29)

2.3 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.9 berikut mengilustrasikan frekuensi atau sinyal kotak.

T= 1 ms (a)

(b)

(c)

Gambar 2.9 Frekuensi Output/ Sinyal Kotak

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.9(b) terjadi 16 gelombang kotak dalam waktu 1 milidetik, berarti frekuensi yang dihasilkan adalah 16.000 pulsa per detik atau 16kHz.

Hz s

ms ms

frekuensi 16.000 16.000

1000 x 1 1000 x 16 1 high pulsa 16 = = = =

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

Hz s

ms ms

frekuensi 8.000 8.000

1000 x 1 1000 x 8 1 high pulsa 8 = = = =

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


(30)

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.

2.4 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.5 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).


(31)

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

Berikut adalah gambar susunan pin pada Mikrokontroller AT89S51:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) P0.3 (AD3) P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) EA/ VPP ALE / PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P2.0 (A8) P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST (RXD) P3.0 (TXD) P3.1 (INT 0) P3.2 (INT 1) P3.3 (T0) P3.4 (T1) P3.5 (WR) P3.6 (RD) P3.7 XTAL 2 XTAL 1 GND AT89S51

Gambar 2.10 Susunan Pin pada Mikrokontroller AT89S51

Keterangan fungsi-fungsi masing-masing pin adalah sebagai berikut : Pin 40 Vcc, Masukan catu daya +5 volt DC


(32)

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).

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.

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.


(33)

2.6 Instruksi MCS-51

Pengalamatan adalah pengelompokkan berdasarkan orientasi lokasi memori, tipe-tipe instruksi adalah pengelompokkan berdasarkan fungsi instruksi. Beberapa fungsi pada instruksi MCS-51 yang akan digunakan yaitu Aritmatika, Transfer data,dll. Pada table-tabel perlu dijelaskan arti dari simbol-simbol yang digunakan pada mnemonics sebagai berikut :

Rn Register serbaguna R0 sd R7 di register bank yang diseleksi oleh PSW.

Direct 8 bit alamat internal RAM (0-127) atau SFR (128-255)

@Rn lokasi internal RAM yang alamatnya ditunjukkan oleh R0 atau R1 (pengalamatan tak langsung dengan R0 sd R7). Perhatikan; tidak untuk R2, R3, R4, R5, R6, dan R7

#Data konstanta 8 bit #Data 16 konstanta 16 bit

Addrl1 alamat 11 bit (untuk akses memori hingga 2K) Addr16 alamat 16 bit (untuk akses memori hingga 64K)

Rel 8 bit offset relative bertanda (2’S complement), digunakan untuk SJMP, lompat dalam jangkauan 128 (mundur) hingga +127 (maju)

Instruksi-instruksi diperlihatkan disajikan pada table 2.5, yang menunjukkan ragam pengalamatan yang dapat digunakan dengan masing-masing instruksi.

Tabel 2.5 Instruksi Aritmatika Mnemonic Diskripsi

ADD A, <source> A=A+<source

ADDC A, <source> A=A+<source>+C

SUBB A, <source> A=A-<source>-C

INC A A=A+1


(34)

DEC A A=A-1

DEC <source> <source>=<source>-1

INC DPTR DPTR=DPTR+1

MUL AB AB = A X B

DIV AB A = Hasil A/B; B = sisa A/B

DA A Decimal Adjust

Source (sumber) adalah operand dengan ragam pengalamatan; register direct, indirect atau immediate. Contoh program penjumlahan pada ragam pengalamatan untuk instruksi aritmatika seperti berikut ini :

ADD A, 7FH ;a diisi dengan a+isi dri memori lokasi 7FH ;(pengalamatan langsung)

ADD A, @R1 ;a diisi dengan a+isi dari memori yang alamatnya ; disimpan di R1 (pengalamatan tak langsung) ADD A, R7 ;a diisi dengan a+isi dari R7

ADD A, #127 ;a diisi dengan a+127 (pengalamatan segera)

Untuk penggunaan kristal 12 MHz, kebanyakan instruksi aritmatik dieksekusi dalam 1 µs kecuali instruksi INC DPTR yang memerlukan waktu 2 µs dan instruksi-instruksi perkalian dan pembagian yang memerlukan waktu 4 µs.

Data didalam memori internal dapat dinaikkan atau diturunkan (increment atau decrement), tanpa melalui akumulator , demikian juga pada DPTR yang digunakan untuk menghasilkan pengalamatan 16 bit di memori eksternal. Instruksi MUL AB mengalikan dengan data yang ada pada register B dan meletakkan hasil 16 bit ke dalam register A dan B. Register A berisi lo-byte dan register B berisi hi-byte. Bila hasilnya lebih besar dari 255 (0FFh), maka bit OV set, sedangkan bit C selalu akan diclearkan (‘0’). Instruksi DIV AB membagi isi akumulator dengan data dalam register B dan meletakkan hasil bagi (quotient) 8 bit dalam akumulator, dan sisanya (remainder) 8 bit dalam register B. Operasi DIV akan membuat bit-bit CY dan OV menjadi ‘0’.


(35)

MOV adalah proses move (pindahkan) data dari sumber ke tujuan yang sebenarnya adalah proses mengcopy, artinya data di sumber tidak berubah. Proses data transfer yang lain adalah PUSH dan POP, XCH dan XCHD seperti yang diperlihatkan pada tabel 2.6.

Tabel 2.6 Data Transfer

Mnemonic ARTI

MOV <dest>,<source> <dest>=<source>, memori int

MOV DPTR,#data 16 Dptr = data16

MOVC A,@A+<base-reg> A = isi dilokasi A+<base-reg>

MOVX <dest>,<source> <dest>=<source>,data mem

PUSH direct Simpan data ke memori stack

POP direct Ambil data dari memori stack

MOV<dest>,<source> adalah copy data dari source ke destination, atau sumber ke tujuan, semua memori internal dan SFR dapat berlaku sebagai source dan sebagian besar dapat berlaku sebagai destination. Ragam pengalamatan dari kedua operand bisa semua kombinasi, berikut contoh proses transfer data.

;keadaan awal isi RAM dengan alamat 30h adalah ;40h, lokasi 40h berisi 10h, P1 berisi

11001010b Mov R0,#30h ;R0 berisi 30h Mov A,@R0 ;A berisi 40h Mov R1,A ;R1 berisi 40h Mov B,@R1 ;B berisi 10h

Mov @R1,P1 ;RAM lokasi 40h berisi 11001010b Mov P2,P1 ;P2=P1=11001010b

Program asembler bersifat sekuensial, seperti pada program basic klasik(awal mula basic), dan biasanya diperlukan pencabangan untuk tujuan tertentu, yaitu lompat ke lokasi instruksi dengan alamat tertentu. Pencabangan ini terdiri dari: pelaksanaan subrutin, pencabangan tanpa syarat dan bersyarat. Subrutin adalah penggal program yang sering digunakan, tanpa harus menulis ulang perintahnya. Proses ACALL dan LCALL menggunakan memori stack untuk menyimpan data-data alamat yang


(36)

ditinggalkan sebelum melaksanakan subrutin, agar apabila kembali melaksanakan subrutin, mikrokontroller ingat lokasinya kembali. Berikut tabel pencabangan program.

Tabel 2.7 Pencabangan Program

Mnemonic ARTI

ACALL addr11 <dest>=<source>, memori int

LCALL addr16 Dptr = data16

RET A = isi dilokasi A+<base-reg>

SJMP rel Lompat maju atau mundur sejauh rel

JMP @A+DPTR Lompat ke alamat a+dptr

CJNE <dest-byte>,<scr-byte>,rel

Bila <dest>#<source> lompat sejauh rel

CJNE A,#data,rel Bila A#data lompat sejauh rel

DJNZ direct, rel Direct= direct-1,bila #0 lompat sejauh rel

NOP No Operation, tidak ada operasi

Pencabangan bersyarat adalah lompat ke alamat tertentu bila persyaratan terpenuhi. Secara umum perintahnya adalah : CJNE <dest-byte>,<src-byte>, rel; artinya Compare destination byte dan source byte, Jump if Not Equal along rel(active). Source byte adalah A, yang dibandingkan dengan destination byte berupa direct memory atau immediate constant. Source dapat juga berupa direct Rn atau indirect @Rn yang dibandingkan dengan immediate constant.

START :

CJNE A,#040h, LABEL1 ;bandingkan dengan 40h, jika tak ;sama lompat ke LABEL1

CJNE A,P1,LABEL1 ;bandingkan a dengan P1, jika tak ;sama lompat ke LABEL1

CJNE R1,#040h,LABEL1 ;bandingkan R1 dengan 40h, jika ;tak sama lompat ke LABEL1

CJNE @R1,#0CCh,LABEL1 ;bandingkan indirect R1 dengan ;CCh,jika tak sama lompat ke ;LABEL1


(37)

--- ---

Instruksi DJNZ direct, rel, adalah : Decrement Jump if Not Zero, artinya kurangi satu dahulu data di direct, kemudian bila isinya nol, maka lomatlah ke rel. Biasanya instruksi ini digunakan untuk pencacah. Berikut contoh penggunaan instruksi tersebut ;

START :

Mov R0,#5 ;isi R0 dengan 5 Mov R1,#40h ;isi R1 dengan 40h

LOOP:

Mov @R1,#0AAh ;isi memori di <R1> dengan AAh Inc R1 ;R1=R1+1

DJNZ R0,LOOP ;R0=R0-1, jika belum 0 kembali ke LOOP Sjmp $ :usai

Perintah diatas adalah mengisi memori lokasi 40h,41h,42h,43h dan 44h dengan data AAh, disini R0 digunakan sebagai pencacah sebanyak 5 kali, sedangkan R1 digunakan sebagai pointer memori dengan alamat awal 40h. Perintah SJMP $ memerintahkan mikrokontroller untuk melompat ke tempat yang sama, artinya looping ditempat. Instruksi NOP adalah tidak memerintahkan MCU mengerjakan apa-apa, proses ini hanya menunda kerja mikrokontroller, karena satu instruksi NOP memakan 1 mikrodetik, sehingga beberapa perintah NOP bisa digunakan untuk proses penundaan atau delay.

2.7 Motor DC (Dirrect Current)

Motor dc (Direct Current Motor) adalah peralatan elektromekanik dasar yang berfungsi untuk mengubah tenaga listrik menjadi tenaga mekanik. Bagian utama motor dc terdiri dari dua bagian yaitu bagian bergerak yang disebut rotor (jangkar), dan bagian diam yang disebut stator.


(38)

Gambar 2.11 Konstruksi Dasar Motor DC

Masing-masing bagian mempunyai lilitan kawat. Pada stator, lilitan kawat berfungsi sebagai pembangkit medan magnet, sedangkan pada rotor, lilitan berfungsi sebagai pembangkit gaya gerak listrik. Rotor yang dialiri arus listrik diletakkan dalam medan magnet tetap. Akibatnya tercipta gaya pada kumparan baik pada sisi A maupun pada sisi B (dapat dilihat pada gambar 2.12). Gaya yang ditimbulkan tersebut adalah gaya Lorentz, yaitu gaya interaksi antara arus atau muatan listrik yang bergerak dengan medan magnet homogen yang mempengaruhinya, yang dinyatakan dalam:

F = B i l sin θ ... (2.3)

Sehingga gaya tarik menarik atau tolak-menolak yang terjadi antara rotor dengan magnet permanent menyebabkan bagian rotor berputar.

Gambar 2.12 Gaya Medan Magnet

Perputaran motor DC secara umum berbanding lurus dengan tegangan yang diinputkan pada terminalnya. Oleh karena itu untuk mendapatkan putaran rendah


(39)

maka terminal input diberi tegangan rendah minimal 3 volt dan untuk mendapatkan putaran tinggi maka terminal input diberi tegangan yang tinggi maksimal 12 volt. Untuk dapat mengendalikan perputaran motor dc, maka kita harus membuat tegangan output yang bervariasi (dapat diatur mulai dari 0 volt hingga tegangan maksimum secara linier).

Solusi dari permasalahan diatas adalah PWM. PWM (Pulse Width Modulation) adalah suatu teknik manipulasi dalam pengendalian motor menggunakan prinsip cut-off dan saturasi. Dalam satu siklus perioda diatur lebar pulsa high dan lebar pulsa low. Lebar pulsa high pada saat saturasi dan lebar pulsa low pada saat cut-off. Dengan mengatur lebar pulsa high dan lebar pulsa low dalam satu siklus, dapat ditentukan siklus kerja atau duty cycle.

100 perioda siklus high pulsa lebar cycle

duty = x ... (2.4) Gambar 2.13 berikut mengilustrasikan sinyal PWM.

Perioda T= 100ms 75ms 50ms 25ms % 75 % 100 100 75 cycle

duty = x =

% 50 % 100 100 50 cycle

duty = x =

% 25 % 100 100 25 cycle

duty = x =

Gambar 2.13 Ilustrasi Sinyal PWM

Motor akan berputar selama lebar pulsa high. Dan tidak akan berputar selama lebar pulsa low. Pada gambar 2.8(a) diketahui duty cyle adalah 75%, artinya kecepatan motor hanya akan berputar 75% dari kecepatan penuh. Begitu juga pada gambar 2.8(b) duty cyle adalah 50%, artinya kecepatan motor hanya akan berputar


(40)

50% dari kecepatan penuh. Dengan demikian kecepatan motor dapat dikontrol. Dari penjelasan di atas dapat diketahui bahwa jika dikehendaki kecepatan penuh maka diberi lebar pulsa high secara konstan. Jika dikehendaki kecepatan bervariasi maka diberikan pulsa yang lebar high dan low-nya bervariasi. Pembangkitan pulsa PWM diperoleh melalui fasilitas timer yang terdapat pada mikrokontroler AT89S51 dengan memberikan tundaan pada saat high dan saat low.

Kecepatan perputaran motor dinyatakan dalam rotation per minute (rpm) atau dapat diartikan sebagai jumlah putaran dalam satu menitnya. Kecepatan motor dc berbanding terbalik dengan torsi yang dihasilkannya. Torsi pada motor dc dapat diartikan dengan perbandingan daya kerja motor dc dengan kecepatan perputarannya. Sehingga dapat dirumuskan dengan:

ω

τ = P ... (2.5) dengan P adalah daya kerja motor dalam satuan watt dan ω adalah kecepatan perputaran motor dalam satuan rotation per minute (rpm).

Torsi motor juga dapat didefinisikan sebagai aksi dari suatu gaya pada motor yang dapat mempengaruhi beban untuk ikut bergerak pada jarak tertentu. Persamaannya adalah sebagai berikut:

τ = F x r ... (2.6)

dengan F adalah gaya berat (Newton) yang bekerja terhadap motor dan r adalah jarak sumbu putar (meter) pada motor.

Pada alat ini motor dc yang digunakan adalah motor dc standar dengan spesifikasi suplai tegangan V= 12 Volt, dan memiliki kecepatan 1400 rpm pada arus 500 mA.


(41)

2.8 Motor Langkah (Stepper)

Pada dasarnya prinsip kerja motor stepper sama dengan motor DC, yaitu membangkitkan medan magnet untuk memperoleh gaya tarik ataupun gaya tolak menolak dengan menggunakan catu tegangan DC pada lilitan/kumparannya. Motor stepper menggunakan gaya tarik untuk menarik fisik kutub magnet yang berlawanan sedekat mungkin ke posisi kutub magnet yang dihasilkan oleh kumparan.

Dilihat dari lilitannya motor stepper terbagi menjadi 2 jenis yaitu :

a. Motor Stepper Bipolar

Motor stepper bipolar memiliki empat kabel masukan. Namun untuk menggerakan motor stepper tipe ini lebih rumit jika dibandingkan dengan menggerakan motor stepper tipe unipolar. Sebagai gambaran dapat dilihat konstruksi motor stepper bipolar pada gambar berikut :

Gambar 2.14 Konstruksi Motor Stepper Bipolar

Untuk motor stepper dengan lilitan bipolar, diperlukan sinyal pulsa yang berubah-ubah dari positif ke negatif dan sebaliknya. Jadi pada setiap terminal lilitan (A & B) harus dihubungkan dengan sinyal yang mengayun dari positif ke negatif dan sebaliknya. Karena itu dibutuhkan rangkaian pengendali yang lebih kompleks daripada rangkaian pengendali untuk motor unipolar.

b. 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 sudah terhubung


(42)

didalamnya sehingga center tap yang keluar hanya satu kabel. Center tap dari motor stepper dapat dihubungkan ke ground atau dapat juga yang menghubungkannya ke +Vcc, tergantung pada driver yang digunakan. Sebagai gambaran dapat dilihat konstruksi motor stepper unipolar pada gambar berikut:

Gambar 2.15 Konstruksi Motor Stepper Unipolar

Rangkaian pengendali motor stepper unipolar lebih mudah dirancang karena hanya memerlukan satu switch pada setiap lilitannya. Agar motor ini berputar, tegangan positif diberikan pada terminal center tap, kemudian tegangan positif diberikan secara bergantian dan berurutan terus- menerus pada keempat terminal masing-masing lilitan. Oleh karena itu, pada alat ini digunakan motor stepper jenis unipolar.

Pada motor stepper ini, suplai tegangan yang dibutuhkan adalah V = 12 volt dan sudut rotasi 1,80 per step. Maka dalam satu putaran penuh (3600) terjadi 3600/1,80= 200 step (Np). Kecepatan pulsa diekspresikan sebagai pps (= pulsa per second) dan kecepatan putar umumnya ditulis sebagai ω (= rotasi / menit atau rpm). Kecepatan putar motor stepper (rpm) dapat dihitung menggunakan rumus pada kecepatan pulsa (pps) sebagai berikut.

[

rotasi menit

]

Np pps

/ 60

= ω

pps Np

60

=

ω ... (2.7) Np = step/putaran (pulsa/rotasi)


(43)

Torsi yang dapat dihasilkan oleh motor stepper dapat dihitung berdasarkan perbandingan daya kerja motor terhadap kecepatan putarannya. Atau dapat dirumuskan sebagai berikut:

ω

τ = P ... (2.8) dengan P adalah daya kerja motor dalam satuan watt dan ω adalah kecepatan perputaran motor dalam satuan rotation per minute (rpm).

Untuk mengetahui beban maksimum yang dapat digerakkan motor stepper dapat diperoleh dengan menghitung torsi dengan menggunakan rumus:

r F.

=

τ ... (2.9) dengan F adalah gaya berat yang bekerja terhadap motor dan r adalah jarak sumbu putar pada motor. Gaya berat yang bekerja terhadap motor dapat dituliskan dengan:

F = m.g (Newton) ...(2.10)

dengan, m = massa (kg) dan

g = percepatan gravitasi (m/s2).

Motor stepper dapat diatur posisinya dengan akurat pada posisi tertentu dan dapat berputar kearah yang diinginkan dengan memberi pulsa-pulsa digital dengan pola seperti pada table 2.8 dibawah ini. Untuk memutar motor stepper adalah dengan memberi pulsa ke koil secara berurutan dari koil 1 ke koil 2, dan seterusnya. Arah putaran motor stepper tergantung urutan pulsa yang diberikan ke koil, apabila diinginkan putaran dengan arah yang berlawanan, maka urutan pulsa yang dimasukkan ke koil pun digeser berlawanan pula.


(44)

Tabel 2.8 Arah Perputaran Motor

Putaran

Searah jarum jam Berlawanan arah jarum jam koil 1 koil 2 koil 3 koil 4 koil 1 koil 2 koil 3 koil 4

step 1 1 0 0 0 0 0 0 1

step 2 0 1 0 0 0 0 1 0

step 3 0 0 1 0 0 1 0 0

step 4 0 0 0 1 1 0 0 0

Pada tabel 2.8 diatas, ‘1’ diartikan bahwa lilitan yang bersangkutan dilewati arus sehingga menghasilkan gaya tolak untuk rotor, sedangkan ‘0’ diartikan lilitan dalam kondisi off, yakni tidak mendapatkan arus. Pada tabel juga ditunjukkan, untuk membalik putaran motor stepper cukup membalik urutan pemberian pulsa pada lilitan. Untuk memperlambat atau mempercepat putaran motor stepper, dengan mengatur waktu urutan pemberian pulsa, akan tetapi, pemberian waktu pulsa jika terlalu lamban akan menyebabkan motor stepper bergetar dan jika terlalu cepat akan mengakibatkan motor tidak mau berputar.


(45)

BAB III

PERANCANGAN ALAT DAN PROGRAM

3.1 Diagram Blok Rangkaian

Diagram blok merupakan gambaran dasar dari rangkaian sistem yang akan dirancang. Setiap diagram blok mempunyai fungsi masing-masing. Adapun diagram blok dari sistem yang dirancang adalah seperti yang diperlihatkan pada gambar 3.1. berikut ini:

Gambar 3.1 Diagram Blok Rangkaian

Objek/ benda yang digunakan adalah bola-bola berwarna dengan massa 2,5 gram. Bola berwarna diposisikan tepat didepan sensor warna TCS230 dengan menggunakan pengait yang digerakkan oleh motor dc. Pengait yang digunakan memiliki panjang 2 cm atau 0,02m atau pada dipasang pada poros motor dc dengan jari-jari 1 cm atau 0,01m. Motor dc digerakkan dengan menggunakan driver motor dc yang diatur melalui mikrokontroller. Led berwarna putih digunakan sebagai sumber cahaya yang dipancarkan terhadap bola berwarna. Bola berwarna kemudian akan

LED PUTIH

SENSOR TCS230

M

ikr

okont

rol

er

A

T

89S

51

Driver Motor Stepper

Driver Motor DC

Motor DC Motor Stepper


(46)

memantulkan cahaya pada sensor warna TCS230. Cahaya yang ditangkap oleh sensor warna akan mengeluarkan arus yang kemudian dikonversikan menjadi frekuensi atau sinyal kotak. Frekuensi kemudian diolah menjadi data-data digital oleh mikrokontroller. Data kemudian ditetapkan sebagai pembanding warna- warna dari masing- masing bola. Setelah warna bola dikenali bola akan ditempatkan ke wadah yang ditetapkan untuk warna bola tersebut. Mikrokontroller akan memerintahkan driver motor stepper agar motor stepper menggerakkan wadah yang sesuai dengan warna yang ditetapkan, tepat pada bola yang dilepas oleh pengait, sehingga bola akan jatuh pada wadah yang telah ditentukan tersebut.

3.2 Fungsi Sistem Mekanik

Gambar sistem mekanik alat ditunjukkan pada gambar 3.2 berikut ini:


(47)

Gambar 3.2(b) RancanganTampak Dari Atas

= objek/ benda berwarna yang akan dipisah-pisahkan

= wadah utama tempat objek/benda berwarna sebelum dipisahkan = sensor warna yang akan membeda-bedakan objek/ benda = pengait untuk menahan bola agar tepat didepan sensor warna = roller untuk memutar wadah- wadah

= wadah- wadah tempat objek/ benda yang dipisah-pisahkan

3.3 Rangkaian Sensor TCS230

Pada alat ini, sensor yang digunakan untuk membedakan warna adalah sensor TCS230. Apabila terkena cahaya, fotodioda yang terdapat pada sensor TCS230 akan mengeluarkan arus yang besarnya sebanding dengan kadar warna dasar cahaya yang menimpanya. Arus ini kemudian dikonversikan menjadi sinyal kotak dengan frekuensi sebanding dengan besarnya arus.

Untuk mendapatkan output frekuensi yang stabil untuk masing-masing warna, maka sumber cahaya yang digunakan harus memiliki intensitas cahaya yang konstan. Oleh karena itu, sumber cahaya yang digunakan adalah dua buah LED berwarna putih. Disamping itu rangkaian ini harus berada dalam dalam wadah yang gelap, dengan


(48)

tujuan agar tidak dipengaruhi oleh cahaya lainnya. Output frekuensi yang dihasilkan akan berbeda pada masing-masing warna. Perbedaan frekuensi inilah yang digunakan untuk membedakan bola- bola berwarna, sehingga bola-bola berwarna tersebut dapat dipisah- pisahkan pada wadah yang telah ditetapkan. Berikut adalah gambar rangkaian sensor TCS230.

1 2 3 4

8 7 6 5

Gnd +5V

1k 1k

1k +5V p3.7 p3.4 p3.5 +5V

Gnd

330

Ω

330

Ω TCS230R

Gambar 3.3 Rangkaian Sensor TCS230

Pada pin 5 diberikan catu daya +5V dan pada pin 4 dihubungkan ke ground. Pin 3 merupakan pin yang akan aktif untuk fo (aktif low) dihubungkan ke ground. Pin 7 dan pin 8 merupakan pin untuk memilih tipe fotodioda yang digunakan. Pin 7 dihubungkan pada p3.4 dan pin 8 dihubungkan pada p3.5 mikrokontroller. Pin 6 merupakan output atau frekuensi keluaran (fo) yang dihubungkan pada p3.7 mikrokontroller. Sedangkan pin 1 dan pin 2 digunakan sebagai set skala frekuensi output diset pada logika high(1) atau dihubungkan pada sumber tegangan +5V untuk menghasilkan skala frekuensi maksimum.

3.4 Rangkaian Mikrokontroler AT89S51

Mikrokontroller AT89S51 disini digunakan sebagai pengendali utama seluruh sistem atau alat. Pada Mikrokontroller AT89S51 inilah program akan disikan sehingga alat dapat bekerja secara otomatis. Namun rangkaian mikrokontroller AT89S51 tidak dapat langsung digunakan. Ada berberapa komponen yang harus ditambahkan, diantaranya kristal dan kapasitor yang digunakan sebagai pembangkit sinyal. Kristal yang digunakan mempunyai frekuensi 12Mhz yang dihubungkan pada pin 18 dan pin 19. Sedangkan dua kapasitor dengan nilai 33pF dihubungkan pada pin


(49)

18 ke ground dan pin 19 ke juga ke ground. Berikut adalah gambar rangkaian sistem minimum mikrokontroller AT89S51:

1k GND +5V X-TAL 12MHz +5V GND 1k 10mF AT89S51 VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 XTAL 2 XTAL 1 GND 40 39 38 37 36 35 34 33 32 28 27 26 25 24 23 22 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1k 33pF 33pF 31 30 29

Gambar 3.4 Sistem Minimum Mikrokontroller AT89S51

Rangkaian mikrokontroller ini terdiri dari 40 pin. Pin 40 dihubungkan pada sumber tegangan +5 volt dan pin 20 dihubungkan ke ground. Rangkaian mikrokontroller ini memiliki 4 port input/output dengan masing-masing saluran 8 bit. Pin 39 sampai pin 32 adalah port 0.

Mulai dari pin 39 sebagai P0.0 sampai pin 32 sebagai P0.7. Pada port 0 ini juga dihubungkan dengan resistor 1kΩ sebagai tegangan pull up eksternal. Pada pin 21 sampai pin 28 digunakan sebagai port 2. Pada pin 1 sampai pin 8 digunakan sebagai port 1. Dan pada pin 10 sampai pin 17 digunakan sebagai port 3. Pada pin 9 berfungsi sebagai reset, dihubungkan dengan sebuah kapasitor 10uF yang dihubungkan ke positif dan sebuah resistor 10 Kohm yang dihubungkan ke ground.


(50)

3.5 Rangkaian Driver Motor DC

Pada saat sensor membaca sinyal output dari benda/objek berwarna maka akan dibutuhkan posisi benda yang tepat didepan sensor. Oleh karena itu disini digunakan pengait yang mengatur saat benda berada tepat didepan sensor. Pengait tersebut digerakkan dengan menggunakan sebuah motor dc. Motor dc tidak bisa langsung dikendalikan oleh mikrokontroler. Oleh karena itu dibutuhkan sebuah driver yang menghubungkan dengan mikrokontroler. Driver yang digunakan adalalah sebuah rangkaian jembatan H. Rangkaian jembatan H, ditunjukkan pada gambar 3.5 di bawah ini: +12 V 18Ω 1KΩ TIP122 +12 V 18Ω 1KΩ TIP127 C945 C945 330 Ω 330 Ω +12 V 18Ω 1KΩ TIP122 +12 V 18Ω 1KΩ TIP127 C945 C945 330 Ω 330 Ω MOTOR P2.3 P2.2

Gambar 3.5 Rangkaian Driver Motor DC

Pada rangkaian di atas, jika P2.2 diset high yang berarti P2.2 mendapat tegangan 5 volt, maka kedua transistor tipe NPN C945 yang disebelah kiri akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 0 volt dari ground.

Kolektor dari transistor C945 yang berada di sebelah kiri atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 0 volt yang menyebabkan transistor ini aktif(transistor tipe PNP akan aktif jika tegangan pada basis lebih kecil dari 4,34 volt). Aktifnya transistor PNP TIP 127 ini akan mengakibatkan kolektornya terhubung ke emitor sehingga kolektor mendapatkan tegangan 12 volt dari Vcc.


(51)

Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 0 volt yang menyebabkan transistor ini tidak aktif (transistor tipe NPN akan aktif jika tegangan pada basis lebih besar dari 0,7 volt). Karena transistor TIP 122 ini tidak aktif, maka kolektornya tidak terhubung ke emitor, sehingga kolektor tidak mendapatkan tegangan 0 volt dari ground. Karena kolektor TIP 122 dihubungkan dengan kolektor TIP 127 yang mendapatkan tegangan 5 volt dari Vcc, maka kolektor dari TIP 122 juga mendapatkan tegangan yang sama. Hal ini menyebabkan kaki motor sebelah kiri mendapatkan tegangan 5 volt (polaritas positif).

Agar motor dapat berputar ke satu arah maka kaki sebelah kanan motor harus mendapatkan tegangan 0 volt (polaritas negatif). Hal ini diperoleh dengan memberikan logika low (0) pada P2.3 mikrokontroler AT89S51.

Pada rangkaian di atas, jika P2.3 diset low yang berarti P2.3 mendapat tegangan 0 volt, maka kedua transistor tipe NPN C945 yang disebelah kanan tidak akan aktif. Hal ini membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 5 volt dari Vcc.

Kolektor dari transistor C945 yang berada di sebelah kanan atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan tegangan 5 volt yang menyebabkan transistor ini tidak aktif. Karena transistor PNP TIP 127 tidak aktif maka kolektornya tidak terhubung ke emitor sehingga kolektor tidak mendapatkan tegangan 12 volt dari Vcc, tetapi mendapatkan tegangan yang berasal dari transistor TIP 122 yang berada di bawahnya.

Sedangkan kolektor dari transistor C945 yang berada di sebelah kanan bawah diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 5 volt yang menyebabkan transistor ini menjadi aktif. Karena transistor TIP 122 ini menjadi aktif, menyebabkan kolektornya terhubung ke emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground.


(52)

Karena kolektor TIP 122 yang mendapatkan tegangan 0 volt dari ground dihubungkan dengan kolektor TIP 127, maka kolektor dari TIP 127 juga mendapatkan tegangan yang sama. Hal ini menyebabkan kaki motor sebelah kanan mendapatkan tegangan 0 volt (polaritas negatif). Hal ini akan menyebabkan motor akan berputar ke satu arah tertentu. Sedangkan untuk memutar motor kearah sebaliknya, maka logika yang diberikan ke P2.2 adalah low (0) dan logika yang diberikan ke P2.3 adalah high (1).

3.6 Rangkaian Driver Motor Stepper

Wadah tempat bola-bola berwarna yang dipisahkan, digerakkan dengan cara memutar wadah menggunakan motor stepper. Mikrokontroler tidak dapat langsung mengendalikan putaran dari motor stepper, karena itu dibutuhkan driver sebagai perantara antara mikrokontroler dan motor stepper. Rangkaian driver motor stepper ditunjukkan pada gambar 3.6 berikut:

Gambar 3.6 Driver Motor Stepper

Driver ini berfungsi untuk memutar motor stepper searah dengan jarum jam atau berlawanan arah dengan jarum jam. Dengan memberikan sinyal high secara bergantian ke input dari rangkaian driver motor stepper tersebut, maka pergerakan motor stepper sudah dapat dikendalikan oleh mikrokontroler. Rangkaian driver motor


(53)

stepper ini terdiri dari empat masukan dan empat keluaran, dimana masing-masing masukan dihubungkan dengan mikrokontroler dan keluarannya dihubungkan ke motor stepper. Rangkaian ini akan bekerja memutar motor stepper jika diberi sinyal high (1) secara bergantian pada ke- 4 masukannya.

Rangkaian ini terdiri dari 4 buah transistor NPN TIP 122. Masing-masing transistor dihubungkan ke P0.0, P0.1, P0.2 dan P0.3 pada mikrokontroler AT89S51. Basis dari masing- masing transistor diberi tahanan 10 Kohm untuk membatasi arus yang masuk ke transistor. Kolektor dihubungkan dengan kumparan yang terdapat pada motor stepper, kemudian kumparan dihubungkan dengan sumber tegangan 12 volt dan emitor dihubungkan ke ground.

Jika P0.0 diberi logika high (1), yang berarti basis pada transistor TIP 122 mendapat tegangan 5 volt, maka transistor akan aktif. Hal ini akan menyebabkan terhubungnya kolektor dengan emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground. Hal ini menyebabkan arus akan mengalir dari sumber tegangan 12 volt ke kumparan, sehingga kumparan akan menghasilkan medan magnet. Medan magnet ini akan menarik logam yang ada pada motor, sehingga motor mengarah pada kumparan yang memiliki medan magnet tesebut. Agar motor berputar maka harus diberikan logika high secara bergantian ke masing-masing input dari masing-masing rangkaian. Pemberian logika high lebih dari satu input tidak akan membuat motor berputar. Dan pemberian logika high yang tidak bergantian juga tidak akan membuat motor berputar.

3.7 Teknik analisa data

1. Menentukan warna dalam bentuk data-data digital dari bola- bola menggunakan sensor warna TCS230. Output dari sensor TCS230 adalah frekuensi atau sinyal kotak. Frekuensi output kemudian dikonversikan menjadi data- data digital dengan menggunakan mikrokontroler. Adapun program yang diisikan ke mikrokontroler untuk mengkonversi frekuensi menjadi data digital adalah sebagai berikut:


(54)

; ========================================== ; ; program pembacaan data frekuensi ; ; ========================================== ;

S2 bit p3.4 ;skala filter S3 bit p3.5 ;skala filter out bit p3.7 ;sinyal output

start:

mov r0,#0 call RED call GREEN call BLUE call CLEAR mov p0,r0 jmp start

RED:

clr S2 clr S3 call scan ret

GREEN:

setb S2 setb S3 call scan ret

BLUE:

clr S2 setb S3 call scan ret


(55)

CLEAR:

setb S2 clr S3 call scan ret

Scan:

jnb out,$ jb out,$ inc r0

call interupt jnb out,Scan ret

interupt:

Mov r7,#125

int:

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

end.

2. Menentukan arah perputaran dan torsi motor dc.

a. Menentukan arah perputaran motor dc, dengan menggunakan mikrokontroler.

Program yang akan diisikan pada mikrokontroler:

Loop1:

setb p2.2 clr p2.3 sjmp loop1


(56)

Loop2:

setb p2.3 clr p2.2 sjmp loop2

b. Menentukan beban maksimum motor dc

3. Menentukan ketelitian motor stepper,

a. Menentukan arah perputaran motor stepper b. Menentukan kecepatan motor stepper (ω)

c. Menentukan besar sudut (θ) perputaran untuk masing- masing wadah d. Menentukan beban maksimum yang dapat digerakkan motor stepper.


(57)

BAB IV

PENGUJIAN DAN PEMBAHASAN SISTEM

4.1 Pengujian Rangkaian Mikrokontroller AT89S51

Dalam pengujian yang akan dilakukan pada rangkaian mikrokontroller terlebih dahulu kedelapan pin pada Port 0 dihubungkan dengan LED. Berikut gambar rangkaian mikrokontroler AT89S51:

1k 330Ω GND +5V X-TAL 12MHz +5V GND 1k 10mF AT89S51 VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 XTAL 2 XTAL 1 GND 40 39 38 37 36 35 34 33 32 28 27 26 25 24 23 22 21 330Ω 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1k GND 33pF 33pF 31 30 29


(58)

Untuk menghidupkan sebuah LED, maka pin yang terhubung ke LED tersebut harus diberi nilai high (1). Sebaliknya, pin yang mendapat nilai low (0), maka LED-nya akan mati. Pengujian dilakukan dengan memberikan program sederhana pada mikrokontroller AT89S51. Berikut adalah program untuk pengujian rangkaian mikrokontroler AT89S51:

Loop:

mov p0,#55h P0 0 1 0 1 0 1 0 1 acall tunda

mov P0,#0AAH P0 1 0 1 0 1 0 1 0 acall tunda

sjmp Loop Short jump to loop

tunda: mov r7,#255 tnd: mov r6,#255 Djnz r6,$ Djnz r7,tnd ret

Program di atas akan menghidupkan LED yang terhubung ke pin P0.0, P0.2, P0.4 dan P0.6, berhenti sesaat lalu menghidupkan LED yang terhubung ke pin P0.1, P0.3, P0.5 dan P0.7, berhenti sesaat kemudian kembali lagi menghidupkan LED yang terhubung ke pin P0.0, P0.2, P0.4 dan P0.6. Demikian seterusnya. Rutin tunda berfungsi sebagai waktu berhenti sesaat sebelum LED lainnya dihidupkan. Dengan mengisikan nilai yang berbeda pada port 0, maka tampilannya juga berbeda. Pengujian yang sama juga dilakukan pada port 1, port 2 dan port 3.

4.2 Pengujian Sensor Warna TCS230

Output yang dihasilkan oleh sensor warna adalah frekuensi atau sinyal kotak. Output frekuensi tidak dapat langsung digunakan sebagai pembanding data dalam mikrokontroler, sehingga tidak dapat digunakan sebagai acuan dalam alat. Oleh karena itu, output frekuensi sensor warna TCS230 harus diubah dalam bentuk


(59)

data-data digital. Untuk mengubah frekuensi menjadi data-data digital, program yang diisikan ke mikrokontroler adalah sebagai berikut:

; ========================================== ; ; program pembacaan data frekuensi ; ; ========================================== ;

S2 bit p3.4 ;skala filter S3 bit p3.5 ;skala filter out bit p3.7 ;sinyal output

start:

mov r0,#0 call RED call GREEN call BLUE call CLEAR mov p0,r0 jmp start

RED:

clr S2 clr S3 call scan ret

GREEN:

setb S2 setb S3 call scan ret

BLUE:

clr S2 setb S3 call scan ret


(60)

CLEAR:

setb S2 clr S3 call scan ret

Scan:

jnb out,$ jb out,$ inc r0

call interupt jnb out,Scan ret

interupt:

Mov r7,#125 int:

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

end.

Program dimulai dengan mengosongkan isi register 0 (r0). Selanjutnya pada pemfilter merah (RED) S2 diset low(0) dan S3 juga diset low(0) dengan memberikan perintah clr. Lalu selama selang waktu pada rutin interupt, program scan dibaca dan sinyal ditambahkan pada r0. Program dilanjutkan pada pemfilter hijau (GREEN) dengan menset S2 pada logika high(1) dan S3 pada logika high(1) yaitu dengan perintah setb. Lalu selama selang waktu pada rutin interupt, program scan dibaca dan sinyal ditambahkan kembali pada r0. Lalu program dilanjutkan pada pemfilter biru (BLUE) dengan menset S2 low(0) dan S3 high(1). Lalu selama selang waktu pada rutin interupt, program scan dibaca dan sinyal ditambahkan lagi pada r0. Kemudian diteruskan pada pemfilter tanpa warna (CLEAR) dengan menset S2 high(1) dan S3 low(0). Lalu selama selang waktu pada rutin interupt, program scan dibaca dan sinyal ditambahkan juga pada r0. Selanjutnya sinyal atau data digital r0 dicopykan pada p0 untuk menampilkan data 8 bit pada led yang terhubung pada kedelapan pin.


(61)

Program scan digunakan untuk membaca nilai frekuensi atau sinyal kotak. Pembacaan sinyal dimulai dengan jnb out,$ yang artinya jika sinyal out tidak bit maka baca sinyal sampai habis atau sinyal dengan pulsa low dibaca sampai habis. Kemudian jb out,$ yang artinya jika sinyal out bit maka baca sinyal sampai habis atau sinyal dengan pulsa high dibaca sampai habis. Atau dapat juga diartikan perintah jnb out,$ dan jb out,$ adalah baca frekuensi atau sinyal out sampai habis. Sinyal out tersebut kemudian ditambahkan pada r0 dan dilakukan selama selang waktu interupt. Jika setelah selang waktu interupt sinyal out kembali bit maka dilanjutkan pada program berikutnya.

Rutin 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

interupt:

Mov r7,#125

int:

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


(62)

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.

4.3 Hasil Pengujian Sensor

Objek atau benda yang akan diukur berupa bola berwarna. Warna yang digunakan adalah hitam, merah, kuning, hijau dan biru. Pemilihan warna ini didasarkan pada range atau jarak frekuensi ada yang bersinggungan. Misalkan pada warna merah frekuensi minimumnya bersinggungan atau sama dengan frekuensi maksimum warna oranye ataupun warna jingga. Hal ini diakibatkan oleh intensitas cahaya yang tidak stabil, baik oleh sumber cahaya LED yang digunakan maupun pengaruh sumber cahaya lain seperti matahari.

Pengambilan data dilakukan dengan mengambil data 8 bit yang ditampilkan pada kedelapan pin port 0 pada mikrokontroler. Pengukuran dilakukan sebanyak 10 (sepuluh) kali untuk masing- masing bola, dengan 3 (tiga) bola untuk masing-masing warna. Berikut hasil data pengukuran:


(63)

1. Benda/ objek bola berwarna hitam

BOLA 1 BOLA 2 BOLA 3

Bin Hex Dec Bin Hex Dec Bin Hex Dec

00011110 1eh 30 00011101 1dh 29 00011110 1eh 30 00011110 1eh 30 00011101 1dh 29 00011110 1eh 30 00011110 1eh 30 00011111 1fh 31 00011110 1eh 30 00011110 1eh 30 00011110 1eh 30 00011110 1eh 30 00011110 1eh 30 00011110 1eh 30 00011110 1eh 30 00011101 1dh 29 00011110 1eh 30 00011111 1fh 31 00011101 1dh 29 00011110 1eh 30 00011111 1fh 31 00011101 1dh 29 00011111 1fh 31 00011111 1fh 31 00011110 1eh 30 00011111 1fh 31 00011111 1fh 31 00011110 1eh 30 00011110 1eh 30 00011110 1eh 30

2. Benda/ objek bola berwarna merah

BOLA 1 BOLA 2 BOLA 3

Bin Hex Dec Bin Hex Dec Bin Hex Dec

11001001 C9h 201 11001010 Cah 202 11001100 CCh 204 11001001 C9h 201 11001010 Cah 202 11001100 CCh 204 11001010 Cah 202 11001010 Cah 202 11001100 CCh 204 11001010 Cah 202 11001011 Cbh 203 11001100 CCh 204 11001011 Cbh 203 11001011 Cbh 203 11001100 CCh 204 11001011 Cbh 203 11001011 Cbh 203 11001100 CCh 204 11001011 Cbh 203 11001011 Cbh 203 11001100 CCh 204 11001011 Cbh 203 11001011 Cbh 203 11001100 CCh 204 11001011 Cbh 203 11001011 Cbh 203 11001011 Cbh 203 11001011 Cbh 203 11001011 Cbh 203 11001011 Cbh 203

3. Benda/ objek bola berwarna kuning

BOLA 1 BOLA 2 BOLA 3

Bin Hex Dec Bin Hex Dec Bin Hex Dec

10100011 a3h 163 10100010 a2h 162 10100011 a3h 163 10100011 a3h 163 10100010 a2h 162 10100011 a3h 163 10100010 a2h 162 10100010 a2h 162 10100011 a3h 163 10100010 a2h 162 10100010 a2h 162 10100011 a3h 163 10100010 a2h 162 10100001 a1h 161 10100011 a3h 163


(64)

10100010 a2h 162 10100001 a1h 161 10100011 a3h 163 10100010 a2h 162 10100001 a1h 161 10100011 a3h 163 10100010 a2h 162 10100001 a1h 161 10100100 a4h 164 10100010 a2h 162 10100001 a1h 161 10100100 a4h 164 10100010 a2h 162 10100001 a1h 161 10100100 a4h 164

4. Benda/ objek bola berwarna hijau

BOLA 1 BOLA 2 BOLA 3

Bin Hex Dec Bin Hex Dec Bin Hex Dec

10001011 8bh 139 10001100 8ch 140 10001100 8ch 140

10001011 8bh 139 10001100 8ch 140 10001100 8ch 140 10001011 8bh 139 10001100 8ch 140 10001100 8ch 140 10001011 8bh 139 10001011 8bh 139 10001100 8ch 140

10001011 8bh 139 10001011 8bh 139 10001100 8ch 140 10001011 8bh 139 10001011 8bh 139 10001100 8ch 140

10001011 8bh 139 10001100 8ch 140 10001100 8ch 140 10001011 8bh 139 10001100 8ch 140 10001101 8dh 141

10001100 8ch 140 10001100 8ch 140 10001101 8dh 141 10001100 8ch 140 10001100 8ch 140 10001101 8dh 141

5. Benda/ objek bola berwarna biru

BOLA 1 BOLA 2 BOLA 3

Bin Hex Dec Bin Hex Dec Bin Hex Dec

10000010 82h 130 10000100 84h 132 10000100 84h 132 10000010 82h 130 10000100 84h 132 10000100 84h 132

10000100 84h 132 10000100 84h 132 10000100 84h 132 10000100 84h 132 10000100 84h 132 10000100 84h 132

10000100 84h 132 10000100 84h 132 10000100 84h 132 10000100 84h 132 10000100 84h 132 10000100 84h 132 10000010 82h 130 10000100 84h 132 10000100 84h 132

10000010 82h 130 10000100 84h 132 10000100 84h 132 10000010 82h 130 10000100 84h 132 10000100 84h 132

10000010 82h 130 10000100 84h 132 10000100 84h 132

Untuk mempermudah pengisian program pada mikrokontoller diambil data minimum dam maksimum. Berikut data yang diperoleh:


(1)

4.6 Analisis Ketelitian Alat

Untuk mengeahui 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 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

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.


(2)

BAB V

KESIMPULAN DAN SARAN

1.6. Kesimpulan

1. Alat dapat memisahkan benda berdasarkan warnanya dengan perbedaan output frekuensi yang dihasilkan oleh sensor TCS230, untuk warna hitam: 5800Hz – 6200Hz, merah: 40200Hz – 40800Hz, kuning: 32200Hz – 32800Hz, hijau: 28000Hz – 28200Hz dan biru: 26000Hz – 26400Hz,

2. Dari percobaan yang dilakukan diperoleh persentase kesalahan alat atau deviasi standar sebesar 9,22.

3. Kesalahan pembacaan warna pada alat ini dapat terjadi karena adanya pengaruh sumber cahaya lain seperti cahaya matahari, sehingga output frekuensi yang dihasilkan tidak stabil.

1.7. Saran

1. Pada pengembangan lebih lanjut, dapat dirancang alat yang dapat membedakan benda bukan hanya dengan perbedaan warna tapi juga dapat membedakan benda dengan perbedaan massa.


(3)

DAFTAR PUSTAKA

AT89S51 Microcontroller Data Sheet,

(17/01/09 07.30 PM) DC Motor,

(13/03/09 09.44 AM) General Theory of Motors,

(14/03/09 11.14 AM) Hybrid Stepper Motors

(13/04/09 01.40 PM) Karakteristik Motor DC,

(13/03/09 09.44 AM)

Sudjadi. MT, (2005), Teori dan Aplikasi Mikrokontroller, edisi Pertama,Graha Ilmu, Yogyakarta.

SY Series Stepper Motor Data Sheet,

(13/04/09 01.00 PM) Teori Warna,

(13/03/09 09.00 AM) TCS230R Color Sensor Data Sheet,


(4)

DIAGRAM ALIR (FLOWCHART)

Start

Posisi Awal?

Hentikan Roller Jalankan Roller

Baca Warna

Hitam

Wadah 1

Merah

Wadah 2

Kuning

Wadah 3

Hijau

Wadah 4

Biru

Wadah 5 Ya

Ya

Ya

Ya

Ya

Ya Tidak

Tidak Tidak

Tidak Tidak

Tidak


(5)

Program diawali dengan strat. Kemudian program akan menjalankan roler keposisi awal. Selanjutnya program akan melihat posisi benda apakah posisi benda sudah tepat di depan sensor warna atau belum. Jika posisi benda sudah tepat di depan sensor warna, maka mikrokontroler akan membaca warna dari benda.

Untuk membaca warna, program dimulai dengan mengosongkan isi register 0 (r0). Selanjutnya pada pemfilter merah (RED) S2 diset low(0) dan S3 juga diset

low(0) dengan memberikan perintah clr. Lalu selama selang waktu pada rutin interupt, program sinyal dibaca dan data digital ditambahkan pada r0. Program dilanjutkan pada pemfilter hijau (GREEN) dengan menset S2 pada logika high(1) dan S3 pada logika high(1) yaitu dengan perintah setb. Lalu selama selang waktu pada

rutin interupt, program sinyal dibaca dan data digital ditambahkan kembali pada r0.Lalu program dilanjutkan pada pemfilter biru (BLUE) dengan menset S2 pada logika low(0) dan S3 pada logika high(1). Lalu selama selang waktu pada rutin

interupt, program sinyal dibaca dan data digital ditambahkan lagi pada r0.

Kemudian diteruskan pada pemfilter tanpa warna (CLEAR) dengan menset S2 pada logika high(1) dan S3 pada logika low(0). Lalu selama selang waktu pada rutin

interupt, program sinyal dibaca dan data digital ditambahkan juga pada r0.

Selanjutnya data digital atau nilai dari r0 dicopykan pada accumulator a.

Kemudian program akan membandingkan data pada accumulator a dengan

data hasil pengujian dari sensor warna.

Jika data yang diterima sama dengan data dari warna hitam, maka benda akan langsung dilepaskan tepat pada wadah 1 atau pada posisi utama dimana bola dilepaskan, kemudian program akan kembali ke rutin awal untuk kembali menjalankan roler keposisi awal.

Jika data yang diterima sama dengan data dari warna merah, maka wadah 2 digeser pada posisi utama lalu benda dilepaskan pada wadah 2, kemudian program akan kembali ke rutin awal untuk kembali menjalankan roler keposisi awal.


(6)

Jika data yang diterima sama dengan data dari warna kuning, maka wadah 3 digeser pada posisi utama dan benda dilepaskan pada wadah 3, kemudian program akan kembali ke rutin awal untuk kembali menjalankan roler keposisi awal.

Jika data yang diterima sama dengan data dari warna hijau, maka wadah 4 digeser pada posisi utama dan benda dilepaskan pada wadah 4, kemudian program akan kembali ke rutin awal untuk kembali menjalankan roler keposisi awal.

Jika data yang diterima sama dengan data dari warna biru, maka wadah 5 digeser pada posisi utama dan benda dilepaskan pada wadah 5, kemudian program akan kembali ke rutin awal untuk kembali menjalankan roler keposisi awal.

Jika data yang diterima tidak sama dengan data yang ada pada salah satu warna benda tersebut maka program akan kembali membaca data sampai memperoleh data yang sama dengan salah satu data warna benda yang telah ditentukan. Demikian seterusnya.