supply 5 Volt DC sedangkan Ground GND adalah kaki 2, kaki 16 dan kaki ground
trimport.
Gambar 3.10 Rangkaian Skematik Konektor yang dihubungkan dari LCD ke Mikrokontroler
3.2 Perancangan Diagram Alir Program Perangkat Lunak Software
Diagram alir program ini terdiri dari dua bahagian, yaitu diagram alir program utama mikrokontroler dan diagram alir proses pembacaan warna benda oleh sensor
warna. Pada diagram alir program utama ini adalah berupa proses pengenalanpembacaan warna obyek dan meletakkan bendaobyek pada tempatnya.
Untuk lebih jelasnya, dibawah ini adalah diagram alir program utama dan diagram alir pembacaan warna.
1. Diagram alir program utama
Pada diagram alir program utama diatas menunjukkan cara kerja dari program. Mula-mula lengan berada pada posisi standardnormal, lalu motor conveyor jalan.
Ketika benda mengenai Infra Red yang berada di dalam ruang pembacaan warna maka motor konveyor berhenti. Ketika benda mengenai Infra Red posisi benda sudah tepat
di bawah sensor warna. Proses pembacaan warna akan lebih lanjut dijelaskan pada
diagram ali berikutnya. Setelah pembacaan warna dilakukan maka data warna dan warna no berapa benda ditampilkan pada LCD. Setelah ditampilkan maka motor
konveyor akan kembali berjalan membawa benda. Ketika benda mengenai Switch Sensor DFRobot Adjustable Infrared maka motor konveyor akan berhenti dan seketika
itu juga lengan akan menjepit benda pada gripper robot lalu meletakkan benda sesuai tempat yang telah ditentukan sebelumnya. Lengan robot kembali ke posisi
normaldefault motor konveyor kembali berjalan dan begitu seterusnya dilakukan sampai ke 16 warna tercapai.
Sensor Adjustable IR terkena objek
Mulai
Conveyer Jalan
Apakah IR mengenai
bendaobjek
Conveyer berhenti
Pembacaan data warna
sensor tcs Tampilkan data
warna objek pada display
Conveyer Jalan
Lengan mengambil objekbenda
Lengan meletakkan objek ke tempat
sesuai warna yang terbaca
Lengan ke posisi semula
selesai Tidak
Ya Tidak
Ya Conveyer berhenti
Gambar 3.11 Diagram alir program utama
2. Diagram alir pembacaan warna oleh sensor
Proses pengkalibrasian dilakukan dengan meletakkan bendaobyek warna putih di bawah lensa DT-SENSE COLOR SENSOR yang selanjutnya proses pengkalibrasian
disebut dengan white balance. Lalu letakkan lagi bendaobyek warna hitam di bawah lensa DT-SENSE COLOR SENSOR yang selanjutnya proses pengkalibrasian ini
disebut dengan Black balance. Proses pengkalibrasian ini dilakukan supaya menjadi referensi sensor warna putih dan warna hitam untuk pembacaan warna DT-SENSE
COLOR SENSOR. Setelah pembacaan warna putih dan hitam maka referensi disimpan pada EEPROM. Setelah itu dilakukan pembacaan warna RGB. Sensor akan
mengurangkan data warna R
p,
G
p
, B
p
dengan RGB
d
dengan nilai absolut. Setelah pembacaan maka akan dilakukan pembacaan alamat data satu persatu lalu
membandingkan komponen warnanya dengan data yang tersimpan pada EEPROM. Setelah dibandingkan, data warna yang paling kecil atau data yang mendekati dengan
nilai yang pertama maka sensor akan mengambil alamat data warna tersebut lalu ditampilkan hasilnya pada LCD yang sudah ditentukan warna tersebut sebelumnya.
Mulai Baca alamat
akhir Baca data
warna Rp,Gp,Bp
Kurangkan data warna Rp,Gp,Bp dengan RD,GD,BD
H_R = absRp-RD H_G = absGp-GD
H_B = absBp-BD
Hasil_awal = Hasil Simpan alamat hasil
awal
Alamat = alamat+1 Tambahkan Hasil RGB
Hasil = H_R+H_G+H_B Alamat=1
hasil awal=750
Tampilkan Rp,Gp,Bp, tampilkan
alamat yang dituju Hasil ≥ Hasil awal
Alamat = alamat akhir
Baca data warna RD ,GD, BD
pada alamat
selesai
Gambar 3.12 Diagram alir program pembacaan warna oleh sensor
BAB IV
PENGUJIANALAT DAN PEMBAHASAN
Pada bab ini,akan dibahas pengujian alat mulai dari pengujian alat pemodul sampai pengujian alat secara keseluruhan dan hasil pengukuran alat. Pengujian tersebut akan
dilakukan secara bertahap dengan urutan sebagai berikut:
4.1Pengujian Minimum Sistem
4.1.1 Pengujian Sistem Mikrokontroller AVR ATMEGA8535
Pada pengujian rangkaian mikrokontroller dilakukan percobaan yang sifatnya sederhana tapi dapat menunjukkan bekerja tidaknya minimum sistem pada rangkaian
tersebut.Percobaan tersebut adalah menghidupkan beberapa buah LED secara bergantian.Percobaan ini dilakukan pada IO portport A.Untuk menghidupkan LED
tersbut digunakan program sebagai berikut: while 1
{ Place your code here
PORTC =240
delay_ms100; PORTC=15
delay_ms100; };
} Jika Program tersebut dijalankan,maka LED akan hidup dan mati secara bergantian
seperti yang ditunjukkan oleh tabel sebagai berikut:
Tabel 4.1 Pengujian Mikrokontroler
LED1 LED2
LED3 LED4
LED5 LED6
LED7 LED8
Tahap1 ON OFF
ON OFF
ON OFF
ON OFF
Tahap2 ON OFF
ON OFF
ON OFF
ON OFF
4.1.2 Pengujian LCD
Pengujian LCD Liquid Crystal Display dilakukan untuk mengetahui apakah LCD yang akan digunakan berfungsi dengan baik atau tidak. Hal ini bertujuan agar LCD
yang digunakan pada sistem tampilan pembacaan data dalam kondisi baik dan dapat digunakan. Pengujian LCD ini dilakukan dengan mengisikan program pada
mikrokontroler lalu menampilkan beberapa karakter pada LCD. Berikut ini merupakan listing programnya:
Listing program Pengujian LCD
while 1 {
Place your code here lcd_gotoxy3,0;
lcd_putsfMartin; lcd_gotoxy3,1;
lcd_putsfFisika; delay_ms2000;
lcd_clear; };
}
Jika program di atas dijalankan maka di layar LCD akan tampil “Martin Fisika” pada koordinator x=3 dan y=0. Hal ini menunjukkan bahwa minimum sistem dan LCD
dapat berjalan dengan baik. Hal ini ditunjukkan pada tabel 4.2 dibawah ini
Tabel.4.2 Hasil pengujian LCD Masukan Pada Program
Keluaran pada LCD
Karakter Pada Program Baris 1
Baris 2 Martin
Martin -
Fisika -
Fisika
Gambar 4.1 Tampilan pada LCD
4.1.3 Pengujian Motor Servo
Pengujian motor servo ini bertujuan untuk mengetahui apakah motor servo berfungsi dengan baik atau tidak. Hal ini dilakukan agar pada saat perakitan sistem lengan robot
secara keselurahan motor servo yang digunakan berfungsi dengan baik dan tidak terjadi bongkar pasang atau penggantian motor servo saat seluruh sistem sudah
terpasang hal ini disebabkan oleh tingkat kerumitan sistem lengan tersebut.
Dalam pengujian ini, perlakuan yang diberikan untuk mengetahui baik atau tidak motor servo adalah dengan memasukkan program pada mikrokontroler
ATMega8535 dimana progam ini akan berfungsi sebagai perintah pada motor servo untuk bergerak dan jika motor servo bergerak ketika program dijalankan, maka motor
servo tersebut dalam keadaan baik dan dapat digunakan. Listing program untuk menguji motor servo adalah: Langkah pertama mengisikan program di bawah ini
kedalam interrupt TIMO_OVF seperti pada listing program di bawah ini:
interrupt [TIM0_OVF] void timer0_ovf_isrvoid {
Place your code here y++;
if y==900 {y=0;}
if y =derajat {PORTB.3=1;} else { PORTB.3=0;}
}
Kemudian, pada program bagian bawah diisikan tindakan atau perlakuan yang akan dilakukan pada motor servo. Seperti pada listing program di bawah ini :
while 1 {
Place your code here derajat=90;
delay_ms2500; derajat=30;
delay_ms2500; };
}
Pada pengujian ini, motor servo digerakkan berputar sejauh 90 derajat, kemudian motor servo berhenti selama 2500 mikro sekon dan kembali berputar sejau
30 derajat. Jadi, dari hasil pengujian motor servo yang diakukan dapat diambil kesimpulan bahwa motor servo tersebut dalam kondisi bagus dan dapat digunakan
pada sistem lengan robot.
Pada tabel 4.3 merupakan pengujian masukan lebar pulsa yang diberikan pada motor servo agar dapat berputar sesuai gerak yang diinginkan. Motor servo
didalamnya sudah ada sistem control yang dapat mengatur perputaran gerak motor, sehingga gerak motor dapat berputar ke kiri, tengah dan ke kanan sesuai lebar pulsa
yang diberikan.
Tabel.4.3 Input Pulse Width Serta Posisi Servo
Input Lebar Pulsa T=20 ms Posisi Servo
0,6 ms 20 ms
- 90
o
1,05 ms 20 ms
- 45
o
1,5 ms 14 ms
o
1,95 ms 20 ms
45
o
2,4 ms 20 ms
90
o
Perhitungan Overflow Interrupt yang digunakan untuk putaran servo, sehingga menghasilkan putaran yang diinginkan. Perhitungan menggunakan Kristal 16 MHz.
Sehingga:
T = 0,0000000625 s = 0,625 x 10
-6
s
Karena timer yang digunakan adalah 8 bit, maka akan menghasilkan 256 X, maka overflownya adalah: 256 x 0,625 x 10
-6
= 16 × 105 s. Seperti yang diketahui, secara teori servo motor memiliki lebar pulse sebesar 20 ms.
Tetapi pulse 14 ms sudah bisa menggerakkan servo dengan ketelitian yang relative. Berikut dibawah ini perhitungan pulse untuk derajat masing-masing motor servo
Untuk benda 1 Tapak : 156 x 16 × 10
-5
s = 2,5 ms ; Bahu : 96 x 16 × 10
-5
s = 1,53 ms ; Siku : 40 x 16 × 10
-5
s = 0,64 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 2 Tapak : 152 x 16 × 10
-5
s = 2,43 ms ; Bahu : 112 x 16 × 10
-5
s = 1,8 ms ; Siku : 60 x 16 × 10
-5
s = 0,96 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 3 Tapak : 138 x 16 × 10
-5
s = 2,2 ms ; Bahu : 116 x 16 × 10
-5
s = 1,85 ms ; Siku : 70 x 16 × 10
-5
s = 1,12 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 4 Tapak : 142 x 16 × 10
-5
s = 2,27 ms ; Bahu : 98 x 16 × 10
-5
s = 1,56 ms ; Siku : 38 x 16 × 10
-5
s = 0,60 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 5 Tapak : 98 x 16 × 10
-5
s = 1,56 ms ; Bahu : 90 x 16 × 10
-5
s = 1,44 ms ; Siku : 22 x 16 × 10
-5
s = 0,35 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 6 Tapak : 82 x 16 × 10
-5
s = 1,31 ms ; Bahu : 90 x 16 × 10
-5
s = 1,44 ms ; Siku : 22 x 16 × 10
-5
s = 0,35 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 7 Tapak : 66 x 16 × 10
-5
s = 1,05 ms ; Bahu : 90 x 16 × 10
-5
s = 1,44 ms ; Siku : 22 x 16 × 10
-5
s = 0,35 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 8 Tapak : 50 x 16 × 10
-5
s = 0,6 ms ; Bahu : 90 x 16 × 10
-5
s = 1,44 ms ; Siku : 22 x 16 × 10
-5
s = 0,35 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 9 Tapak : 38 x 16 × 10
-5
s = 0,608 ms ; Bahu : 100 x 16 × 10
-5
s = 1,6 ms ; Siku : 48 x 16 × 10
-5
s = 0,77 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms Untuk benda 10
Tapak : 24 x 16 × 10
-5
s = 0,38 ms ; Bahu : 112 x 16 × 10
-5
s = 1,8 ms ; Siku : 66 x 16 × 10
-5
s = 1,056 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 11 Tapak : 82 x 16 × 10
-5
s = 1,31 ms ; Bahu : 116 x 16 × 10
-5
s = 1,85 ms ; Siku : 70 x 16 × 10
-5
s = 1,12 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 12 Tapak : 70 x 16 × 10
-5
s = 1,12 ms ; Bahu : 116 x 16 × 10
-5
s = 1,85 ms ; Siku : 70 x 16 × 10
-5
s = 1,12 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 13 Tapak : 60 x 16 × 10
-5
s = 0,96 ms ; Bahu : 116 x 16 × 10
-5
s = 1,85 ms ; Siku : 70 x 16 × 10
-5
s = 1,12 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 14 Tapak : 52 x 16 × 10
-5
s = 0,83 ms ; Bahu : 120 x 16 × 10
-5
s = 1,92 ms ; Siku : 82 x 16 × 10
-5
s = 1,31 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 15 Tapak : 44 x 16 × 10
-5
s = 0,704 ms ; Bahu : 90 x 16 × 10
-5
s = 1,95 ms ; Siku : 82 x 16 × 10
-5
s = 1,31 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
Untuk benda 16 Tapak : 36 x 16 × 10
-5
s = 0,57 ms ; Bahu : 126 x 16 × 10
-5
s = 2,01 ms ;
DT-SENSE COLOR SENSOR DT-AVR LCMS
GND J3 pin 1 GND PORT C pin 1
VCC J3 pin 2 VCC PORT C pin 2
SDA J3 pin 5 PC.0 PORT C pin 3
SCL J3 pin 6 PC.1 PORT C pin 4
Siku : 88 x 16 × 10
-5
s = 1,408 ms ; Jari : 134 x 16 × 10
-5
s = 2,14 ms
4.1.4 Pengujian Sensor
Pengujian sensor mempunyai beberapa tahap atau prosedur yang dilakukan sebelum sensor digunakan pada perancangan alat. Berikut ini merupakan prosedur
pengujian sensor. Prosedur pengujian menggunakan program yang mendukung. 1. Hubungkan
DT-SENSE COLOR
SENSOR dan
DT-AVR LCMS
denganhubungan sebagai berikut.
2. Kemudian pasang jumper PULL-UP J4 untuk mengaktifkan pull-upkomunikasi
I
2
C. 3. Pasang semua jumper ADDRESS J1 sehingga alamat modul adalah E0H.
4. Hubungkan DT-AVR LCMS dan komputer dengan menggunakan kabelserial. 5. Hubungkan catu daya pada DT-AVR LCMS. LED pada DT-SENSE
COLORSENSOR akan menyala dan padam sebanyak 2 kali. Jika tidak, makaperiksa kembali catu daya yang digunakan dan periksa lagi polaritasnya.
6. Kemudian programlah TCS230.HEX ke dalam DT-AVR LCMSmenggunakan
DT-HiQ AVR In-System Programmer, DT-HiQ AVR USB ISP,atau programmer lainnya yang kompatibel.
7. Buka program DT-SENSE Color Sensor Tester.exe. 8. Pilih COM port yang digunakan dan tekan tombol OPEN.
9. Lakukan prosedur White Balance dengan meletakkan kertas berwarnaputih
polosdi bawah lensa DT-SENSE COLOR SENSOR dan tekan tombolWhite Balance
.LED pada DT-SENSE COLOR SENSOR akan menyalasebentar
kemudianpadam. Ketika LED padam, proses kalibrasi warnaputih sudah selesai. 10. Lalu lakukan prosedur Black Balance dengan meletakkan kertas berwarnahitam
polos di bawah lensa DT-SENSE COLOR SENSOR dan tekan tombolBlack Balance
. LED pada DT-SENSE COLOR SENSOR akan menyalasebentar kemudian padam. Ketika LED padam, proses kalibrasi warnahitam sudah selesai.
11. Selanjutnya, gantilah kertas itu dengan kertas berwarna apapun asalkanwarnanya
polos. Kemudian tekan tombol Read Color. Warna yangditampilkan pada layar
monitor menunjukkan warna hasil pembacaan DT-SENSE COLOR SENSOR.
12. Warna yang ditunjukkan pada program DT-SENSE Color Sensor Testerdapat
berbeda jauh dari warna aslinya. Hal ini dipengaruhi olehbeberapa hal, antara lain: tingkat kontras dan kecerahan layar monitoryang digunakan, tingkat
refleksivitas obyek, kondisi cahaya sekitar,ukuran obyek, dan jarak lensa ke
obyek. 13. Tekan tombol Clear Color untuk menghapus seluruh data warna yangmungkin
terdapat dalam DT-SENSE COLOR SENSOR. 14. Letakkan sebuah kertas berwarna polos di bawah lensa DT-SENSE
COLORSENSOR. Masukkan lokasi penyimpanan warna yang diinginkan antara
0hingga24 ke dalam kotak di atas tombol Save Color. Lalu tekan tombolSave Color
. 15. Lakukan langkah 14 dengan warna dan lokasi penyimpanan yangberbeda.
16. Setelah selesai menyimpan semua warna yang akan diuji, letakkan kembali salah satu kertas tersebut di bawah lensa DT-SENSE COLOR SENSOR dan tekan
tombol Get Color. 17. Jika ada data warna yang sesuai atau mendekati, kotak di bawah tombol Get
Color akan menunjukkan kode lokasi penyimpanan warna yang sebelumnya telah diisikan pada langkah 14 dan 15.
18. Jika tidak ada data yang cocok dengan warna yang dibaca, maka DT-SENSE COLOR SENSOR akan mencari warna yang paling mendekati warna yang
dibaca. Jika tidak ada warna yang sesuai atau mendekati warna-warna yang telah disimpan, maka kode lokasi akan bernilai 255. Jika tidak ada data warna yang
disimpan sebelumnya, maka kode lokasi juga akan bernilai 255.
4.2 Hasil Pengukuran Alat