Perancangan Diagram Alir Program Perangkat Lunak Software

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