• Tidak ada hasil yang ditemukan

Tugas Akhir Pencacah dan Penyortir Baut dan Mur Menggunakan Raspberry Pi

N/A
N/A
Protected

Academic year: 2022

Membagikan "Tugas Akhir Pencacah dan Penyortir Baut dan Mur Menggunakan Raspberry Pi"

Copied!
113
0
0

Teks penuh

(1)

i

Tugas Akhir

Pencacah dan Penyortir Baut dan Mur Menggunakan Raspberry Pi

Diajukan untuk memenuhi salah satu syarat memperoleh gelar sarjana Teknik pada

Program Studi Teknik Elektro

Disusun oleh

: Lidya Natalia NIM : 165114024

JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

2020

(2)

ii

Final Project

Bolts and Nuts Counter and Sorter using Raspberry Pi

In partial fulfillment of the requirments For the degree of Sarjana Teknik In Electrical Engineering Study Program

Faculty of Science and Technology Sanata Dharma University

Constructed by

: Lidya Natalia NIM : 165114024

DEPARTMENT OF ELECTRICAL ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA

2020

(3)

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

“Flying Without Wings”

Skripsi ini kupersembahkan untuk :

Almamaterku Teknik Elektro Universtas Sanata Dharma Yogyakarta

(4)

viii

INTISARI

Pencacah dan penyortir baut dan mur menggunakan Raspberry Pi yang dibuat dalam penelitian ini merupakan sebuah prototype yang menerapkan computer vision untuk mengenali baut dan mur dengan berbagai ukuran. Hasil pengenalan bentuk dan ukuran akan digunakan untuk melakukan proses pencacahan dan penyortiran yang akan ditampilkan dalam bentuk GUI. Prototype ini dapat membantu proses produksi pabrik supaya lebih efisien.

Penerapan Computer Vision dalam penelitian ini menggunakan mikrokontroler Raspberry Pi (RasPi). RasPi berperan sebagai komputer mini yang akan mengontrol sistem sesuai dengan input citra dari Webcam. Hasil dari analisa citra tersebut adalah nilai Euler Number yang akan menentukan bentuk dan nilai Area yang akan menentukan ukuran objek.

Terdapat masing-masing 3 ukuran baut dan mur yang akan dicacah dan disortir. Baut dan mur diletakkan pada tray sebagai perantara menuju conveyor. Pada tray terdapat motor dc sebagai penggetar supaya baut dan mur pada tray bisa bergerak menuju turbin pemisah baut dan mur agar bisa bergerak satu per satu menuju conveyor. Pada turbin, terdapat motor Stepper yang akan menggerakkan turbin bergerak memutar untuk menjatuhkan objek ke belt conveyor. Selanjutnya pada conveyor, belt digerakkan oleh motor dc 12V. Webcam akan meng-capture terus menerus untuk mendeteksi adanya baut atau mur pada conveyor. Jika objek terdeteksi, maka akan masuk pada pencacahan di GUI pada monitor dan servo akan menggerakkan gate mengarahkan objek yang dikenali pada wadah di bawah conveyor. Gate menyortir objek berdasarkan bentuk. Sedangkan pencacahan berdasarkan bentuk dan ukuran. Terdapat tiga kecepatan putar motor dc dalam menggerakkan belt conveyor yang dapat diatur dengan memutar rotary switch pada rangkaian pengatur tegangan.

Hasil penelitian setelah dilakukan pengujian real time masing-masing 306 kali dengan tray maupun tanpa tray menunjukkan, pengujian secara real time tanpa tray mencapai keberhasilan sebesar 85% dalam mencacah dan keberhasilan sebesar 99% dalam menyortir. Pengujian dengan tray mencapai keberhasilan sebesar 14% dalam mencacah dan keberhasilan sebesar 55% dalam menyortir.

Kata kunci : Baut, Mur, Raspberry Pi, Euler Number, Area

(5)

ix

ABSTRACT

Bolts and nuts counter and sorter using Raspberry Pi made in this research is a prototype that applies computer vision to recognize bolts and nuts with various size. The results of shape and size recognition will be used to process counting and sorting that will be showed in GUI. This prototype can help factory production process to be more efficient.

Computer Vision will be utilized using Raspberry Pi Microcontroller (RasPi). RasPi will act as mini computer that controls the mechanical system according to the image inputs obtained via Webcam. The end result of the computation is a value in Euler’s Number, which tells the shape and surface area, and in turn gives the total size of the object. There are 3 different sizes of the bolts and nuts that will be sorted and counted. First they will be placed on a tray, then they move from the tray to the turbine that will eventually lead to the conveyor belt. The turbine seperates the objects so they arrive at the belt each one at a time. The tray uses DC motor, while the turbine takes advantage of Stepper motor to move the objects in circular motion. Once in the conveyor belt, moved by 12VDC motor, the objects will enter scanning area where the Webcam will capture and process the images. The Webcam continuously scans the area and detects for objects. Once detected, it will be counted and shown on the monitor GUI. After that, the servo motor will move the gate and drop the object to the corresponding container below. The gate sorts the object based on the shape, meanwhile counting is based of shape and size. There are 3 speed settings in the 12 VDC motor that moves the belt, which can be configured using rotary switch on the volt regulator circuit.

The results after done the real time trial 306 times each with tray or without tray showed, real time trial without tray reached 85% success in counting and 99% success in sorting. Real time trial with tray reached 14% success in counting and 55% success in sorting.

Keywords : Bolt, Nut, Raspberry Pi, Euler Number, Area

(6)

xi

DAFTAR ISI

Tugas Akhir... i

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

PERNYATAAN KEASLIAN KARYA ... v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ... vi

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii

INTISARI ... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xiv

DAFTAR TABEL ... xvi

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Tujuan dan Manfaat Penelitian ... 2

1.3. Batasan Masalah ... 2

1.4. Metode Penelitian... 3

BAB II DASAR TEORI ... 4

2.1. Baut dan Mur ... 4

2.2. Raspberry Pi ... 5

2.3. Webcam ... 7

2.4. Conveyor ... 9

2.5. Motor Servo ... 10

2.6. Torsi/Momen Gaya ... 11

2.7. Sensor Infrared ... 12

2.8. Motor Stepper ... 13

2.9. Python ... 14

2.10. Computer Vision ... 14

2.11. Pengolahan Citra Digital ... 14

2.11.1. Grayscale ... 15

2.11.2.Segmentasi ... 16

2.11.3.Konversi Citra Grayscale ke Citra Biner ... 17

2.11.4.Median Filtering ... 20

(7)

xii

2.11.5.Kontur ... 21

2.11.6.Euler Number ... 22

2.11.7.Area ... 23

BAB III Rancangan Penelitian ... 24

3.1. Perancangan Sistem Secara Umum ... 24

3.2. Perancangan Mekanik ... 25

3.2.1.Desain Keseluruhan Sistem ... 25

3.2.2.Perancangan Conveyor ... 27

3.2.3.Perancangan Tray ... 28

3.3. Perancangan Perangkat Keras (Hardware) ... 29

3.3.1.Wiring Motor Servo dengan Raspberry Pi ... 30

3.3.2.Wiring Relay, Motor DC dan Power Supply ... 30

3.3.3.Wiring ULN2003 ... 31

3.3.4.Wiring Sensor Infrared ... 31

3.4. Perancangan Perangkat Lunak (Software) ... 31

3.4.1.Flowchart Utama ... 32

3.4.2.Flowchart Akuisisi Citra ... 36

3.4.3.Flowchart Image Preprocessing ... 36

3.4.4.Flowchart Segmentasi Citra ... 38

3.4.5.Flowchart Pengenalan Bentuk Benda ... 39

3.4.6.Flowchart Pengenalan Ukuran Benda ... 40

3.4.7.Flowchart Proses Pergerakan Servo Gate ... 42

3.4.8.GUI pada Python ... 44

BAB IV HASIL DAN PEMBAHASAN ... 46

4.1. Perubahan Perancangan ... 46

4.1.1.Dinding Penghalang Cahaya ... 46

4.1.2.Penambahan Motor DC ... 47

4.1.3.Penggantian Motor DC 5V menjadi Motor DC 12V ... 47

4.1.4.Pemindahan Posisi Webcam ... 47

4.1.5.Perubahan Pada Metode Pendeteksian Objek ... 48

4.2. Implementasi Perangkat Keras ... 48

4.2.1.Tray ... 49

4.2.2.Turbin ... 50

4.2.3.Conveyor ... 51

4.3. Implementasi Perangkat Lunak ... 51

4.3.1. Image Preprocessing ... 52

(8)

xiii 4.3.2. Pengenalan Bentuk Benda 522

4.3.3. Pengenalan Ukuran Benda ... 53

4.3.4. Penambahan Threading ... 533

4.3.5. Implementasi GUI ... 54

4.4. Hasil Pengamatan Sistem ... 56

4.4.1.Pengujian Secara Real Time ... 58

4.4.2.Pengujian Secara Non Real Time ... 63

4.4.3.Data Waktu Pencacahan dan Penyortiran ... 65

4.4.4.Pengatur Tegangan ... 65

4.4.5.Analisis Perbandingan Pengujian dengan Tray dan Tanpa Tray ... 66

4.5. Catatan Dalam Metode Penelitian ... 67

BAB V KESIMPULAN DAN SARAN... 69

5.1. Kesimpulan ... 69

5.2. Saran ... 69

DAFTAR PUSTAKA ... 70 LAMPIRAN 1 ... L-1 A. FLOWCHART UTAMA ... L-1 B. FLOWCHART LOGIKA PENDETEKSIAN OBJEK ... L-3 LAMPIRAN 2 RANGKAIAN HARDWARE ... L-6 A. Rangkaian Pengatur Tegangan ... L-6 B. Rangkaian Penggetar Tray ... L-6 LAMPIRAN 3 DATA YANG DIPEROLEH ... L-7 A. Data Pengujian Tanpa Tray ... L-7 B. Data Pengujian Dengan Tray ... L-15 LAMPIRAN 4 DATA ERROR SENSOR INFRARED ... L-29 LAMPIRAN 5 DATA AREA UNTUK MENENTUKAN RANGE AREA TIAP

OBJEK ... L-30 LAMPIRAN 6 LISTING PROGRAM ... L-32

(9)

xiv

DAFTAR GAMBAR

Gambar 2.1. Baut dan Mur ... 4

Gambar 2.2. Raspberry Pi 4... 5

Gambar 2.3. GPIO Pin ... 7

Gambar 2.4. Webcam ... 8

Gambar 2.5. Conveyor... 9

Gambar 2.6. Motor Servo ... 10

Gambar 2.7. Skema Pulsa Kendali Motor Servo ... 11

Gambar 2.8. Penguraian Vektor Gaya ... 12

Gambar 2.9. Komponen Modul Sensor Infrared ... 12

Gambar 2.10. Prinsip Kerja Motor Stepper ... 13

Gambar 2.11. Skema Rangkaian Driver Motor Stepper ... 13

Gambar 2.12. Logo Python... 14

Gambar 2.13. Matriks Citra Digital ... 15

Gambar 2.14. Citra Grayscale ... 16

Gambar 2.15. Citra Biner yang Telah Diimplementasi Bounding Box ... 17

Gambar 2.16. Citra Grayscale Sebelum Dikonversi ... 17

Gambar 2.17. Citra Biner ... 18

Gambar 2.18. Hasil Konversi ke Citra Biner dengan Nilai Ambang yang Berbeda ... 18

Gambar 2.19. Median Filtering (a) input (b) output ... 20

Gambar 2.20. a) Kontur Terbuka, (b) Kontur Tertutup ... 21

Gambar 2.21. Objek untuk Perhitungan Euler Number ... 22

Gambar 2.22. Area Objek Persegi ... 23

Gambar 3.1. Blok Diagram Proses Kerja Alat ... 25

Gambar 3.2. Visualisasi Sistem ... 26

Gambar 3.3. Dimensi Desain (Tampak Atas)... 26

Gambar 3.4. Dimensi Desain (Tampak Samping) ... 27

Gambar 3.5. Gambaran Cara Kerja Conveyor ... 27

Gambar 3.6. Tray ... 28

Gambar 3.7. Wiring Keseluruhan Alat ... 29

Gambar 3.8. Flowchart Utama ... 32

Gambar 3.9. Flowchart Akuisisi Citra. ... 36

Gambar 3.10. Flowchart Image Preprocessing ... 37

Gambar 3.11. Flowchart Segmentasi Citra ... 38

Gambar 3.12. Flowchart Proses Pengenalan Benda ... 39

Gambar 3.13. Flowchart Proses Pengenalan Ukuran Baut ... 40

(10)

xv

Gambar 3.14. Flowchart Proses Pengenalan Ukuran Mur ... 41

Gambar 3.15. Flowchart Proses Pergerakan Servo Gate (Baut) ... 42

Gambar 3.16. Flowchart Proses Pergerakan Servo Gate (Mur) ... 43

Gambar 3.17. Perancangan GUI ... 44

Gambar 4.1. Pernghalang Cahaya di Sekitar Webcam ... 46

Gambar 4.2. Perubahan Posisi Webcam ... 47

Gambar 4.3. Hasil Implementasi Hardware Keseluruhan ... 49

Gambar 4.4. Tray ... 49

Gambar 4.5. Turbin ... 50

Gambar 4.6. Tampilan Keseluruhan Conveyor ... 51

Gambar 4.7. Inisialisasi Header ... 51

Gambar 4.8. Inisialisasi Global ... 51

Gambar 4.9. Implementasi Image Preprocessing ... 52

Gambar 4.10. Size ROI ... 52

Gambar 4.11. Implementasi Euler Number ... 53

Gambar 4.12. Implementasi Area ... 53

Gambar 4.13. Threading ... 53

Gambar 4.14. Tampilan Awal GUI ... 54

Gambar 4.15. Tampilan Citra Grayscale ... 54

Gambar 4.16. Tampilan Citra Biner ... 54

Gambar 4.17. Pembuatan GUI ... 55

Gambar 4.18. Program Inisialisasi Button Pada GUI ... 55

Gambar 4.19. Implementasi Variabel “Recording” ... 56

Gambar 4.20. Tampilan sebelum ada objek masuk (a) grayscale (b) biner ... 58

Gambar 4.21. Tampilan setelah ada objek masuk (a) grayscale (b) biner ... 58

Gambar 4.22. Contoh Tampilan GUI Saat Objek Tercacah ... 58

Gambar 4.23. Tray Tidak Bisa Mengeluarkan Objek Satu Per Satu ... .67

Gambar 4.24. Tampilan Pengaruh Lux Kurang Dari 20 ... .68

Gambar 4.25. Tampilan Pengaruh Lux Lebih Dari 60 ... .68

(11)

xvi

DAFTAR TABEL

Tabel 2.1. Tabel Keterangan Gambar ... 4

Tabel 2.2. Ukuran Baut dan Mur ... 5

Tabel 2.3. Spesifikasi Webcam C170 ... 8

Tabel 2.4. Teknik Median Filtering ... 20

Tabel 2.5. Keterangan GUI ... 45

Tabel 4.1. Keterangan Implementasi Hardware Keseluruhan ... 48

Tabel 4.2. Range Area Tiap Objek ... 59

Tabel 4.3. Data Proses Pencacahan dan Penyortiran Baut dan Mur Tanpa Tray Menggunakan Kecepatan 11 rpm ... 59

Tabel 4.4. Data Proses Pencacahan dan Penyortiran Baut dan Mur Tanpa Tray Menggunakan Kecepatan 8,5 rpm ... 60

Tabel 4.5. Data Proses Pencacahan dan Penyortiran Baut dan Mur Tanpa Tray Menggunakan Kecepatan 3,5 rpm ... 61

Tabel 4.6. Data Proses Pencacahan dan Penyortiran Baut dan Mur dengan Tray Menggunakan Kecepatan 11 rpm ... 62

Tabel 4.7. Data Proses Pencacahan dan Penyortiran Baut dan Mur dengan Tray Menggunakan Kecepatan 8,5 rpm ... 62

Tabel 4.8. Data Proses Pencacahan dan Penyortiran Baut dan Mur dengan Tray Menggunakan Kecepatan 3,5 rpm ... 63

Tabel 4.9. Tabel Pengujian Non Real Time ... 64

Tabel 4.10. Tabel Data Waktu Pencacahan dan Penyortiran ... 65

Tabel 4.11.Tabel Perbandingan Tegangan Seharusnya dan Tegangan Terukur ... 66

Tabel 4.12. Perbandingan Pengujian dengan Tray dan Tanpa Tray dengan kecepatan 11 rpm ... 66

Tabel 4.13. Perbandingan Pengujian dengan Tray dan Tanpa Tray dengan kecepatan 8,5 rpm ... 66

Tabel 4.14. Perbandingan Pengujian dengan Tray dan Tanpa Tray dengan kecepatan 3,5 rpm ... 66

(12)

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Baut dan Mur menjadi bagian yang tak terpisahkan dengan kebutuhan sehari-hari mulai dari professional yang bekerja dengan alat teknik maupun keperluan rumah tangga yang membutuhkan baut dan mur[1]. Banyak sekali ukuran baut dan mur yang terdapat di pasaran, dari ukuran yang besar, menengah, hingga kecil. Tentu saja hal tersebut berpengaruh terhadap proses penyortiran di pabrik baut dan mur. Manusia membutuhkan suatu peralatan yang dapat menunjang kegiatan penyortiran di pabrik dan dapat bekerja secara otomatis, teliti, dan tidak cepat lelah. Kemajuan teknologi dapat menjadi jawaban atas kebutuhan manusia tersebut.

Baut merupakan suatu batang atau tabung yang membentuk alur heliks atau tangga spiral pada permukaannya dan mur adalah pasangannya yang berperan sebagai pengikat.

Fungsi utama baut dan mur adalah menggabungkan beberapa,komponen sehingga tergabung menjadi satu bagian yang memiliki sifat tidak permanen[2]. Baut dan mur tersedia dalam berbagai ukuran dan tipe. Baut dan mur sering digunakan dalam aktivitas bengkel seperti dalam pembuatan alat dan robot serta kendaraan maupun konstruksi lainnya. Ada jenis baut dan mur yang sering digunakan pada kegiatan konstruksi, otomotif maupun lainnya sesuai dengan kebutuhannya.

Untuk mempercepat proses produksi pada pabrik, dibuatlah pencacah dan penyortir baut dan mur untuk membantu pihak industri dalam menyortir dan mencacah baut dan mur.

Selain itu, alat ini juga dapat menghemat biaya produksi karena proses penyortiran dan pencacahan sudah dilakukan secara otomatis dan tidak lagi memerlukan pekerja. Alat ini dibuat dengan mengangkat Computer Vision sebagai akar berjalannya program. Computer Vision adalah ilmu dan teknologi mesin yang melihat, di mana lihat dalam hal ini berarti bahwa mesin mampu mengekstrak informasi dari gambar yang diperlukan untuk menyelesaikan tugas tertentu[3].

Penelitian mengenai pengenalan benda dengan menggunakan Euler Number telah dilakukan oleh Nugroho [4] dengan menggunakan Bahasa pemrograman Matlab, dan Lengan Robot sebagai pemisah benda. Pada penelitian ini, peneliti ingin membuat pencacah

(13)

dan penyortir baut dan mur dengan menggunakan Bahasa pemrograman Phyton, dan conveyor

dibantu oleh tray yang digerakkan oleh motor Stepper dan gate yang digerakkan oleh motor servo sebagai pemisah benda.

Dengan adanya alat ini, sistem pencacahan dan penyortiran baut dan mur dapat dikerjakan secara otomatis sehingga pengguna dapat hanya meletakkan baut dan mur yang akan dicacah satu per satu dan alat akan menjalankan tugasnya. Alat ini didukung oleh tray untuk mengeluarkan baut dan mur satu per satu, conveyor yang akan menjalankan baut dan mur dan disortir dengan bantuan gate penghalang dari motor servo.

1.2. Tujuan dan Manfaat Penelitian

Tujuan dari penelitian ini adalah:

1. Untuk membuat prototype sistem pencacah dan penyortir baut dan mur dengan menggunakan tray, conveyor, dan gate dan diproses oleh Raspberry Pi 4.

Manfaat dari penelitian ini adalah:

1. Untuk industri:

Membantu pihak industri dalam mencacah dan menyortir baut dan mur ukuran M5x16, M6x20, M8x25.

2. Untuk Universitas Sanata Dharma:

Menyediakan prototype yang bisa digunakan untuk bahan acuan dalam mengembangkan computer vision di bidang kendali.

1.3. Batasan Masalah

Peneliti menetapkan batasan masalah dalam penelitian ini, antara lain:

1. Menggunakan 3 ukuran untuk baut dan mur yaitu M5x16, M6x20, M8x25.

2. Menggunakan Webcam Logitech C170 untuk mengcapture benda dan dihubungkan dengan software python.

3. Menggunakan Raspberry Pi 4.

4. Posisi peletakan camera terkunci.

5. Warna background yang digunakan adalah hitam.

6. Menggunakan tray, conveyor, dan servo sebagai penunjang penyortiran.

7. Servo digunakan untuk menggerakkan gate penghalang baut atau mur.

(14)

8. Menggunakan 2 sensor infrared, yang pertama untuk mendeteksi objek untuk dicapture dan sensor kedua untuk mendeteksi objek ketika sudah mendekati gate.

1.4. Metode Penelitian

Berdasarkan pada tujuan yang ingin dicapai, metode-metode yang digunakan dalam penyusunan tugas akhir adalah:

Langkah-langkah pengerjaan penelitian ini adalah sebagai berikut:

a. Pengumpulan referensi dari sumber-sumber terpercaya seperti jurnal, modul, dan website yang membahas tentang pemrosesan citra, pemrograman python, perancangan conveyor, Raspberry Pi, dan buku-buku penunjang lainnya.

b. Perancangan hardware untuk mendesain alur pergerakan dari awal input sampai pada output di akhir sistem pencacah dan penyortir baut dan mur. Pada bagian ini juga turut mendesain visual sistem beserta wiring sistem yang diperlukan.

c. Perancangan software disertai eksperimen pada program untuk mencari logika yang tepat dalam pembuatan model sistem melalui program. Perancangan Flowchart untuk memrogram Python.

d. Pembuatan software menggunakan software python yang akan diupload ke Raspberry Pi 4 dengan mengacu pada Flowchart yang telah dibuat.

e. Pembuatan hardware yaitu rangkaian dari input pada tray, conveyor, kemudian di- capture melalui Webcam dan diolah oleh Raspberry Pi 4. Selanjutnya Raspberry Pi 4 menggerakkan gate sebagai penyortir baut dan mur. Terakhir baut dan mur yang telah dicapture dicacah dan ditampilkan hasil cacahannya pada gui di laptop.

f. Pengambilan data untuk hasil pengujian alat dan program yang sudah dirancang.

Pengambilan data dilakukan untuk mencari data setiap objek, dan melihat tanggapan sistem dan keakuratan sistem dalam mencacah dan menyortir objek ketika kecepatan conveyor nya diubah. Data diambil ketika sistem menggunakan tray dan tidak menggunakan tray. Pengujian alat yang sudah dibuat dengan melihat kinerja alat dan akurasi yang dihasilkan.

g. Analisis untuk menyelidiki hasil berdasarkan data dan percobaan yang telah dilakukan. Kemudian ditarik kesimpulan berdasarkan persentase keberhasilan alat dalam menyortir dan mencacah baut dan mur. Analisis dan kesimpulan hasil percobaan didapat dari melihat persentase keberhasilan program saat mencacah baut dan mur, serta persentase keberhasilan alat dalam menyortir baut dan mur.

(15)

4

BAB II DASAR TEORI

Pada bab ini akan dibahas mengenai landasan - landasan teori yang dibutuhkan dalam pembuatan tugas akhir “Pencacah dan Penyortir Baut dan Mur Menggunakan Raspberry Pi”.

2.1. Baut dan Mur

Gambar 2.1. Baut dan Mur Tabel 2.1. Tabel Keterangan Gambar

Kode Ukuran

a M8x25

b M6x20

c M5x16

d M8

e M6

f M5

Terdapat banyak sekali ukuran baut dan mur termasuk bentuk kepala baut yang bermacam-macam di pasaran. Baut yang akan digunakan pada penelitian kali ini adalah baut biasa. Baut biasa berbentuk segi enam biasa. Baut biasa terbuat dari besi biasa. Adapun aneka ukuran baut dan mur di pasaran antara lain M 3,5; M 7; M 14; M 18, M 22; M 27, dan M 33 [5].

(16)

Cara membaca ukuran baut dan mur adalah sebagai berikut: Misalnya ukuran baut adalah M7 x 40. Maka, diameter baut tersebut adalah 7 mm, dan panjang badannya 40 mm.

Contoh baut dan mur yang digunakan dalam penelitian ini dapat dilihat pada Gambar 2. 1., beserta keterangan pada Tabel 2.1., sedangkan tabel ukuran baut dan mur yang digunakan dalam penelitian ini dapat dilihat pada Tabel 2.2.

Tabel 2.2. Ukuran Baut dan Mur

d1 k (mm) e (mm) s (mm)

M8 5,3 16 14

M6 4,5 12,5 10,5

M5 3,5 9,5 9

2.2. Raspberry Pi

Raspberry Pi adalah modul mikro komputer yang mempunyai input output port digital seperti pada board mikrokontroler. Akan tetapi berbeda dengan mikrokontroler, untuk menggunakan Raspberry Pi kita memerlukan operating system.

Gambar 2.2. Raspberry Pi 4[6]

Operating system yang banyak dipakai Raspberry Pi antara lain Linux. Beberapa model Raspberry Pi adalah Raspberry Pi type A ,A+ Raspberry Pi type B.,B+ Raspberry Pi

(17)

2,Rasberry Pi 3,Raspberry Pi zero [7]. Raspberry Pi yang digunakan pada penelitian ini adalah Raspberry Pi 4. Gambar 2.2. menunjukkan Raspberry Pi yang digunakan pada penelitian ini.

Dalam Raspberry Pi dikenal istilah WiringPi yaitu library untuk akses GPIO yang ditulis dalam Bahasa C. Pengguna dapat dengan mudah mengakses semua pin I/O dari Raspberry Pi dengan menggunakan header pada WiringPi. Dengan WiringPi juga bisa mengakses komunikasi SPI, I2C, dan serial. Untuk memastikan WiringPi dapat membaca semua pin pada Raspberry Pi, digunakan perintah GPIO Readall. Penggunaan WiringPi pada header PWM mampu mengeluarkan sinyal PWM pada setiap pin GPIO Raspberry Pi. Oleh karena itu, WiringPi dapat digunakan untuk mengontrol motor servo.

Berikut Spesifikasi Lengkap Raspberry Pi 4:

a. Broadcom BCM2711 processor 1.5 GHz quad-core 64-bit Arm Cortex-A72 CPU (performa 3 kali lebih baik dari Rpi 3)

b. LPDDR4 SDRAM dengan varian 1GB, 2GB, atau 4GB c. Full-throughput Gigabit Ethernet

d. Dual-band 802.11ac wireless networking e. Bluetooth 5.0

f. Dukungan dual monitor, pada resolusi hingga 4K g. Grafis VideoCore VI, mendukung OpenGL ES 3.x h. 4Kp60 hardware decode of HEVC video

i. Kompabilitas penuh dengan produk Raspberry Pi sebelumnya j. VideoCore 6 GPU

k. 1GB, 2GB, or 4GB of RAM

l. MicroSD card reader sebagai penyimpanan m. 2 x USB 3.0 ports

n. 2 x USB 2.0 ports

o. 1 x USB Type-C port (untuk daya) p. 2 x micro HDMI 2.0 ports

q. Gigabit Ethernet r. 3.5mm audio jack s. 802.11ac WiFi

(18)

t. 40-pin connector

Berikut tampilan GPIO pin yang terdiri dari 40 pin dengan fungsi pada Gambar 2.3.

Gambar 2.3. GPIO pin [7]

2.3. Webcam

Webcam atau web camera berfungsi sebagai perangkat keras berupa kamera digital yang dihubungkan ke komputer atau laptop. Webcam terdiri dari sebuah lensa standar untuk menangkap sinyal gambar, casing (cover), termasuk casing depan dan casing samping untuk

(19)

menutupi lensa standar dan memiliki sebuah lubang lensa di casing depan yang berguna untuk memasukkan gambar, dan kabel support, yang dibuat dari bahan yang fleksibel.

Gambar 2.4. Webcam [8]

Sebuah web camera mempunyai Frame rate. Frame rate berguna untuk mengindikasikan jumlah gambar sebuah software dapat mengambil dan transfer dalam satu detik. Untuk streaming video, dibutuhkan minimal 15 frame per second (fps) atau idealnya 30 fps. Webcam c170 mempunyai frame rate 30 fps [8].

Gambar Webcam Logitech C170 seperti pada Gambar 2.4. Spesifikasi Webcam C170 dapat dilihat pada Tabel 2.3.

Tabel 2.3. Spesifikasi Webcam C170 [8].

Performance Design

Megapixel 5 MP Interface USB 2.0

Maximum Video Resolution

640 x 480 pixels USB Powered Yes

Full HD No Packaging Content

Face Tracking Yes LCD Clamp Yes

Photo Feature Yes Laptop Clamp Yes

Maximum Image Resolution

1024 x 768 pixels Manual Yes

Zoom Capability Yes Other Features

Motion Sensor Yes Minimum Processor 1 Ghz

Noise Reduction Yes Minimum Hard

Disk Space

200 MB

Plug and Play Yes Minimum RAM 512 MB

(20)

2.4. Conveyor

Gambar 2.5. Conveyor

Conveyor adalah sebuah alat yang digunakan untuk memindahkan sejumlah benda dari suatu tempat ke tempat lain secara kontinu berapapun jumlahnya[9]. Prinsip kerja alat ini adalah memindahkan material apa saja yang ada di atas belt. Kemudian, setibanya umpan di head, maka material akan ditumpahkan lantaran belt bergerak berbalik arah. Belt conveyor sendiri bisa bergerak karena digerakkan oleh drive roll yang memakai motor penggerak.

Drive roll tersebut akan menarik belt conveyor memanfaatkan gesekan antara permukaan drum dan belt dengan kapasitas yang bergantung dengan gaya gesekannya. Pada umumnya, conveyor terdiri atas bagian-bagian seperti yang ditunjukkan pada Gambar 2.5. dan penjelasannya sebagai berikut [10]:

1. Belt

Sabuk memanjang pada conveyor yang berfungsi untuk membawa material yang diangkut. Belt bergerak dan dengan demikian material juga akan ikut bergerak.

2. Drive Roll

Drive roll berfungsi sebagai penggerak belt conveyor. Drive roll juga berfungsi sebagai titik putar bagian depan conveyor.

(21)

3. Tail Roll

Tail roll merupakan ujung dari belt conveyor dan bergerak mengikuti drive roll. Tail roll berfungsi sebagai titik balik pada conveyor.

4. Frame

Frame adalah kerangka yang terbuat dari konstruksi baja dan berfungsi untuk menyangga semua susunan belt conveyor. Frame memastikan belt bisa berjalan stabil tanpa gangguan.

5. Motor Penggerak

Motor penggerak yang digunakan untuk mengatur kebutuhan pergerakan conveyor seperti percepatan pada conveyor atau arah gerakan conveyor. Dalam penelitian ini, penulis menggunakan motor DC 12 V.

2.5. Motor Servo

Gambar 2.6. Motor Servo [11]

Motor servo adalah jenis motor DC yang digunakan untuk penggerak karena memiliki kemampuan dapat berputar searah jarum jam dan berlawanan arah jarum jam[11].

Motor servo didukung oleh sistem umpan balik tertutup yang terdiri dari sebuah motor DC, serangkaian gear, rangkaian kontrol, dan juga potensiometer. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo seperti 0 derajat, 90 derajat, 180 derajat dan 360 derajat.. Sementara sudut sumbu motor servo dapat diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel servo itu sendiri. Oleh karena itu motor servo dapat berputar searah dan berlawanan arah jarum jam. Motor servo dan bagian-bagiannya

(22)

ditunjukkan oleh Gambar 2.6. Gambar skema pulsa kendali motor servo ditunjukkan oleh Gambar 2.7.

Gambar 2.7. Skema Pulsa Kendali Motor Servo[11].

Motor servo bekerja dengan baik ketika diberi sinyal PWM frekuensi 50 Hz. PWM atau Pulse Width Modulation adalah sebuah cara memanipulasi lebar sinyal yang

dinyatakan dengan pulsa dalam suatu perioda untuk mendapatkan tegangan rata-rata yang berbeda. Cara mengatur lebar pulsa dalam suatu perioda gelombang dengan pemberian besar sinyal referensi output dari suatu PWM akan didapatkan duty cycle yang diinginkan.

Rumus untuk menentukan sudut denga duty cylcle dapat dilihat pada persamaan 2.

Duty cycle = (sudut/18)+2.5 (2.1)

2.6. Torsi/Momen Gaya

Penyebab berputarnya benda dalam gerak rotasi adalah torsi (τ) atau momen gaya.

Besarnya torsi atau momen gaya tergantung pada gaya yang dikeluarkan dan lengan momennya. Gambar penguraian vektor gaya yang bekerja pada lengan dapat dilihat pada Gambar 2.8. Secara matematis, rumus momen gaya dapat dilihat pada persamaan 2.1.

τ = F r sin ϴ (2.1.)

Keterangan :

τ = Torsi (N.m)

(23)

F = gaya (N), F= m x g L atau r = lengan gaya (m)

ϴ = sudut antara lengan gaya (m) dan gaya (F)

Gambar 2.8. Penguraian Vektor Gaya [12]

2.7. Sensor Infrared

Gambar 2.9. Komponen Modul Sensor Infrared

Sensor Infrared adalah sebuah modul yang bekerja sebagai alat pendeteksi yang terdiri dari sensor infrared dan photodioda. Sensor ini mempunyai dua komponen utama yaitu IR Emitter dan IR Receiver. Cara kerja sensor ini adalah ketika emitter memantulkan infrared ke objek di depannya kemudian akan dipantulkan ke receiver. Oleh karena itu, ketika infrared tidak mengenai objek, kondisinya akan HIGH, sedangkan ketika infrared mengenai objek, kondisinya akan LOW. Sensor infrared memiliki tegangan kerja 3V – 5V.

Komponen modul sensor infrared dapat dilihat pada Gambar 2.9.

(24)

2.8. Motor Stepper

Motor Stepper adalah motor yang dapat mengubah pulsa listrik menjadi gerakan motor discret atau yang disebut dengan step. Satu putaran motor adalah 3600 dengan jumlah langka yang tertentu per derajatnya. Prinsip kerja motor Stepper dapat dilihat pada Gambar 2.10.

Gambar 2.10. Prinsip Kerja Motor Stepper

Mengontrol derajat putaran berarti kita membagi rotasi penuh motor menjadi beberapa step. Garis biru melingkar adalah satu putaran penuh sedangkan pada gambar terlihat step yang digunakan adaah 450 sehingga untuk mencapai satu putaran penuh kita memerlukan 8 step.

Dalam penelitian ini, diperlukan sebuah driver untuk menggerakkan motor Stepper dikarenakan arus dan tegangan yang dikeluarkan oleh Raspberry Pi terlalu kecil. Driver yang digunakan adalah IC ULN2003.

Gambar 2.11. Skema Rangkaian Driver Motor Stepper

(25)

ULN2003 mempunyai resistor input serial yang dapat dipilih untuk operasi TTL atau CMOS 5 V. Di dalam IC terdapat 7 buah rangkaian transistor darlington yang logika kerjanya seperti gerbang NOT.

2.9. Python

Python adalah Bahasa pemrograman tinggi yang sering digunakan pada dunia perteknikan. Bahasa pemrograman Python lebih sederhana dari Bahasa pemrograman pada umumnya karena menggunakan Bahasa Inggris[13]. Pada penelitian ini, peneliti menggunakan Python 3 yang sudah diperbaharui dari Python sebelumnya yaitu Python 2.

Logo Python ditunjukkan pada Gambar 2.11.

Gambar 2.12. Logo Python

2.10. Computer Vision

Computer vision adalah suatu ilmu yang memungkinkan suatu komputer dapat melihat lingkungan sekitarnya dan kemudian mengolah citra yang dilihat atau melakukan perintah tertentu terhadap citra tersebut [14]. Computer vision berfokus pada bidang sistem kecerdasan buatan dan berhubungan dengan akuisisi citra dan pemrosesan citra. Dalam penelitian ini, peneliti menggunakan perpustakaan OpenCV dalam mengolah gambar atau video.

Saat ini, di bidang industri sudah banyak diterapkan computer vision. Salah satu contoh dalam penerapan computer vision di bidang industri adalah pencacah dan penyortir barang.

2.11. Pengolahan Citra Digital

Citra adalah suatu data dua dimensi atau yang biasa didefinisikan dengan f(x,y) yang merupakan suatu fungsi derajad keabuan, dengan x dan y adalah koordinat spasial (plane).

Citra digital mempunyai nilai x, y, dan f yang berhingga dan diskrit dengan nilai M baris

(26)

dan N kolom [14]. Nilai ini mempunyai nilai elemen berhingga atau yang biasa disebut dengan picture element, image element, pels, dan pixels. Citra digital disajikan dalam bentuk matriks dapat dilihat pada persamaan 2.2. dan posisi dapat dilihat pada Gambar 2.12.

Gambar 2.13. Matriks Citra Digital [14]

f(x,y) = [

f(0,0) f(0,1) ⋯ f(0, N − 1)

f(1,0) f(1,1) ⋯ f(1, N − 1)

⋮ ⋮ ⋮

f(M − 1,0) f(M − 1,1) ⋯ f(M − 1, N − 1) ]

(2.2.)

Keterangan :

M = Banyak pixel per baris N = Banyak pixel per kolom

Dalam suatu citra, dikenal istilah noise yang bisa terjadi saat pengambilan citra.

Noise adalah suatu gangguan yang tidak diinginkan dalam pengambilan citra. Faktor utama pada citra adalah level pencahayaan dan suhu sensor. Noise perlu dihilamgkan untuk mendapatkan kualitas citra yang lebih baik.

2.11.1. Grayscale

Untuk menyederhanakan model citra dilakukan pengubahan citra berwarna menjadi citra grayscale. Sebelum diubah, citra terdiri dari 3 layer yaitu R-layer, G-layer dan B-layer.

(27)

Selanjtunya, tiga layer tersebut diubah menjadi 1 layer, yaitu citra grayscale sehingga tidak ada lagi citra berwarna melainkan citra dengan derajad keabuan yang direpresentasikan dengan intensitas 0-255. Nilai 0 merepresentasikan hitam sedangkan nilai 1 merepresentasikan putih.

Gambar 2.14. Citra Grayscale

Contoh Citra Grayscale ditunjukkan oleh Gambar 2.13. Proses pengubahan/konversi citra berwarna menjadi citra grayscale dapat menggunakan rumus I di bawah ini [14] :

I=a x R+b x G+c x B, dengan a+b+c=1 (2.3.) R adalah nilai layer merah, G adalah nilai layer hijau, dan B adalah nilai layer biru.

Selain itu, contoh lain rumus yang biasa dipakai untuk mengubah ke skala keabuan yaitu rumus 2 berikut :

I=0,2989 x R+0,5870 x G+0,1141 x B (2.4.)

2.11.2.Segmentasi

Segmentasi citra merupakan proses sebelum pengenalan citra. Proses ini merupakan proses yang sangat penting karena keberhasilan tahap berikutnya tergantung pada tahap ini.

Segmentasi harus dapat membagi citra dengan tepat. Pada penelitian ini, segmentasi menggunakan metode Bounding Box. Metode Bounding Box digunakan untuk mengukur properti dari area citra [16].

(28)

Bounding Box merupakan suatu kotak yang melingkupi suatu objek untuk menandai suatu objek yang dideteksi. Ditunjukkan pada Gambar 2.14. contoh implementasi Bounding Box pada citra biner baut.

Gambar 2.15. Citra Biner yang Telah Diimplementasi Bounding Box

2.11.3.Konversi Citra Grayscale ke Citra Biner

Citra grayscale dikonversi ke citra biner dengan cara menetapkan nilai ambang (threshold). Nilai ambang digunakan untuk menentukan suatu intensitas akan dikonversi menjadi 0 atau menjadi 1 [14]. Secara matematis, konversi dinyatakan dengan rumus pada persamaan 2.5.

b(i)= {0, 𝑖 ≥ 𝑎 1, 𝑖 < 𝑎

(2.5.)

Contoh citra keabuan ditunjukkan oleh Gambar 2.15.

(29)

Gambar 2.16. Citra Grayscale Sebelum Dikonversi

Gambar 2.16. adalah contoh citra keabuan setelah dikonversi menjadi citra biner dengan nilai ambang 40. Untuk memperoleh hasil terbaik, nilai ambang pada program dapat diubah-ubah. Berikut ini adalah hasil citra biner dengan nilai ambang yang berbeda-beda.

Berturut-turut Gambar 2.17. merepresentasikan citra biner dengan nilai ambang 210, 160, 130, 110, 100, dan 70.

Gambar 2.17. Citra Biner

(30)

Gambar 2.18. Hasil Konversi ke Citra Biner dengan Nilai Ambang yang Berbeda

Dalam penelitian ini, peneliti menggunakan Otsu Thresholding dalam menentukan batas ambang pengkonversian citra. Konsep Otsu Thresholding pertama kali diperkenalkan oleh Nobuyuki Otsu(1979) untuk pengelompokkan citra biner berdasarkan bentuk histogram secara otomatis, mengasumsikan bahwa citra berisi dua kelas dasar dengan bentuk histogram bimodal (foreground dan background) [17]. Tujuan dari Otsu Thresholding adalah membagi histogram citra grayscale menjadi dua daerah yang berbeda secara otomatis sehingga pengguna tidak perlu memasukka nilai batas ambang secara manual. Otsu menggunakan metode dengan analisis diskriminan yaitu menentukan suatu variabel yang dapat membedakan antara dua atau lebih kelompok yang muncul secara alami. Analisis ini memaksimumkan variabel tersebut agar dapat membagi antara foreground (latar depan) dan background (latar belakang).

Untuk mendapatkan nilai threshold, ada perhitungan yang harus dilakukan. Nilai ambang yang dicari dinyatakan dengan k, dengan nilai k berkisar antara 1 dan 255. Tahap pertama, kita menghitung probabilitas setiap piksel pada level ke i yang ditentukan oleh persamaan 2.6.

Pi= ni / N (2.6.)

Keterangan :

ni = jumlah piksel pada level ke i N = total jumlah piksel pada citra

Kemudian pada tahap berikutnya, kita meghitung nilai Zeroth cumulative moment, First cumulative moment, dan total nilai mean dengan menggunakan berturut – turut persamaan 2.7., 2.8., dan 2.9.

ω(k) = ∑𝑘𝑖=1𝑃𝑖 (2.7.)

µ(k) = ∑𝑘𝑖=1𝑖. 𝑃𝑖 (2.8.)

µT = µ(L) = ∑𝐿𝑖=1𝑖. 𝑃𝑖 (2.9.) Keterangan :

(31)

ω(k) = Zeroth cumulative moment µ(k) = First cumulative moment µT = total nilai mean

Untuk menghitung nilai ambang (k) dapat ditentukan dengan persamaan 2.10. dengan penjelasan pada persamaan 2.11.

σ2

𝐵 (k) = max σ2

𝐵 (k) (2.10.)

dengan

σ2

𝐵 (k) = [µ𝑇 ω(k) − µ(k)]2 ω(k)[1−ω(k)]

(2.11.)

Keterangan : σ2

𝐵 (k) = nilai varian antar kelas maksimum

2.11.4.Median Filtering

Median filtering bekerja dengan cara menggantikan nilai tengah dari sebuah cakupan filter dengan nilai tengah yang didapat dari nilai-nilai piksel yang telah diurutkan dari yang terkecil hingga terbesar [18]. Tujuan dari median filtering adalah mempermudah mengenali citra yang ada kalanya memiliki kualitas kurang baik karena memiliki banyak noise sehingga perlu dikurangi terlebih dahulu.

Tabel 2.4. Teknik Median Filtering (x-1, y+1) (x, y+1) (x+1, y+1) (x-1, y) (x,y) (x+1, y) (x-1, y-1) (x, y-1) (x+1, y-1)

Dalam median filtering ini digunakan teknik domain spasial yang merupakan salah satu domain pengolahan citra yang memanipulasi sekumpulan piksel dan menghasilkan nilai baru. Contoh dari teknik ini ditunjukkan pada Tabel 2.4. di atas.

(32)

Gambar 2.19. Median Filtering (a) input (b) output

Piksel yang berada di tengah merupakan piksel yang akan diproses menggunakan 8 piksel tetangga pada domain 3x3. piksel tengah tersebut kemudian menjadi nilai baru yang diharapkan menyerupai piksel tetangganya sehingga dapat meningkatkan kualitas citra.

Gambar 2.18. menunjukkan proses median filtering.

2.11.5.Kontur

Kontur adalah sebuah kurva yang menggabungkan kumpulan titik-titik yang saling bersambung dan memiliki warna atau intensitas yang sama [19]. Sebelum menggunakan fungsi kontur, gambar harus diubah ke citra biner terlebih dahulu agar didapatkan citra yang akurat. Dalam fungsi ini, kontur adalah menemukan citra putih diatas citra hitam. Oleh karena itu, objek harus putih dan background berwarna hitam.

Terdapat dua jenis kontur, yaitu kontur terbuka dan kontur tertutup. Kontur tertutup membentuk suatu sirkuit tertutup. piksel-piksel di dalam daerah objek tersebut dapat ditemukan dengan menggunakan filling algorithm. Batas-batas yang mengelilingi suatu daerah objek berguna untuk mendeskripsikan bentuk objek dalam tahap analisis citra, sehingga dapat digunakan untuk mengenali atau mengidentifikasi suatu objek. Pada kontur terbuka hanya berupa fragmen garis atau bagian dari batas daerah yang tidak membentuk sirkuit, dengan kata lain tidak melingkupi seluruh daerah objek. Kontur terbuka dan kontur tertutup diilustrasikan pada Gambar 2.19.

(33)

Gambar 2.20. (a) Kontur Terbuka, (b) Kontur Tertutup [20]

2.11.6.Euler Number

Euler Number atau yang biasa disebut dengan faktor E dapat dinyatakan sebagai perbedaan antara jumlah dari connected component(C) dan jumlah lubang(H) pada suatu citra [4]. Rumus untuk mencari Euler Number ditunjukkan oleh persamaan 2.12.

E= C – H (2.12.)

Keterangan:

C= komponen yang terhubung H= jumlah lubang

Contoh perhitungan Euler Number untuk objek pada Gambar 2.20. yaitu:

a) Diketahui: H=0 C=1 Maka: E= 1 – 0 = 1 b) Diketahui: H=1

C=1 Maka: E= 1 – 1 = 0

Gambar 2.21. Objek untuk Perhitungan Euler Number

(34)

Pada contoh Gambar 2.20. didapat nilai Euler number pada objek (a) dari perhitungan adalah 1, sedangkan pada objek (b), euler number dari perhitungan didapat nilai 0.

2.11.7.Area

Area merupakan jumlah piksel yang merepresentasikan suatu citra. Pada citra biner, objek yang dicari luas areanya berwarna putih [13]. Warna putih pada citra biner bernilai 1(piksel). Total dari piksel dalam sebuah citra ini merupakan nilai areanya.

Rumus area ditunjukkan pada persamaan 2.13.

𝐴𝑖= ∑𝑀−1𝑥=0𝑁−1𝑦=0𝑂I (x,y) (2.13.) Keterangan :

𝐴𝑖 = Jumlah piksel dari luas objek (area) M = Kolom piksel

N = Baris piksel

Oi = Objek dalam suatu citra

Pada Gambar 2.21., dengan menjumlahkan piksel bernilai 1 pada objek persegi tersebut, didapatkan nilai 9. Nilai 9 tersebut merupakan area objek persegi.

Gambar 2.22. Area Objek Persegi [13]

(35)

24

BAB III

Rancangan Penelitian

Dalam bab ini akan dibahas rancangan penelitian yang meliputi:

1. Perancangan Sistem Secara Umum 2. Perancangan Mekanik

3. Perancangan Perangkat Keras (Hardware) 4. Perancangan Perangkat Lunak (Software)

3.1. Perancangan Sistem Secara Umum

Pada Tugas Akhir ini, akan dibuat alat yang dapat menyortir dan mencacah baut dan mur. Perancangan sistem penyortir dan pencacah ini memiliki beberapa komponen yang dapat dilihat pada Gambar 3.1. Penyortiran ini dikelompokkan berdasarkan bentuk objek, sedangkan pencacahan dikelompokkan berdasarkan bentuk dan ukuran objek. Objek berupa baut atau mur yang masing-masing terdiri dari 3 ukuran diletakkan di tray. Tugas tray adalah mengeluarkan baut atau mur satu per satu ke atas conveyor. Baut atau mur jatuh di ujung conveyor, rotasi dan translasi objek bebas dengan ketentuan objek harus tetap berada di ujung conveyor. Sensor infrared mendeteksi benda yang berada di atas conveyor, kemudian Webcam meng-capture objek yang dideteksi oleh sensor infrared. Hasil capture Webcam kemudian diproses oleh Raspberry Pi. Pemrosesan citra meliputi mengidentifikasi euler number untuk pengenalan bentuk dan mengidentifikasi area untuk pengenalan ukuran.

Raspberry Pi akan memberi sinyal pada motor servo untuk menggerakkan gate sesuai jenis benda apakah baut atau mur. Gate akan bergerak ketika sensor infrared di depan gate mendeteksi objek sudah mendekati gate. GUI akan menampilkan hasil cacahan baut dan mur tiga ukuran. Dalam penelitian ini, sensor yang mendeteksi objek berada di bawah Webcam disebut sensor infrared-Webcam, sedangkan sensor yang mendeteksi objek ketika berada di dekat gate disebut sensor infrared-gate.

Tugas gate dalam alat ini adalah untuk melaksanakan proses penyortiran baut dan mur. Gate digerakkan oleh motor servo untuk mengarahkan baut dan mur pada konveyor menuju kotak penampungan akhir.

Komponen yang digunakan dalam pembuatan tugas akhir ini yaitu Webcam sebagai sensor kamera untuk mendeteksi jenis benda beserta ukuran benda, actuator berupa motor servo pada tengah conveyor untuk menggerakkan gate sebagai penyortir baut dan mur, tray

(36)

sebagai sarana mengeluarkan baut dan mur satu per satu, conveyor sebagai pembawa objek menuju kotak penampungan, Raspberry Pi 4 sebagai otak alat, laptop sebagai penampil hasil pencacahan dan penyortiran, kemudian objek yang diproses yaitu baut dan mur. Tray digerakkan oleh motor Stepper. Conveyor digerakkan oleh motor DC yang mendapatkan daya dari Power Supply. Sistem ini akan diprogram dengan Bahasa pemrograman Python pada Raspberry Pi 4. Webcam yang digunakan adalah Logitech C170. Blok diagram proses kerja alat ditunjukkan oleh Gambar 3.1.

Gambar 3.1. Blok Diagram Proses Kerja Alat Keterangan :

1. Baut 2. Mur

3. Sensor Infrared 4. Webcam 5. Raspberry Pi 4 6. Motor Stepper 7. Motor DC 8. Servo 9. Gate 10. Monitor

3.2. Perancangan Mekanik 3.2.1. Desain Keseluruhan Sistem

Pada bagian ini menampilkan visualisasi terkait bentuk sistem secara nyata yang akan dikerjakan berupa alat penyortir dan pencacah baut dan mur. Visualisasi sistem secara isometri ditampilkan oleh Gambar 3.2. Sedangkan untuk dimensi ukuran detail sistem ditampilkan pada Gambar 3.3. dan Gambar 3.4. Gambar 3.3. menampillkan desain sistem tampak dari atas. Gambar 3.4. menampilkan desain sistem tampak dari samping.

(37)

Bahan tray menggunakan kardus dan kayu barsa sebagai penyangga. Bahan rangka conveyor, panel box, gate, dan dudukan servo adalah kayu. Sedangkan bahan belt conveyor adalah spon karet. Box wadah hasil penyortiran baut dan mur menggunakan wadah plastik.

Gambar 3.2. Visualisasi Sistem

Gambar 3.3. Dimensi Desain (Tampak Atas)

(38)

Gambar 3.4. Dimensi Desain (Tampak Samping)

3.2.2. Perancangan Conveyor

Conveyor berfungsi untuk membawa baut dan mur menuju tempat penampungan akhir. Pada conveyor terjadi proses penyortiran. Sistem penyortiran adalah berdasarkan apakah objek merupakan baut atau mur. Penyortiran tidak berdasarkan ukuran, sehingga baut atau mur apapun ukurannya tetap disortir berdasarkan jenis.

Gambar 3.5. Gambaran Cara Kerja Conveyor

Conveyor akan aktif terus menerus selama tombol start pada GUI ditekan dan akan mati ketika ditekan tombol stop pada GUI. Panjang conveyor adalah 37 cm dan lebar 14 cm dengan frame di kedua sisi untuk mengantisipasi jatuhnya baut atau mur ketika berada di

(39)

atas conveyor. Tinggi conveyor 8 cm. Gambaran cara kerja conveyor dapat dilihat pada Gambar 3.5.

Pada saat baut atau mur menyentuh area berwarna biru tua, sensor infrared-Webcam akan mendeteksi dan membaca bentuk benda dan kemudian Webcam meng-capture objek yang dideteksi dan diproses oleh Raspberry Pi yang mengirimkan perintah ke gate servo untuk menggerakkan gate sesuai bentuk yang dibaca. Jika bentuk objek adalah baut, maka gate akan bergerak menjadi seperti gate yang berwarna hijau sehingga mengarahkan baut kearah kiri, sedangkan jika bentuk objek adalah mur, maka gate akan bergerak menjadi seperti gate yang berwarna merah sehingga mengarahkan mur ke arah kanan. Gate akan bergerak ketika sensor infrared-gate mendeteksi objek sudah berada di area berwarna biru muda. Pada ujung conveyor terdapat dua box untuk menampung benda sesuai bentuknya.

3.2.3. Perancangan Tray

Gambar 3.6. Tray

Perancangan tray untuk menjatuhkan baut atau mur satu per satu ke conveyor dibuat dengan ukuran panjang 12 cm, dan lebar 8 cm. Tray diposisikan miring supaya benda yang diletakkan di atas tray dapat bergerak menuruni tray. Lebar ujung jalur tempat keluarnya baut atau mur sebelum masuk ke turbin pemindah baut atau mur adalah 3 cm sesuai dengan

(40)

panjang baut terbesar. Jari-jari turbin adalah 4 cm dengan lebar setiap buku-buku adalah 3 cm sesuai dengan lebar ujung jalur.

Besar sudut setiap buku-buku adalah 600. Sedangkan besar sudut dari tray menuju conveyor adalah 1200. Motor Stepper pada penelitian ini diatur 6 step. Setiap satu step, rotor motor Stepper bergerak 600. Sehingga benda pertama yang dijatuhkan ke conveyor harus melalui dua kali step putar untuk mencapai conveyor karena buku-buku turbin masih kosong. Desain dan dimensi tray dapat dilihat pada Gambar 3.6.

3.3. Perancangan Perangkat Keras (Hardware)

Perancangan perangkat keras pencacah dan penyortir baut dan mur terdiri dari Wiring Motor Servo dengan Raspberry Pi, wiring Relay, Motor DC, dan Power Supply, wiring ULN2003, dan wiring sensor infrared. Wiring keseluruhan alat dapat dilihat pada Gambar 3.7.

Gambar 3.7. Wiring Keseluruhan Alat

(41)

3.3.1. Wiring Motor Servo dengan Raspberry Pi

Motor servo memerlukan inputan lebar pulsa tertentu untuk mengatur sudut putaran yang dihasilkan oleh motor servo. Oleh karena itu, Raspberry Pi digunakan untuk memberikan input-an lebar pulsa tertentu kepada motor servo. Motor servo mempunyai tiga buah kabel yaitu kabel hitam untuk dihubungkan dengan ground, kabel merah dihubungkan dengan VCC, dan kabel kuning sebagai pengontrol posisi sudut putaran. Ada juga servo yang mempunyai kabel dengan warna putih, jingga, atau biru sebagai kabel pengontrol posisi sudut putaran.

Servo dikontrol dengan mengirimkan sinyal pulsa dengan lebar pulsa tertentu atau Pulse Width Modulation (PWM) ke kabel pengontrol. Untuk melakukan hal ini, maka output pin Raspberry Pi akan diset menjadi PWM. pin Raspberry Pi yang digunakan adalah pin 11 atau GPIO17. Wiring antara Raspberry Pi dan motor servo dijelaskan sebagai berikut:

1. Motor servo – VCC dihubungkan dengan 3.3 v (pin 1) 2. Motor Servo – data dihubungkan dengan GPIO17 (pin 11) 3. Motor Servo – GND dihubungkan dengan 0 v (pin 6)

3.3.2. Wiring Relay, Motor DC dan Power Supply

Raspberry Pi memerlukan relay tambahan untuk menghubungkan dan memutuskan aliran arus listrik yang dikontrol untuk menggerakkan motor DC dikarenakan Raspberry Pi tidak memiliki sumber daya yang cukup untuk diberikan kepada sebuah motor. Motor memerlukan cukup banyak daya, maka dari itu diperlukan relay sebagai penengah antara Raspberry Pi dan Motor DC untuk memberikan sumber daya yang lebih besar dari luar untuk Motor DC. Relay adalah komponen elektronik yang berfungsi sebagai pengendali motor DC dengan cara memutus dan menghubungkan suatu rangkaian elektronik yang satu dengan yang lainnya. Proses wiring relay ini dapat dilihat pada Gambar 3.2. Wiring antara relay dan Raspberry Pi dijelaskan sebagai berikut:

1. Relay – VCC dihubungkan dengan 5 v (pin 2) 2. Relay – IN dihubungkan dengan GPIO 21 (pin 40) 3. Relay – GND dihubungkan dengan 0 v (pin 14)

Sedangkan wiring antara relay, motor dc, dan power supply dijelaskan sebagai berikut:

1. Relay - NO dihubungkan dengan Motor DC-VCC 2. Relay – Com dihubungkan dengan Power Supply-VCC 3. Motor DC- GND dihubungkan denga Power Supply-GND

(42)

3.3.3. Wiring ULN2003

Motor Stepper merupakan motor DC yang prinsip kerjanya dikendalikan oleh pulsa- pulsa digital. Untuk bisa digunakan diperlukan sebuah driver. Dalam penelitian ini menggunakan ULN2003. Wiring ULN2003 dengan Raspberry Pi, Motor Stepper, dan Power Supply dijelaskan sebagai berikut:

1. ULN2003 – IN 1 dihubungkan dengan GPIO 21 (pin 29) 2. ULN2003 – IN 2 dihubungkan dengan GPIO 22 (pin 31) 3. ULN2003 – IN 3 dihubungkan dengan GPIO 23 (pin 33) 4. ULN2003 – IN 4 dihubungkan dengan GPIO 24 (pin 35) 5. ULN2003 – GND dihubungkan dengan 0V (pin 6)

6. ULN2003 – COM dihubungkan dengan Power Supply-VCC 7. ULN2003 – OUT 1 dihubungkan dengan Motor Stepper- Coil 2 8. ULN2003 – OUT 2 dihubungkan dengan Motor Stepper- Coil 1 9. ULN2003 – OUT 3 dihubungkan dengan Motor Stepper- Coil 3 10. ULN2003 – OUT 4 dihubungkan dengan Motor Stepper- Coil 4 11. Motor Stepper-VCC dihubungkan dengan Power Supply- VCC

3.3.4. Wiring Sensor Infrared

Dalam penelitian ini, menggunakan dua buah sensor infrared. Sensor pertama yaitu sensor infrared-Webcam untuk mendeteksi ketika benda sudah berada di bawah Webcam sehingga Webcam harus segera melakukan capture. Kemudian sensor kedua, yaitu sensor infrared-gate untuk mendeteksi benda ketika benda sudah mendekati gate sehingga gate harus segera melaksanakan perintah Raspberry Pi untuk mengarahkan objek sesuai dengan bentuknya. Wiring Sensor Infrared masing-masing dijelaskan sebagai berikut:

1. Sensor Infrared-Webcam-VCC dihubungkan dengan Power Supply-VCC 2. Sensor Infrared-Webcam-GND dihubungkan dengan Power Supply- GND 3. Sensor Infrared-Webcam-OUT dihubungkan dengan GPIO 23 (pin 16) 4. Sensor Infrared-Gate-VCC dihubungkan dengan Power Supply-VCC 5. Sensor Infrared-Gate-GND dihubungkan dengan Power Supply-GND 6. Sensor Infrared-Gate-VCC dihubungkan dengan GPIO 2 (pin 3)

3.4. Perancangan Perangkat Lunak (Software)

Perancangan perangkat lunak akan membahas:

a. Flowchart Utama

(43)

b. Flowchart Akuisisi Citra

c. Flowchart Image Preprocessing d. Flowchart Proses Pengenalan Benda e. Flowchart Proses Pergerakan Servo Gate f. GUI pada Python

3.4.1. Flowchart Utama

Gambar 3.7. Flowchart Utama

(44)

Gambar 3.7. Flowchart Utama (lanjutan)

(45)

Gambar 3.7. Flowchart Utama (lanjutan)

Gambar 3.7. Flowchart Utama (lanjutan)

(46)

Gambar 3.7. Flowchart Utama (lanjutan)

Flowchart utama pada Gambar 3.7. menjelaskan proses kerja sistem secara keseluruhan. Cara kerja dari alat penyortir dan pencacah baut dan mur ini adalah mula-mula baut dan mur diletakkan pada tray. Tray digerakkan oleh motor Stepper menjatuhkan baut dan mur satu per satu ke atas conveyor. Sensor infrared-Webcam mendeteksi objek yang berada di ujung conveyor. Ketika objek terdeteksi, maka Raspberry Pi akan menjalankan perintah capture oleh Webcam dan kemudian dikenali objek tersebut.

Pengenalan objek melewati proses akuisisi citra dan image preprocessing. Citra yang diambil masih dalam bentuk citra berwarna atau RGB. Pada image preprocessing, citra RGB dikonversi menjadi citra grayscale dan kemudian dikonversi lagi ke citra biner. Proses menghilangkan noise menggunakan filter median blur. Tahap selanjutnya kemudian citra biner disegmentasi supaya dapat diolah untuk dikenali bentuk maupun ukurannya. Objek dikenali bentuknya dengan menggunakan perhitungan Euler Number dengan rumus seperti pada persamaan 2.12. Dari hasil pengenalan bentuk objek, Raspberry Pi akan mengirim perintah ke servo untuk menggerakan gate menyortir objek. Servo akan menjalankan perintah ketika sensor infrared-gate servo mendeteksi objek. Objek yang sudah dikenali kemudian dihitung nilai areanya untuk mengenali ukuran objek. Nilai area ditentukan dengan persamaan 2.13. Nilai area tersebut masuk ke dalam proses pencacahan. Hasil pencacahan kemudian ditampilkan di GUI.

(47)

3.4.2. Flowchart Akuisisi Citra

Akuisisi citra adalah proses mengubah citra analog menjadi citra digital. Proses akuisisi citra dimulai dengan capture objek oleh Webcam. Proses capture dalam bahasa pemrorgraman python menggunakan fungsi cv2.VideoCapture. Sedangkan konversi citra RGB menjadi citra Grayscale menggunakan fungsi cv2.cvtColor. Proses akuisisi citra digambarkan pada Gambar 3.8.

Gambar 3.8. Flowchart Akuisisi Citra

3.4.3. Flowchart Image Preprocessing

Setiap citra akan melewati tahap image preprocessing sebelum diolah. Citra yang tercapture dikonversi menjadi citra grayscale. Selanjutnya citra di-threshold dengan menggunakan otsu threshold untuk mengubah citra grayscale menjadi citra biner. Fungsi yang digunakan adalah cv2.THRESH_OTSU.

Untuk mendapatkan kualitas citra yang lebih baik, maka dilakukan noise filtering.

Metoda noise filtering yang digunakan adalah median filtering dengan menggunakan fungsi cv2.medianBlur(). Kemudian, dengan menggunakan fungsi cv2.findContours, didapatkan

(48)

citra yang diinginkan untuk diolah. Tahap-tahap dalam Image Preprocessing ditunjukkan oleh Gambar 3.9.

Gambar 3.9. Flowchart Image Preprocessing

(49)

3.4.4. Flowchart Segmentasi Citra

Proses Segmentasi Citra bertujuan untuk memisahkan objek dari citra keseluruhan agar dapat mempermudah proses pengenalan citra. Pada penelitian ini proses Segmentasi Citra menggunakan Bounding Box. Flowchart proses segmentasi citra ditunjukkan oleh Gambar 3.

Gambar 3.10. Flowchart Segmentasi Citra

(50)

3.4.5. Flowchart Pengenalan Bentuk Benda

Proses pengenalan bentuk benda menggunakan metode Euler Number. Benda yang akan dikenali ada 2 jenis, yaitu baut dan mur. Dimana jika baut, maka dbeuler bernilai 1, sedangkan jika mur, maka dbeuler bernilai 0. Pendeteksian nilai dbeuler menggunakan fungsi cv2.connectedComponents kemudian nilai ditentukan dengan menggunakan Persamaan 2.12. Flowchart proses pengenalan benda ditunjukkan oleh Gambar 3.10

Gambar 3.11. Flowchart Proses Pengenalan Benda

(51)

3.4.6. Flowchart Pengenalan Ukuran Benda

Gambar 3.12. Flowchart Proses Pengenalan Ukuran Baut

(52)

Gambar 3.13. Flowchart Proses Pengenalan Ukuran Mur

Proses pengenalan ukuran benda dibedakan menurut jenis benda. Proses pengenalan ukuran benda menggunakan fungsi Area. Rumus perhitungan Area dapat dilihat pada persamaan 2.13. Perhitungan Area menggunakan fungsi cv2.ContourArea. Flowchart proses pengenalan ukuran baut dan mur dapat dilihat pada Gambar 3.12. dan Gambar 3.13.

(53)

3.4.7. Flowchart Proses Pergerakan Servo Gate

Gambar 3.14. Flowchart Proses Pergerakan Servo Gate (Baut)

(54)

Gambar 3.15. Flowchart Proses Pergerakan Servo Gate (Mur)

Untuk mengendalikan gate digunakan servo yang mendapatkan input dari Raspberry Pi. Gate bergerak berdasarkan pada karakter yang diterima oleh Raspberry Pi. Mula- mula, gate dalam keadaan standby, kemudian setelah mendapatkan input, servo menggerakkan

(55)

gate 450 atau 1350 sesuai dengan perintah dari Raspberrry Pi dan setelah sensor infrared- gate mendeteksi objek. Tujuan dari pergerakan gate adalah untuk mengatur arah berjalannya objek. Gambar 3.14. adalah Flowchart untuk servo ketika menggerakkan gate 450 dan Gambar 3.15. adalah Flowchart untuk servo ketika menggerakkan gate 1350.

Pada penelitian ini, posisi awal servo adalah 900 sehingga gate dalam keadaan lurus ke depan searah dengan conveyor. Pengaturan gerak motor servo dapat dilihat di bawah ini.

1. Ketika Webcam mendeteksi baut, servo bergerak 450 dengan duty cycle 5%.

2. Ketika Webcam mendeteksi mur, servo bergerak 1350 dengan duty cycle 10%.

3.4.8. GUI pada Python

Tujuan dibuatnya GUI adalah untuk memantau proses berjalannya program. GUI memiliki peran yang penting karena di dalamnya kita bisa melihat dan memahami program yang dibuat. GUI yang dibuat menampilkan hasil pencacahan baut dan mur berdasarkan ukuran. Dalam membuat GUI digunakan pustaka Tkinter. Perancangan GUI ditunjukkan oleh Gambar 3.16.

Gambar 3.16. Perancangan GUI

Pada GUI terdapat empat button yaitu Start, Stop, Reset, dan Exit. Ketika Button Start ditekan, Webcam dan Raspberry akan standby sehingga tray dan conveyor bergerak.

Pada saat ini peneliti dapat meletakkan baut dan mur untuk diproses oleh program ke atas tray. Sedangkan ketika Button Stop ditekan, sistem berhenti secara keseluruhan. Webcam, tray, conveyor, dan Raspberry Pi akan berhenti bekerja. Button Reset ditekan ketika program

(56)

sedang berjalan dapat membuat tampilan pada GUI direset menjadi tampilan pada awal ketika semua text box masih bernilai 0. Tetapi Webcam, tray, conveyor dan Raspberry masih bekerja. Ketika Button Exit ditekan, sistem akan berhenti bekerja sedangkan GUI akan tetap menampilkan jumlah terakhir yang dicacah. Sistem akan bekerja kembali ketika Button Start ditekan.

Tabel 3.1. Keterangan GUI

Nama Bagian Keterangan

Tombol “Start” Untuk memulai program

Tombol “Stop” Untuk menghentikan program

Tombol “Reset” Untuk memulai cacahan dari awal

Tombol “Exit” Untuk keluar dari program

M5 x 16 Untuk menampilkan jumlah baut dengan ukuran M5 x 16

M6 x 20 Untuk menampilkan jumlah baut dengan ukuran M6 x 20

M8 x 25 Untuk menampilkan jumlah baut dengan ukuran M8 x 25

M5 Untuk menampilkan jumlah mur ukuran

M5

M6 Untuk menampilkan jumlah mur ukuran

M6

M8 Untuk menampilkan jumlah mur ukuran

M8

(57)

46

BAB IV

HASIL DAN PEMBAHASAN

Pada Bab ini akan membahas tentang hasil pengamatan dan pengujian sistem Pencacah dan Penyortir Baut dan Mur dengan menggunakan Raspberry Pi. Pembahasan akan dibagi menjadi beberapa bagian yaitu perubahan perancangan, implementasi hardware, implementasi software, implementasi GUI, dan hasil pengamatan sistem.

4.1. Perubahan Perancangan

Bagian ini menjelaskan perubahan pada perancangan mplementasi hardware dan software yang terjadi selama proses pembuatan hardware dan software.

4.1.1. Dinding Penghalang Cahaya

Pemberian dinding penghalang cahaya disebabkan objek tidak bisa dikenali dengan akurat ketika cahaya terlalu terang. Untuk mengatasinya, dibuat dinding yang menghalangi cahaya di dua sisi conveyor.

Gambar 4.1. Penghalang Cahaya di Sekitar Webcam

Perubahan setelah pemberian dinding penghalang cahaya ini adalah objek sudah dapat dikenali dengan lebih baik. Pemberian dinding penghalang cahaya dapat dilihat pada gambar 4.1.

(58)

4.1.2. Penambahan Motor DC

Penambahan motor DC ini bertujuan untuk memberikan getaran pada tray sehingga objek yang berada pada tray dapat bergerak menuruni tray. Supaya motor DC bergetar, ditempel mur pada porosnya motor DC sehingga motor DC menjadi berat sebelah ketika berputar dan menimbulkan getaran. Rangkaian pemberi getaran dengan motor DC dapat dilihat pada Lampiran 3.B.

4.1.3. Penggantian Motor DC 5V menjadi Motor DC 12V

Motor DC 5V sebagai penggerak conveyor diganti dengan motor DC 12V dikarenakan motor DC 12V memiliki rpm yang diinginkan yaitu 30 rpm. Motor DC sebelum penggantian adalah motor DC 5V yang mempunyai kecepatan 1200 rpm sehingga belt conveyor bergerak terlalu cepat dan Webcam susah untuk mendeteksi. Penggantian motor DC diikuti oleh penggantian power supply yang digunakan yaitu dari power supply 5 V menjadi power supply 12 V.

4.1.4. Pemindahan Posisi Webcam

Gambar 4.2. Perubahan Posisi Webcam

Pemindahan posisi Webcam menjadi lebih dekat dengan servo agar proses penyortiran bisa langsung dilakukan setelah Webcam mengenali objek dikarenakan pada perancangan digunakan sensor infrared untuk mendeteksi objek. Gate bergerak ketika sensor mendeteksi objek sudah mendekati gate sehingga arah gerak gate tidak keliru dikarenakan panjangnya jarak dari Webcam menuju gate dan berkemungkinan Webcam sudah mendeteksi objek lain sebelum objek sebelumnya mencapai gate. Akan tetapi dalam

Gambar

Tabel 2.2. Ukuran Baut dan Mur
Gambar 2.10. Prinsip Kerja Motor Stepper
Gambar 2.13. Matriks Citra Digital [14]
Gambar 2.14. Citra Grayscale
+7

Referensi

Dokumen terkait

Mengetahui prinsip kerja motor servo pada alat pemisah kopi matang dan buah kopi mentah dengan menggunakan sensor warna berbasis arduino nano.. Mengetahui hasil pengujian dari