TUGAS AKHIR
FRENSON GULTOM
172408068
UNIVERSITAS SUMATERA
ALAT SORTIR BENDA BERDASARKAN WARNA RGB
MENGGUNAKAN SENSOR TCS3200 BERBASIS
MIKROKONTROLLER ATMEGA328
TUGAS AKHIR
FRENSON GULTOM
172408068
i
i
UNIVERSITAS SUMATERA
i
ABSTRAK
Di rancang sebuah alat penyortir benda berdasarkan warna yang dapat
memindahkan benda dari satu tempat ke tempat yang lain dengan warna yang
telah disesuaikan dari rangkaian tersebut. Apabila benda berwarna di letakkan
pada corong yang mengenai sensor TCS3200, maka secara otomatis akan
memberikan tegangan input ke Arduino dan akan bekerja membaca program
yang tersimpan pada IC yang sesuai dengan program. Kemudian Arduino akan
memberikan output tegangan ke motor servo untuk menggerakkan benda tersebut
dan menjalankan program secara otomatis yang mana, servo akan memindahkan
benda dari tempat sensor ke tempat warna yang sama yang telah di sediakan dan
akan berhenti secara otomatis ketika waktu yang ditetapkan di IC Arduino telah
bekerja. Alat yang dibuat menggunakan Arduino Uno adalah sebagai otak
pengendalinya. Struktur serta antar muka Arduino yang sederhana memberikan
kemudahan pengguna dalam memahaminya dan dalam kaitannya penyortir ini
akan dibuat secara sistematis dan teliti. Dimana akan menyortir barang berwarna
yang pengendaliannya dan pendeteksian melalui sensor secara full automatisi
(otomatis). Adapun perbandingan alat yang menggunakan sensor TCS 3200
dengan nilai RGB standart warna internasional memiliki ralat 6,6% pada warna
merah, 7,05% pada warna hijau dan 10,1% pada warna biru.
Kata Kunci : Sensor Warna TCS3200,Mikrokontroller Arduino, Motor Servo
UNIVERSITAS SUMATERA
SORTING EQUIPMENT BASED ON RGB COLOR USING
TCS3200 SENSOR BASED MICROCONTTROLER ATMEGA 328
ABSTRACT
Designed an object sorter based on color that can move objects from one
place to another with the color that has been adjusted from the series. If a colored
object is placed in the funnel that is on the TCS3200 sensor, it will automatically
provide an input voltage to the Arduino and will work reading the program stored
on the IC that matches the program. Then Arduino will provide voltage output to
the servo motor to move the object and run the program automatically which, the
servo will move the object from the sensor to the same color that has been
provided and will stop automatically when the time set in the Arduino IC has been
work. The tools made using Arduino Uno are as the controlling brain. The simple
structure and interface of Arduino make it easy for users to understand it and in
this connection the sorter will be made systematically and thoroughly. Where
will sort colored items that control and detection through sensors in full
automatisi (automatic). The comparison of tools that use TCS 3200 sensors with
international standard RGB values have a correction of 6.6% in red, 7.05% in
green and 10.1% in blue.
iv
Segala puji dan syukur kepada Tuhan Yang Maha Esa, dengan limpahan
berkat-Nya penyusunan Tugas Akhir ini dapat diselesaikan sesuai waktu yang
telah ditetapkan.
Tugas Akhir ini disusun untuk melengkapi persyaratan dalam mencapai
gelar Ahli Madya pada Program Studi Diploma Tiga Fisika Departemen
Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera
Utara. Adapun judul Tugas Akhir ini adalah :
ALAT SORTIR BENDA BERDASARKAN WARNA RGB
MENGGUNAKAN SENSOR TCS3200 BERBASIS MIKROKONTROLLER
ATMEGA328. Penulis menyadari bahwa tersusunnya Tugas Akhir ini dari Doa,
perhatian, bimbingan, motivasi dan dukungan berbagai pihak, sehingga dengan
keikhlasan dan kerendahan hati pada kesempatan ini penulis mengucapkan terima
kasih yang sebesar-besarnya kepada :
1. Kedua orang tua dan oppung saya tercinta serta saudara kandung yang
telah memberikan bantuan moral maupun materi, semangat dan doa yang
begitu besar kepada penulis.
2. Bapak Prof.Dr. Kerista Sebayang, MS, selaku Dekan Fakultas Matematika
dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
3. Ibu Dr. Nursahara Pasaribu, M.Sc, selaku Pembantu Dekan I Fakultas
Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
4. Bapak Drs. Takdir Tamba, M.Eng. Sc, selaku Ketua Program Studi D-3
Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam.
5. Bapak Drs. Aditia Warman, M.Si, selaku Sekretaris Program Studi D-3
Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam.
6. Bapak Tua Raja Simbolon, S.Si, M.Si selaku pembimbing saya yang telah
banyak membantu dan mendukung penulis dalam menyelesaikan Tugas
Akhir ini.
7. Seluruh Dosen dan Karyawan Program Studi D-3 Fisika Departemen
Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas
Sumatera Utara.
UNIVERSITAS SUMATERA
vi
BAB I PENDAHULUAN.................................................................................................. 1
1.1 Latar Belakang ................................................................................................... 1
1.2 Rumusan Masalah.............................................................................................. 2
1.3 Tujuan ................................................................................................................ 2
1.4 Batasan Masalah ................................................................................................ 2
1.5 Sistematika Penulisan ........................................................................................ 2
77
UNIVERSITAS SUMATERA
2.4.5. Memori Atmega 328 ................................................................................ 23
2.4.6. Timer Counter 0....................................................................................... 24
2.4.7. Komunikasi Serial Pada Atmega328 ..................................................... 24
2.4.8. Daya ....................................................................................................... 25
2.5. Bahasa Pemrograman....................................................................................... 25
2.5.1. Struktur Bahasa C .................................................................................. 27
2.5.2. Pengenal ................................................................................................. 27
2.5.3. Tipe Data................................................................................................ 28
2.5.4. Kostanta Variabel................................................................................... 30
2.6. IC Regulator 7805............................................................................................ 30
2.7. Power Supply ................................................................................................... 30
2.8. Arduino Uno .................................................................................................... 31
2.8.1. Prinsip Kerja Motor DC........................................................................ 32
2.9. Motor DC ......................................................................................................... 33
2.10. Driver Motor DC............................................................................................ 34
88
UNIVERSITAS SUMATERA
BAB IV PEMBAHASAN HASIL PENGUKURAN ...................................................... 51
4.1. Pengukuran dan Hasil Pengukuran Sistem ..................................................... 51
4.1.1. Sensor Warna ........................................................................................ 51
4.2. Kalibrasi Alat .................................................................................................. 52
BAB V PENUTUP............................................................................................................. 54
5.1. Kesimpulan ...................................................................................................... 54
5.2. Saran ................................................................................................................ 54
DAFTAR PUSTAKA........................................................................................................ 55
LAMPIRAN....................................................................................................................... 56
Lampiran 1. Program Alat ................................................................................................. 56
Lampiran 2. Gambar Alat ................................................................................................... 62
Lampiran 3. Gambar Rangkaian Lengkap .......................................................................... 63
Lampiran 4. Gambar Standar Warna Internasional ............................................................ 64
UNIVERSITAS SUMATERA
DAFTAR TABEL
UNIVERSITAS SUMATERA
DAFTAR GAMBAR
UNIVERSITAS SUMATERA
BAB I
PENDAHULUAN
UNIVERSITAS SUMATERA
1.2. Rumusan Masalah
Permasalahan yang akan ditemukan dalam merealisasikan rancangan
dirumuskan sebagai berikut:
1. Bagaimana merancang sebuah sistem sortir benda berbasis
Mikrokontroller Atmega 328.
2. Bagaimana cara kerja sensor TCS3200 dalam pengukuran warna
menggunakan variable warna dasar penyusun RGB?
3. Bagaimana cara mendeteksi warna dengan sensor TCS3200?
1.3. Tujuan
Adapun tujuan dari perancangan dan penelitian dari alat ini adalah :
UNIVERSITAS SUMATERA
Bab ini akan membahas latar belakang tugas akhir, identifikasi masalah,
batasan masalah, tujuan, metode penelitian, tinjauan pustaka, dan
sistematika penulisan.
2. BAB II: LANDASAN TEORI
Bab ini akan menjelaskan tentang teori pendukung yang digunakan untuk
pembahasan.
3. BAB III: PERANCANGAN ALAT
Bab ini membahas tentang perencanaan dan pembuatan sistem secara
keseluruhan.
4. BAB IV: HASIL DAN PEMBAHASAN
Berisi tentang uji coba alat yang telah dibuat, pengoperasian dan
spesifikasi alat dan lain-lain.
5. BAB V: KESIMPULAN DAN SARAN
Sebagai bab terakhir penulis akan menguraikan beberapa kesimpulan dari
uraian bab-bab sebelumnya dan penulis akan berusaha memberikan saran
yang mungkin bermanfaat.
UNIVERSITAS SUMATERA
BAB II LANDASAN
TEORI
UNIVERSITAS SUMATERA
Sensor warna TCS 3200 memiliki konfigurasi pin dengan memiliki fungsi
yang berbeda pada setiap pin seperti gambar 2.1
Dioda
UNIVERSITAS SUMATERA
Catatan Penggunaan
Tegangan, VDD = 6 Volt
Jarak tegangan masukan, semua masukan, Vi = -0.3 to VDD +
0.3 V
0 0
Suhu untuk beroperasi = -40 C to 85 C
0 0
Suhu untuk penyimpanan = -40 C to 85 C
Temperatur maksimum penyolderan sesuai dengan JEDEC J-
0
STD-020A = 260 C
4 tipe warna dari photodioda telah diintegrasikan untuk meminimalkan
efek ketidak seragaman dari insiden irradiance. Semua photodioda dari warna
yang sama telah terhubung secara paralel. Pin S2 dan S3 digunakan untuk
memilih grup dari photodioda (merah, hijau, biru, jernih) yang telah aktif. Pada
prinsipnya pembacaan warna pada TCS3200 dilakukan secara bertahap yaitu
membaca frekuensi warna dasar secara simultan dengan cara memfilter pada tiap
tiap warna dasar. Untuk itu, diperlukan sebuah pengaturan atau pemprograman
untuk memfilter tiap-tiap warna tersebut.
Warna merah dan clear memiliki nilai sensitivitas yang tinggi ketika
mendeteksi intensitas cahaya dengan panjang gelombang 715 nm, sedangkan pada
UNIVERSITAS SUMATERA
panjang gelombang 1100 nm photo dioda tersebut memiliki nilai sensitivitas yang
paling rendah. Hal ini menunjukkan bahwa sensor TCS3200 tidak bersifat
linearitas dan memiliki sensitivitas yang berubah terhadap panjang gelombang
yang diukur. Gambar 2.5 menunjukkan karakteristik photodioda terhadap panjang
gelombang cahaya.
UNIVERSITAS SUMATERA
2.1.2 Prinsip Kerja Sensor Warna TCS3200
S2 S3 Photo Dioda
0 0 Merah
0 1 Biru
1 1 Hijau
UNIVERSITAS SUMATERA
keluaran sensor dioptimalkan untuk berbagai penghitung frekuensi atau
mikrokontroler.
Kelebihan :
a. Konversi tinggi Resolusi intensitas Cahaya ke Frekuensi
b. Warna Diprogram dan Full Skala Frekuensi keluaran
c. Berkomunikasi langsung dengan Microcontroller
d. Pasokan tunggal Operasi (2,7 sampai 5,5 Volt)
e. Mempunyai power Down Fitur
f. Kesalahan Non Linear biasanya 0,2 % pada 5 KHZ
0
g. Stabil 200 ppm/ Celcius Koefisien Suhu
h. Bebas timbal (Pb) dan RoHS
i. Kompatibel Paket “Surface Mount”
Kekurangan : Pembacaan data yang rumit karena outputnya berupa
wawe dengan duty cycle 50 %.
UNIVERSITAS SUMATERA
Ada dua komponen utama pembentuk IC ini, yaitu photodiode dan
pengkonversi arus ke frekuensi. Keluaran dari sensor ini sendiri berupa output
digital yang berbentuk pulsa-pulsa hasil pembacaan warna RGB. Antar muka
sensor ini dengan arduino cukup mudah, yaitu dengan menghubungkan pin-pin
dalam sensor ini kedalam pin I/O digital arduino dan pin catu daya.
UNIVERSITAS SUMATERA
Dalam peralatan optis, warna bisa pula berarti interpretasi otak
terhadap campuran tiga warna primer cahaya: merah, hijau dan biru
yang digabungkan dalam komposisi tertentu. Misalnya pencampuran
100% merah, 0% hijau, dan 100% biru akan menghasilkan interpretasi
warna magenta. Didalam ilmu warna hitam dianggap sebagai
ketidakhadiran seluruh jenis gelombang warna. Sementara putih
dianggap sebagai representasi kehadiran seluruh gelombang warna
dengan proporsi seimbang. Secara ilmiah, keduanya bukanlah warna
meskipun bisa dihadirkan dalam bentuk pigmen.
UNIVERSITAS SUMATERA
LCD dapat menampilkan karakter ASCI sehingga kita bisa menampilkan
campuran huruf dan angka sekaligus berwarna ataupun tidak berwarna. Hal ini
disebabkan karena terdapat banyak sekali titik cahaya (piksel) yang terdiri dari
satu buah kristal cair sebagai sebuah titik cahaya. Walau disebut sebagai titik
cahaya namun, kristal cair ini tidak memancarkan cahaya sendiri. Sumber cahaya
didalam sebuah perangkat LCD ada belakang susunan kristal cair tadi.
Titik cahaya yang jumlahnya puluhan ribu bahkan jutaan inilah yang
membentuk tampilan citra. Kutub kristal cair yang dilewati arus listrik akan
berubah karena pengaruh polarisasi medan magnetic yang timbul dan oleh
karenanya akan hanya membiarkan beberapa warna diteruskan sedangkan warna
lainnya tersaring lampu neon berwarna putih.
Dalam menampilkan karakter untuk membantu menginformasikan proses
dan control yang terjadi dalam suatu program robot kita sering menggunakan
LCD. Ada beberapa jenis LCD yang perbedaannya hanya terletak pada alamat
menaruh karakternya.
Salah satu LCD yang sering dipergunakan adalah LCD 16x2 artinya,
LCD tersebut terdiri dari 16 kolom dan 2 baris. LCD ini sering digunakan karena
harganya yang relatif murah dan pemakaiannya yang mudah. LCD yang kita
gunakan dapat dikoneksikan dengan system minimum dalam suatu
mikrokontroler. Driver tersebut berisi rangkaian pengaman, pengatur tingkat
kecerahan backligt maupun data serta untuk mempermudah pemasangan di
mikrokontroler (portable-red).
UNIVERSITAS SUMATERA
LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair sebagai
pemendar cahaya. Pada layar LCD, setiap matrik adalah susunan dua dimensi
piksel yang dibagi dalam baris dan kolom. Dengan demikian, setiap pertemuan
yang merupakan lempengan kaca bagian belakang dengan sisi dalam yang
ditutupi oleh lapisan elektroda transparan.
Dalam keadaan normal, cairan yang digunakan memiliki warna cerah.
Daerah-daerah tertentu pada cairan akan berubah warnanya menjadi hitam ketika
tegangan diterapkan antara bidang latar dan pola elektroda yang terdapat pada sisi
dalam lempeng kaca bagian depan. Keunggulan LCD adalah hanya menarik arus
yang kecil (beberapa micro ampere), sehingga alat atau sistem menjadi portable
karena dapat menggunakan catu daya yang kecil. Keunggulan lainnya adalah
tampilan yang diperlihatkan dapat dibaca dengan mudah di bawah terang sinar
matahari.
Di bawah sinar cahaya yang remang-remang dalam kondisi gelap, sebuah
lampu (berupa LED) harus dipasang dibelakang layar tampilan.
LCD yang digunakan adalah jenis LCD yang menampilkan data dengan 2 baris
tampilan pada display. Keuntungan dari LCD ini adalah :
1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk
membuat program tampilan.
2. Mudah dihubungkan dengan port I/O karena hanya menggunakan 8 bit
data dan 3 bit control.
3. Ukuran modul yang proporsional.
Operasi dasar pada LCD terdiri dari empat, yaitu instruksi mengakses
proses internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan
instruksi membaca data. ROM pembangkit sebanyak 192 tipe karakter, tiap
karakter dengan huruf 5x7 dot matrik. Kapasitas pembangkit RAM 8 tipe karakter
(membaca program), maksimum pembacaan 80x8 bit tampilan data. Perintah
utama LCD adalah Display Clear, Cursor Home, Display ON/OFF, Display
Character Blink, Cursor Sihft dan Display Shift.
UNIVERSITAS SUMATERA
2.3.1 Konfigurasi Pin LCD(Liquid Crystal Display)
UNIVERSITAS SUMATERA
Modul LCD memiliki karakteristik sebagai berikut:
1. Terdapat 16 x 2 karakter huruf yang bisa ditampilkan.
2. Setiap terdiri dari 5 x 7 dot-matrix cursor.
3. Terdapat 192 macam karakter.
4. Terdapat 80 x 8 bit display RAM ( maksimal 80 karakter ).
5. Memiliki kemampuan penulisan dengan 8 bit maupun dengan 4 bit.
6. Dibangun oleh osilator lokal.
7. Satu sumber tegangan 5 Volt.
8. Otomatis reset saat tegangan dihidupkan.
9. Bekerja pada suhu 0oC sampai 550C.
Lapisan film yang berisi Kristal cair diletakkan diantara dua lempeng kaca
yang telah ditanami elektroda logam transparan. Saat tegangan dicatukan pada
beberapa pasang elektroda, molekul-molekul Kristal cair akan menyusun diri agar
cahaya yang mengenainya dipantulkan atau diserap. Dari hasil pemantulan atau
penyerapan cahaya tersebut akan terbentuk pola huruf, angka, atau gambar sesuai
yang di aktifkan.
LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular
untuk aplikasi pada kalkulator, arloji digital dan instrument elektronika. Berbeda
seperti Global Positioning System (GPS), baragraph display dan multimeter
digital. LCD umumnya dikemas dalam bentuk Dual In Line Package (DIP) dan
mempunyai kemampuan untuk menampilkan beberapa kolom dan baris dalam
satu panel. Untuk membentuk pola, baik karakter maupun gambar pada kolom
dan baris secara bersamaan digunakan metode Screening.
Metode screening adalah mengaktifkan daerah pertolongan suatu kolom
dan suatu baris secara bergantian dan cepat sehingga seolah-olah aktif semua.
Penggunaan metode ini dimaksudkan untuk menghemat jalur yang digunakan
untuk mengaktifkan panel LCD. Saat ini telah dikembangkan berbagai jenis LCD
mulai jenis LCD biasa, Passive Matrix LCD (PWLCD), hingga Thin-
FilmTransistor Active Matrix (IFT-AMLCD). Kemampuan LCD juga telah
ditingkatkan dari yang monokrom hingga yang mampu menampilk warna tersebut
UNIVERSITAS SUMATERA
selain untuk loader ketika mem-program, bisa juga difungsikan sebagai
port
komunikasi serial.
Arduino menyediakan 20 pin I/O yang terdiri dari 6 pin input analog dan
14 pin digital input/output. Untuk 6 pin analog sendiri bisa juga difungsikan
sebagai output digital jika diperlukan output digital tambahan selain 14 pin yang
sudah tersedia. Untuk mengubah pin analog menjadi digital cukup mengubah
konfigurasi pin pada program.
Dalam board kita bisa lihat pin digital diberi keterangan 0-13, jadi untuk
menggunakan pin analog menjadi output digital, pin analog yang pada keterangan
board 0-5 kita ubah menjadi pin 14-19. Dengan kata lain, pin analog 0-5
berfungsi juga sebagi pin output digital 14-16. Sifat open source arduino juga
banyak memberikan keuntungan tersendiri untuk kita dalam menggunakan board
ini karena dengan sifat open source komponen yang kita pakai tidak hanya
tergantung pada satu merek, namun memungkinkan kita bisa memakai semua
komponen yang ada dipasaran. Bahasa pemrograman arduino merupakan bahasa
C yang sudah disederhanakan syntax bahasa pemrogramannya sehingga
mempermudah kita dalam mempelajari dan mendalami mikrokontroller.
ICNE555 bukanlah satu – satunya komponen yang digunakan. Disini
peneliti menambahkan beberapa komponen pelengkap yang sama bergunanya
dalam pembuatan alat ini. Komponen – komponen itu antara lain adalah 1 buah
potensiometer 10k, 2 buah kapasitor 0,01uF, 1 buah kapasitor 1uF, 1 buah IC
NE555, 1 buah Speaker 8Ω, 0,5watt, 1 buah baterai 9volt dan 1 buah transistor
NPN 9013.
UNIVERSITAS SUMATERA
Kecepatan mencapai 16 MIPS dengan clock 16 MHz.
32 KB Flash memory dan pada arduino memiliki bootloader yang
menggunakan
2 KB dari flash memori sebagai bootloader.
Memiliki EEPROM (Electrically Erasable Programmable Read Only
Memory) sebesar 1KB sebagai tempat penyimpanan data semi
permanent karena EEPROM tetap dapat menyimpan data meskipun catu
daya dimatikan.
Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse
Width Modulation) output.
Master / Slave SPI Serial interface.
UNIVERSITAS SUMATERA
.
Gambar 2.9.mikrokontroller ATMEGA 328
UNIVERSITAS SUMATERA
1. PortB
Port B merupakan jalur data 8 bit yang dapat difungsikan sebagai
input/output. Selain itu PORTB juga dapat memiliki fungsi alternatif seperti di
bawah ini.
ICP1 (PB0), berfungsi sebagai Timer Counter 1 input capture pin.
OC1A (PB1), OC1B (PB2) dan OC2 (PB3) dapat difungsikan sebagai
keluaran PWM (Pulse Width Modulation).
MOSI (PB3), MISO (PB4), SCK (PB5), SS (PB2) merupakan jalur
komunikasi SPI.
Selain itu pin ini juga berfungsi sebagai jalur pemograman serial (ISP).
TOSC1 (PB6) dan TOSC2 (PB7) dapat difungsikan sebagai sumber clock
external untuk timer.
XTAL1 (PB6) dan XTAL2 (PB7) merupakan sumber clock utama
mikrokontroler.
2. PortC
Port C merupakan jalur data 7 bit yang dapat difungsikan sebagai
input/output digital. Fungsi alternatif PORTC antara lain sebagai berikut.
ADC6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi sebesar 10
bit.
ADC dapat kita gunakan untuk mengubah input yang berupa tegangan
analog menjadi data digitb. I2C (SDA dan SDL) merupakan salah satu
fitur yang terdapat pada PORTC. I2C digunakan untuk komunikasi dengan
sensor atau device lain yang memiliki komunikasi data tipe I2C seperti
sensor kompas, accelerometer nunchuck.
3. PortD
Port D merupakan jalur data 8 bit yang masing-masing pin-nya juga dapat
difungsikan sebagai input/output. Sama seperti Port B dan Port C, Port D juga
memiliki fungsi alternatif dibawah ini.
USART (TXD dan RXD) merupakan jalur data komunikasi
serialdenganlevel sinyal TTL. Pin TXD berfungsi untuk mengirimkan data
serial, sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsi
untuk menerima data serial.
UNIVERSITAS SUMATERA
Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai
interupsi hardware. Interupsi biasanya digunakan sebagai selaan dari
program, misalkan pada saat program berjalan kemudian terjadi interupsi
hardware/software maka program utama akan berhenti dan akan
menjalankan program interupsi.
XCK dapat difungsikan sebagai sumber clock external untuk USART,
namun kita juga dapat memanfaatkan clock dari CPU, sehingga tidak perlu
membutuhkan externalclock.
T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan
timer 0.
AIN0 dan AIN1 keduanya merupakan masukan input untuk analog
comparator.
UNIVERSITAS SUMATERA
Penjelasan :
1. Bit 7 (I)
Merupakan bit Global Interrupt Enable. Bit ini harus di set agar semua
perintah interupsi dapat dijalankan. Untuk perintah interupsi individual akan di
jelaskan pada bagian yang lain. Jika bit ini di-reset, maka semua perintah
interupsi baik yang individual maupun yang secara umum akan di abaikan. bit
ini akan dibersihkan atau cleared oleh hardwere setelah sebuah interupsi di
jalankan dan akan di-set kembali oleh perintah RETI. Bit ini juga dapat di-set
dan di-reset melalui aplikasi SEI dan CLL.
2. Bit 6 (T)
Merupakan bit copy storage. Intruksi bit copy intruction BLD (Bit Load)
and BST (Bit Store) menggunakan bit ini sebagai asal atau tujuan untuk bit
yang telah dioperasikan. sebuah bit dari sebuah register dalam register file
dapat disalin ke dalam bit ini dengan menggunakan intruksi BST, dan sebuah
bit di dalam bit ini dapat di salin ke dalam bit di dalam register pada register
file dengan menggunakan perintah BLD.
3. Bit 5 (H)
Merupakan bit Half Carry Flag. Bit ini menandakan sebuah Half Carry
dalam beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatika BCD.
4. Bit 4 (S)
Merupakan Sign Bit. Bit ini selalu merupakan sebuah eksklusif diantara
Negative Flag (N)dan two’s Complemen Overflow Flag (V).
5. Bit 3 (V)
Merupakan bit Two’s Complemen Overflow Flag. Bit ini menyediakan fungsi
aritmatika dua komplemen.
6. Bit 2 (N)
Merupakan bit Negative Flag. Bit ini mengindikasikan sebuah hasil
negatif di dalam sebuah fungsi logika atau aritmatika.
7. Bit 1 (Z)
Merupakan Bit Zero Flag. bit ini mengindikasikan sebuah hasil nol “0”
dalam sebuah fungsi aritmatika atau logika.
UNIVERSITAS SUMATERA
8. Bit 0 (C)
Merupakan bit Carry Flag. bit ini mengindikasikan sebuah Carry atau
sistem dalam sebuah aritmatika atau logika.
UNIVERSITAS SUMATERA
2.4.5 Memori ATMega 328
Memori atmega terbagi menjadi tiga yaitu :
a. Memori Flash
b. Memori Data
Memori data adalah memori RAM yang digunakan untuk keperluan
program. memori data terbagi menjadi empat bagian yaitu : 32 GPR (General
Purphose Register) adalah register khusus yang bertugas untuk membantu
eksekusi program oleh ALU (Aritmatich logic unit), dalam intruksi assembler
setiap intruksi harus melibatkan GPR.
Dalam bahasa C biasanya di gunakan untuk variabel global atau nilai
balik fungsi dan nilai-nilai yang dapat memperingan kerja ALU. Dalam istilah
processor komputer sehari-hari GPR dikenal sebagai “chace memory”. I/O
register dan Aditional I/O register adalah register yang di fungsikan khusus
untuk mengendalikan berbagai pheripheral dalam mikrokontroller seperti pin
port, timer/counter, usart dan lain-lain.
c. EEPROM
EEPROM adalah memori data yang dapat mengendap ketika chip mati
(off), digunakan untuk keperluan penyimpanan data yang tahan terhadap
gangguan catu daya.
UNIVERSITAS SUMATERA
Gambar 2.13.Peta Memori ATMEGA 328
UNIVERSITAS SUMATERA
untuk memudahkan anda menggunakan bus I2C. Untuk menggunakan
komunikasi SPI, gunakan SPI library.
2.4.8 Daya
Mikrokontroler Atmega 328 dapat diaktifkan dengan catu daya eksternal.
Adaptor ini dapat dihubungkan dengan menancapkan plug positif 2.1 mm ke
colokan listrik. Dari baterai dapat dimasukan dalam Gnd dan Vinpin header
darikonektor power. Mikrokontroler Atmega 328 ini dapat beroperasi pada
pasokan tegangan eksternal 6 sampai 20 volt. Jika diberikan dengan kurang dari 7
volt, pin yang keluaran 5 volt mungkin pasokannya kurang dari 5 volt dan
mikrokontroler Atmega 328 mungkin tidak stabil. Jika menggunakan lebih dari 12
volt, regulator tegangan bisa panas dan merusak IC mikro. Kisaran yang
disarankan adalah 7-12 volt.
Pin sumber daya dalam mikrokontroler Atmega 328 ini adalah sebagai
berikut :
VIN
Tegangan masukan pada mikrokontroler Atmega 328 menggunakan
sumber daya eksternal.
5V
Catu daya 5 volt ini digunakan untuk daya mikrokontroler dan komponen
lainnya pada boardmikrokontroler Atmega 328. Hal ini dapat terjadi
dilakukan dari pin VIN melalui regulator on-board, atau melalui port
USB atau sumber tegangan lainnya seperti adaptor.
GND
Pin ground.
Bahasa C dikembangkan pada Lab Bell pada tahun 1978 oleh Dennis
Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu standar
ANSI ( American National Standards Institute ) yang digunakan sebagai referensi
dari berbagai versi C yang beredar dewasa ini termasuk Turbo C.
Dalam beberapa literature, bahasa C digolongkan bahasa level menengah
karena bahasa C mengkombinasikan elemen bahasa tinggi dan elemen bahasa
UNIVERSITAS SUMATERA
rendah. Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa
C. Pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++
(diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah
pengembangan dari bahasa C. Bahasa C++ mendukung konsep pemrograman
berorientasi objek dan pemrograman berbasis windows.
Sampai sekarang bahasa C++ terus berkembang dan hasil
perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C
dan C++ yang dinamakan java). Istilah prosedur dan fungsi dianggap sama dan
disebut dengan fungsi saja. Hal ini karena di C++ sebuah prosedur pada dasanya
adalah sebuah fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini,
bahasa ini masih popular dan penggunaannya tersebar di berbagai platform dari
windows samapi linux dan dari PC hingga main frame. Ada pun kekurangan dan
kelebihan Bahasa C sebagai berikut :
Kelebihan Bahasa C:
- Bahasa C tersedia hampir di semua jenis computer.
jenis computer.
UNIVERSITAS SUMATERA
Kekurangan Bahasa C:
- Banyaknya operator serta fleksibilitas penulisan program kadang-
pointer.
2.5.2 Pengenal
Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh
pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable,
fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat
ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi atura
berikut :
Karakter pertama tidak boleh menggunakan angka
Karakter kedua dapat berupa huruf, angka atau garis bawah.
Tidak boleh menggunakan spasi.
Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap
Berbeda
Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun
operator dalam pemrograman C, misalnya : Void, short, const, if, static,
bit, long, case, do, switch dll.
UNIVERSITAS SUMATERA
2.5.3 Tipe Data
Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat
belajar bahasa pemrograman. Kita harus dapat menentukan tipe data yang tepat
untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun
karakter. Hal ini bertujuan agar program yang kita buat tidak membutuhkan
pemesanan kapling memori yang berlebihan.
Seorang programmer yang handal harus dapat memilih dan menentukan
tipe data apa yang seharusnya digunakan dalam pembuatan sebuah program.
Secara garis besar tipe data pada bahasa C dibagi menjadi beberapa bagian antara
lain sebagai Berikut
Macam-Macam Tipe Data Pada Bahasa C :
1. Tipe Data Karakter
Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan
padasebuah variabel yang memiliki tipe data char dan unsigned char.
Besarnya datayang dapat disimpan pada variabel yang bertipe data char adalah
-127 - 127. Sedangkan untuk tipe data unsigned char adalah dari 0 - 255. Pada
dasarnya setiap karakter memiliki nilai ASCII, nilai inilah yang sebetulnya
disimpan pada variabel yang bertipe data karakter ini.
2. Tipe Data Bilangan Bulat
Tipe data bilangan bulat atau dapat disebut juga bilangan decimal
merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat
bermacam-macam tipe data yang dapat kita gunakan untuk menampung
bilangan bulat. Kita dapat menyesuaikan penggunaan tipe data dengan terlebih
dahulu memperhitungkan seberapa besar nilai yang akan kita simpan.
Contohnya seperti berikut, kiata akan melakukan operasi penjumlahan nilai
300 dan 100 dan hasilnya akan disimpan pada variabel c.
Jika dilihat, hasil dari penjumlahan tersebut nilainya akan lebih besar
dari 255 dan nilainya pasti positif oleh karena itu, sebaiknya kita
menggunakan tipe data unsigned int jika dilihat hasilnya akan negatif maka
selayaknya digunakan variabel dengan tipe data int.
UNIVERSITAS SUMATERA
3. Tipe Data Bilangan Berkoma
Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk
menampung data yang berkoma. Tipe data tersebut adalah float dan double.
Double lebih memiliki panjang data yang lebih banyak dibandingkan float. Tipe
data double dapat digunakan jika kita membutuhkan variabel yang dapat
menampung tipe data berkoma yang bernilai besar.
Signed Long
11 4 byte
Int -2.147.483.648 s/d 2.147.483.647
UNIVERSITAS SUMATERA
2.5.4 Konstanta Dan Variabel
Konstanta dan variable merupakan sebuah tempat untuk menyimpan data
yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan tidak
dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa
berubah nilainya pada saat program dijalankan.
UNIVERSITAS SUMATERA
Microcontroller ATmega328
Operating Voltage 5V
Input Voltage 7-12V
(recommended)
Input Voltage 6-20V
Digital I/O Pin s 14 (of which 6 provide PWM output)
Analog Input Pin s 6
DC Current Per I/o 40 Ma
DC Current for 3.3V 50 Ma
32 KB (Atmega) of which 0,5 KB used by
Flash Memory bootloader
SR A M 2 KB (Atmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHZ
Length 68,6 mm
Width 53,4
Weight 25 g
2.8. Motor DC
Motor DC atau lebih tepatnya motor listrik adalah komponen elektrik yang
sifatnya merubah besaran elektrik menjadi berupa putaran. Motor listrik terdiri
atas tiga bagian utama yang disebut stator (bagian yang diam), rotor (bagian yang
bergerak) dan air gap. Rotor dapat berputar karena adanya medan magnet yang
dipengaruhi oleh arus listrik. Air gap adalah bagian yang memisahkan rotor dan
stator. Motor terdiri dari dua jenis yaitu motor AC dan motor DC.
Motor DC menggunakan 2 data yang harus tersambung ke data digital
mikrokontroler namun ketika harus menggunakan motor DC yang membutuhkan
arus tinggi harus menggunakan rangkaian penguat (driver) dari motor ke
mikrokontroler. Sedangkan Motor AC biasanya memerlukan rangkian berupa
relay untuk menjalankannya karena tegangan yang berasal dari mikrokontroler
adalah DC sedangkan tegangan yang dibutuhkan adalah tegangan AC.
UNIVERSITAS SUMATERA
Gambar 2.14. Motor DC
UNIVERSITAS SUMATERA
Gambar 2.15 Prinsip Kerja Motor DC
UNIVERSITAS SUMATERA
Tegangan sumber DC yang dapat diberikan antara 5.5V- 27VDC, sedangkan
tegangan input level antara 3.3V-5VDC, driver motor ini menggunakan rangkaian
full H-bridge dengan IC BTS7960 dengan perlindungan saat terjadi panas dan
arus berlebihan.
Motor servo standard (servo rotation 180⁰) adalah jenis yang paling umum
dari motor servo, dimana putaran poros outputnya terbatas hanya 90⁰
UNIVERSITAS SUMATERA
kearah kanan dan 90⁰ kearah kiri. Dengan kata lain total putarannya hanya
setengah lingkaran atau 180⁰.
Motor servo rotation continuous 360⁰ merupakan jenis motor servo yang
sebenarnya sama dengan jenis servo standard, hanya saja perputaran
porosnya tanpa batasan atau dengan kata lain dapat berputar terus, baik ke
arah kanan maupun kiri.
Pada alat Aplikasi Accelerometer pada Penstabil Monopod Menggunakan
Motor Servo memanfaatkan motor servo DC karena penggunaanya yang
praktis dan ditambah keunggulan dari fitur motor servo DC. Motor servo DC
memiliki sistem umpan balik tertutup di mana posisi rotor-nya akan
diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo.
Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer dan
rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari
putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar
pulsa yang dikirim melalui kaki sinyal dari kabel motor servo.
UNIVERSITAS SUMATERA
BAB 3
PERANCANGAN DAN PEMBUATAN SISTEM
3.1 PerancanganSistem
3.1.1 Diagram Blok Sistem
Diagram blok merupakan salah satu bagian terpenting dalam perancangan
peralatan elektronika, Untuk mempermudah perancangan system diperlukan
sebuah diagram blok sistem yang mana tiap blok mempunyai fungsi dan cara
kerja tertentu. Adapun diagram blok dari sistem yang dirancang adalah sebagai
berikut :
CATU DAYA
Motor Servo 1
LCD
ATMEGA 328
SENSOR
WARNA
TCS3200
Motor Servo 2
Driver Motor DC
Motor DC
UNIVERSITAS SUMATERA
3.2 Perancangan Rangkaian Sistem
3.2.1 Rangkaian Mikrokontroler ATMega328
Rangkaian ini merupakan otak dari alat yang dibuat. Rangkaian ini
menggunakan mikrokontroler ATMega328 sebagai pusat dari pemrosesan data.
Berikut gamba rrangkaian yang digunakan pada alat ini:
UNIVERSITAS SUMATERA
Bagian lainnya adalah bagian komunikasi. Rangkaian ini digunakan
sebagai jalur untuk memasukkan program ke memori mikrokontroler. Rangkaian
ini dibangun dari IC CH340G yang merupakan converter komunikasi USB ke
UART-TTL. Hal ini diperlukan agar mikrokontroler yang hanya mempunyai
fasilitas komunikasi serial UART-TTL dapat berkomunikasi dengan PC yang
mempunyai fasilitas port USB. Sebagai pembangkit clock pada rangkaian
komunikasi ini, digunakan kristal Q2, dan C4, C5.
UNIVERSITAS SUMATERA
menggerakkan perangkat tersebut. Rangkaian sensor tersebut bisa berupa
rangkaian sensor suhu, cahaya, gerak dan juga infra merah. Rangkaian sensor
sederhana =infrared yang biasa digunakan untuk membuat rangkaian robot line
follower. Pastinya dalam membuat rangkaian sensor infrared atau biasa disebut
light source dan juga sebuah photodioda yang akan bertindak sebagai sensor
cahaya photodetector. Cara kerja sensor halangan ini adalah komponen
photodioda akan digunakan sebagai sensor cahaya dimana sensor infrared tersebut
yang akan bertindak sebagai suber cahaya. Ketika komponen infrared akan
ditembakkan pada photodioda, maka cahaya akan langsung menuju ke sensor
photodioda yang menerima cahaya tersebut. Komponen sensor TCS3200 yang
menerima cahaya tersebut akan memiliki nilai resistansi yang cukup rendah
sehingga menghasilkan tegangan yang besar.
Pin yang digunakan sensor warna pada ATMega328 adalah :
1. Pin S0 dihubungkan dengan Pin 8 ATMega328
2. Pin S1 dihubungkan dengan Pin 7 ATMega328
3. Pin S2 dihubungkan dengan Pin 9 ATMega328
4. Pin S3 dihubungkan dengan Pin 10 ATMega328
5. Pin GND dihubungkan dengan GND ATMega328
6. Pin VCCdihubungkan dengan Pin 5VA ATMega328
7. Pin OUT dihubungkan dengan Pin 11 ATMega328
UNIVERSITAS SUMATERA
3.2.3 Rangkaian LCD dengan ATMega328
Pada Rancanganini LCD digunakan untuk menampilkan nilai RGB dari
sensor warna.
Dari gambar 3.5 dapat dilihat bahwa LCD 16×2 mempunyai 16 pin.
Sedangkan, pengkabelannya adalah sebagai berikut :
1. Kaki 1 dihubungkan dengan GND
2. Kaki 2 dan 15 terhubung dengan VCC (+5V)
3. Kaki 3 dari LCD 16×2 adalah pin yang digunakan untuk mengatur kontras
kecerahan LCD.
4. Pin 4 (RS) dihubungkan dengan pin mikrokontroler
5. Pin 5 (RW) dihubungkan dengan GND
6. Pin 6 (E) dihubungkan dengan pin mikrokontroler
UNIVERSITAS SUMATERA
Sedangkan pin 11 hingga 14 dihubungkan dengan pin mikrokontroler
sebagai jalur datanya. Rangkaian ini dibangun dari sebuah IC PCF8574T yang
berperan untuk mengkonversi perintah yang didapat melalui komunikasi I2C
menjadi logika digital ditiap pin outputnya (P0 s.d. P7). Logika – logika digital
tersebutlah yang menjadi logika untuk mengaktifkan LCD. Dengan demikian,
untuk mengendalikan LCD mikrokontroler hanya membutuhkan 2 pin yaitu pin
SDA dan SCL. Pin 1,2 dan 3 dari IC PCF8574T dihubungkan pada resistor pull-
up yang mengakibatkan logikanya selalu bernilai 1. Sesuai dengan datasheet IC
ini, jika di pin-pin tersebut diberika logika 1 maka address untuk pemrograman ic
ini akan menjadi 0x27. Trimpot R4 digunakan untuk mengatur kontras dari
karakter yang muncul pada saat LCD dinyalakan.
UNIVERSITAS SUMATERA
Gambar 3.5 Rangkaian Power Supply dengan ATMega328
Agar alat dapat digunakan, maka dibutuhkan sebuah catu daya yang
memberikan daya pada seluruh rangkaian. Sensor display dan mikrokontroler
umumnya menggunakan tegangan 5V DC agar dapat bekerja. Untuk itu dibangun
sebuah system power supply yang mempunyai output 5V DC.
Rangkaian ini dibangun dari IC LM2576 yang merupakan IC converter
penurun tegangan. Rangkaian jenis ini dipilih karena lebih efisien dibanding
dengan linear regulator biasa. LM2576 merupakan IC regulator switching yang
mampu memberikan arus 3A pada tegangan 5V. Regulator jenis ini hanya
memerlukan sedikit komponen tambahan untuk dapat dioperasikan.
UNIVERSITAS SUMATERA
3.2.5 RangkaianMotor Servo dengan AT Mega 328
Sebagai actuator pada alat yang dibuat digunakan motor servo. Motor
servo digunakan karena penggunaannya yang mudah dan torsi putaran relative
lebih besar. Jika dibanding motor jenis lainnya pada tegangan kerja yang sama.
Motor servo yang digunakan pada alat ini adalah motor servo SG-90 yang
mempunyai torsi maksimum 8,5 kgf cm pada tegangan 4,8V DC. Putaran motor
servo ini diatur oleh lebar pulsa yang masuk ke pin data motor ini. Untuk
penggunaannya cukup dengan menghubungkan pin data motor servo ke pin PWM
pada mikrokontroler. Kemudian kita dapat mengatur lebar pulsa yang masuk ke
motor servo melalui fitur PWM pada mikrokontroler.
UNIVERSITAS SUMATERA
3.2.6 Rangkaian Motor DC dengan Driver Motor DC
Agar mikrokontroler dapat mengendalikanputaran motor DC yang digunakan,
makadiperlukansebuahrangkaian driver motor DC. Berikut merupakan gambar
rangkaian driver motor DC yang digunakan:
UNIVERSITAS SUMATERA
Logika Pin INP_PWM Keadaan Motor DC
1 Berputar
0 TidakBerputar
\
Gambar 3.8 Tampilan Jendela Program Arduino AVR
3.3.1 Mikrokontroler
Agar dapat mengetahui rangkaian mikrokontroler yang dibuat memang
sudah dapat beroperasi, maka dilakukanlah pengujian rangkaian mikrokontroler.
UNIVERSITAS SUMATERA
Pengujian dilakukan dengan cara memasukkan program kemikrokontroler dan
kemudian melihat apakah mikrokontroler dapat mengeksekusi program yang
dibuat. Berikut merupakan program yang dimasukkan pada saat pengujian
rangkaian mikrokontroler:
void setup() {
pinMode(4, OUTPUT);
}
void loop() {
digital Write(4, HIGH);
delay(1000);
digitalWrite(4, LOW);
delay(1000);
}
Program ditujukan untuk mengedipkan Led yang terhubung pada pin 4
pada rangkaian mikrokontroler dengan jeda waktu kedip 1 detik. Jika led yang
terhubung pada pin 4 sudah dapat berkedip dengan jeda 1 detik ketika program
tersebut dieksekusi mikrokontroler, maka dapat dikatakan rangkaian
mikrokontroler yang dibuat sudah dapat bekerja dengan normal.
3.3.2 LCD
Untuk melakukan pengujian LCD, maka diperlukan rangkaian
mikrokontroler juga sebagai sarana pembantu pengujian. Hal ini diperlukan
karena LCD hanya dapat bekerja berdasarkan perintah mikrokontroler. Agar dapat
berkomunikasi, maka dihubungkanlah pin SDA pada IC PCF8574T pada pin A4
rangkaian mikrokontroler dan pin SCL pada IC PCF8574T dihubungkan pada pin
A5 mikrokontroler. Kemudian pada mikrokontroler dimasukkan program berikut:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
void setup()
{
UNIVERSITAS SUMATERA
lcd.init(); lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Hello World!");
}
void loop()
{
}
#define S0 5
#define S1 6
#define S2 7
#define S3 8
#define sensOut 9
int r = 0;
int g = 0;
int b = 0;
UNIVERSITAS SUMATERA
void setup() {
Serial.begin(9600);
pinMode(S0,OUTPUT);
pinMode(S1,OUTPUT);
pinMode(S2,OUTPUT);
pinMode(S3,OUTPUT);
pinMode(sensOut, INPUT);
digitalWrite(S0,HIGH);
digitalWrite(S1,LOW);
void loop() {
digitalWrite(S3,LOW);
r = pulseIn(sensOut,LOW);
digitalWrite(S3,HIGH);
g = pulseIn(sensOut,LOW);
digitalWrite(S3,HIGH);
b = pulseIn(sensOut, LOW);
UNIVERSITAS SUMATERA
Serial.print("R : ");
Serial.print(r);
Serial.print(" G : ");
Serial.print(g);
Serial.print(" B : ");
Serial.println(b);
delay(100);
UNIVERSITAS SUMATERA
3.4 Flowchart Sistem Kerja Pendeteksi Warna
Flowchart merupakan bagan dengan simbol yang menggambarkan urutan
proses secara detail dan hubungan setiap proses dengan proses yang lainnya.
Berikut adalah flowchart perancangan alat pada judul ini:
Mulai
Ambil da ta ,B
Ya Masukkan Benda
Benda
Ruang 1
Merah
Ti k
da Masukkan Benda
Ya
Benda Ruang 2
Hijau
Ti k
da Masukkan Benda
Ya
Benda Biru Ruang 3
Non Aktifkan
Conveyer
UNIVERSITAS SUMATERA
BAB IV
UNIVERSITAS SUMATERA
Chart Title
300
200
100
0
Merah Hijau Biru
Hasil Nilai RGB yang Diuji Hasil Nilai RGB yang Diuji
Hasil Nilai RGB yang Diuji
Dari tabel 4.2 maka hasil presentasi ralat warna dapat dihitung :
%=: x 100%
1. Merah
UNIVERSITAS SUMATERA
% R: x 100% = │-6,6%│= 6,6%
2. Hijau
% G: x 100% = │-7,05%│= 7,05%
3. Biru
% B: x 100% = │-10,1%│= 10,1%
UNIVERSITAS SUMATERA
BAB V
PENUTUP
5.1. Kesimpulan
3. Tingkat keakuratan pembacaan warna ditentukan oleh faktor teknis yaitu posisi
peletakan sensor tidak berubah dan harus pada kondisi cahaya yang stabil.
5.2. Saran
1. Dalam pengambilan data obyek, warna tata letak dari obyek warna yang
ditempatkan dalam posisi yang tepat, untuk menghindari sensor warna tidak
bisa mengambil data obyek yang didekatkan.
3. Supaya alat dapat bekerja dengan baik di berbagai tempat, diperlukan program
khusus kalibrasi warna agar ketika ingin digunakan, alat akan mengkalibrasi
warna menyesuaikan dengan intensitas cahaya pada tempat tersebut.
UNIVERSITAS SUMATERA
DAFTAR PUSTAKA
UNIVERSITAS SUMATERA
LAMPIRAN 1
PROGRAM ALAT
#include <Servo.h>
#include <LiquidCrystal_I2C.h>
#define motorDC 3
#define S0 8
#define S1 7
#define S2 9
#define S3 10
#define sensOut 11
UNIVERSITAS SUMATERA
const int gMaxMerah = 115;
const int bMinMerah = 75;
const int bMaxMerah = 90;
int r = 0;
int g = 0;
int b = 0;
Servo servoMerah;
Servo servoHijau;
void setup() {
pinMode(S0,OUTPUT);
UNIVERSITAS SUMATERA
pinMode(S1,OUTPUT);
pinMode(S2,OUTPUT);
pinMode(S3,OUTPUT);
pinMode(sensOut, INPUT);
lcd.init();
lcd.backlight();
servoMerah.attach(5);
servoHijau.attach(6);
servoMerah.write(tutupMerah);
servoHijau.write(tutupHijau);
pinMode(motorDC,OUTPUT);
analogWrite(motorDC,pwmDCmati);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Warna: ");
lcd.setCursor(0,1);
lcd.print("Ruang: ");
digitalWrite(S0,HIGH);
digitalWrite(S1,LOW);
}
void loop() {
digitalWrite(S2,LOW); //Aktifkan filter Merah
digitalWrite(S3,LOW);
r = pulseIn(sensOut,LOW);
UNIVERSITAS SUMATERA
digitalWrite(S2,HIGH); //Aktifkan filter hijau
digitalWrite(S3,HIGH);
g = pulseIn(sensOut,LOW);
if(((r >= rMinHijau) && (r <= rMaxHijau)) && ((g >= gMinHijau) && (g <=
gMaxHijau)) && ((b >= bMinHijau) && (b <= bMaxHijau))){
lcd.setCursor(7,0);
lcd.print(" ");
lcd.setCursor(7,1);
lcd.print(" ");
lcd.setCursor(7,0);
lcd.print("Hijau");
lcd.setCursor(7,1);
lcd.print("2");
analogWrite(motorDC,pwmDCmati);
delay(3000);
servoHijau.write(tutupHijau);
servoMerah.write(bukaMerah);
delay(1000);
analogWrite(motorDC,pwmDCaktif);
delay(5000);
analogWrite(motorDC,pwmDCmati);
}
if(((r >= rMinMerah) && (r <= rMaxMerah)) && ((g >= gMinMerah) && (g <=
gMaxMerah)) && ((b >= bMinHijau) && (b <= bMaxMerah))){
UNIVERSITAS SUMATERA
lcd.setCursor(7,0);
lcd.print(" ");
lcd.setCursor(7,1);
lcd.print(" ");
lcd.setCursor(7,0);
lcd.print("Merah");
lcd.setCursor(7,1);
lcd.print("1");
analogWrite(motorDC,pwmDCmati);
delay(3000);
servoHijau.write(bukaHijau);
servoMerah.write(tutupMerah);
delay(1000);
analogWrite(motorDC,pwmDCaktif);
delay(5000);
analogWrite(motorDC,pwmDCmati);
}
if(((r >= rMinBiru) && (r <= rMaxBiru)) && ((g >= gMinBiru) && (g <=
gMaxBiru)) && ((b >= bMinBiru) && (b <= bMaxBiru))){
lcd.setCursor(7,0);
lcd.print(" ");
lcd.setCursor(7,1);
lcd.print(" ");
lcd.setCursor(7,0);
lcd.print("Biru");
lcd.setCursor(7,1);
lcd.print("3");
analogWrite(motorDC,pwmDCmati);
delay(3000);
UNIVERSITAS SUMATERA
servoHijau.write(bukaHijau);
servoMerah.write(bukaMerah);
delay(1000);
analogWrite(motorDC,pwmDCaktif);
delay(5000);
analogWrite(motorDC,pwmDCmati);
}
if(((r >= rMinKosong) && (r <= rMaxKosong)) && ((g >= gMinKosong) &&
(g <= gMaxKosong)) && ((b >= bMinKosong) && (b <= bMaxKosong))){
lcd.setCursor(7,0);
lcd.print(" ");
lcd.setCursor(7,1);
lcd.print(" ");
lcd.setCursor(7,0);
lcd.print("Kosong");
lcd.setCursor(7,1);
lcd.print(" - ");
analogWrite(motorDC,pwmDCmati);
servoHijau.write(tutupHijau);
servoMerah.write(tutupMerah);
delay(250);
UNIVERSITAS SUMATERA
LAMPIRAN 2
GAMBAR ALAT
UNIVERSITAS SUMATERA
LAMPIRAN 3
GAMBAR RANGKAIAN LENGKAP
UNIVERSITAS SUMATERA
Lampiran 4
Gambar Standar Warna Internasional
UNIVERSITAS SUMATERA