• Tidak ada hasil yang ditemukan

BAB IV HASIL PENELITIAN DAN ANALISIS. Pengujian Modul Kamera Raspberry Pi v2

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV HASIL PENELITIAN DAN ANALISIS. Pengujian Modul Kamera Raspberry Pi v2"

Copied!
12
0
0

Teks penuh

(1)

42

Hasil yang diperoleh dalam penelitian ini adalah lengan robot pendeteksi api yang dapat mendeteksi api dengan menggunakan metode pengolahan citra. Lengan robot ini juga mampu mengikuti objek berupa titik api lilin dengan baik. Pengujian dilakukan di laboratorium teknik elektro dengan mendeteksi titik api lilin.

Dalam bab ini dilakukan beberapa pengujian sesuai dengan penelitian yang dilakukan, meliputi :

a. Pengujian modul kamera Raspberry Pi v2 b. Pengujian FPS

c. Pengujian nilai HSV d. Pengujian deteksi objek e. Pengujian komunikasi serial f. Pengujian secara keseluruhan

4.1 Pengujian Modul Kamera Raspberry Pi v2

Modul kamera Raspberry Pi v2 digunakan untuk mengambil video secara realtime. Sebelum modul kamera digunakan, terlebih dahulu dilakukan pengujian. Pengujian dilakukan dengan cara menjalankan perintah yang telah dibuat menggunakan bahasa python, yang kemudian di jalankan melalui terminal. Untuk dapat menjalankannya, terlebih dahulu penulis membuka folder yang telah diberi nama tugas_akhir dengan perintah “cd tugas_akhir/”, kemudian memberikan perintah “sudo python test_video.py” (perintah ini digunakan untuk menjalankan python pada terminal) maka akan muncul frame tampilan video yang telah dibuat. Sehingga akan muncul tampilan seperti pada gambar 4.1.

Pada pengujian ini frame yang digunakan memiliki resolusi 320 x 240 pixel. Untuk dapat menghasilkan frame dengan ukuran tersebut, dibuat sebuah program

(2)

dengan bahasa pemrograman python. Contoh program yang telah dibuat seperti dibawah ini:

camera = PiCamera()

camera.resolution = (320, 240)

rawCapture = PiRGBArray(camera, size=(320, 240))

“camera = PiCamera ()” berfungsi untuk mengaktifkan modul kamera Raspberry Pi v2 kemudian “camera.resolution = (320,240)” berfungsi untuk mengatur besarnya resolusi yang akan ditampilkan. Dan yang terakhir “rawCapture = PiRGBArray(camera, size=(320, 240))” akan memunculkan ukuran frame yang akan ditampilkan. Sehingga hasil yang diperoleh akan ditunjukkan pada gambar 4.1

Gambar 4.1 pengujian modul kamera Raspberry Pi v2

4.2 Pengujian FPS (Frame Per Second)

Pengujian FPS (Frame Per Second) dilakukan untuk mengetahui pengaruh besarnya resolusi yang digunakan dengan FPS yang dihasilkan. Pada pengujian ini dipilih resolusi dengan besar 160x128, 320x240, 640x480 dan diperoleh hasil sebagai berkut:

(3)

 Pengujian FPS pada resolusi 160 x 128

Pada pengujian ini nilai FPS yang diperoleh sebesar 30.26 dengan waktu 3.34 detik.

 Pengujian FPS pada resolusi 320 x 240

Pada pengujian ini nilai FPS yang diperoleh sebesar 20.72 dengan waktu 4.87 detik.

 Pengujian FPS pada resolusi 640 x 480

Pada pengujian ini nilai FPS yang diperoleh sebesar 8.05 dengan waktu 12.55 detik.

Dari ketiga pengujian nilai FPS terhadap resolusi yang digunakan, diperoleh nilai FPS terkecil pada resolusi 640x480 dengan waktu yang relatif lama. Jauh berbeda antara resolusi 160 x 128 dengan resolusi 320 x 240 yang memiliki perbedaan nilai mendekati 10 FPS. Dari hasil ini, resolusi 160 x 128 termasuk dalam resolusi yang kecil. Secara garis besar semakin kecil resolusi yang digunakan maka jangkauan objek yang ditangkap oleh kamera semakin kecil begitu pula sebaliknya. Sehingga pada penelitian ini akan digunakan resolusi sebesar 320 x 240.

4.3 Pengujian Nilai HSV

Pada baigian ini, dilakukan pengujian untuk mendaptakan nilai HSV. Untuk dapat memperoleh nilai HSV, dibuat suatu program agar nilai HSV bisa diatur sesuai keinginan. Program yang dibuat memanfaatkan pustaka OpenCV, yang digunakan untuk mengkonversi warna RGB ke dalam HSV dengan penulisan program seperti berikut :

(4)

Untuk dapat melakukan pengaturan nilai HSV, terlebih dahulu dibuat sebuah trackbar untuk nilai HSV yang diinginkan. Pada penelitian ini diambil contoh nilai “smin” dari 0-255 dengan penulisan program sebagai berikut:

cv2.createTrackbar('smin', 'CariApi',0,255,nothing)

Setelah dibuat sebuah trackbar, kemudian dibuat sebuah program agar trackbar dengan nilai smin antara 0-255 bisa diatur, dengan penulisan program sebagai berikut:

smin = cv2.getTrackbarPos('smin','CariApi')

Dengan mebuat program untuk memperoleh nilai HSV, maka sistem akan bekerja dengan baik. Hasil pembuatan program untuk memperoleh nilai HSV ditunjukkan pada gambar 4.2a dan 4.2b.

Gambar 4.2a. warna normal Gambar 4.2b. warna HSV api Dalam penelitian ini diperlukan nilai minimal dan maksimal dari warna api. Pada gamabar 4.2a warna normal bernilai antara 0-255. Pada gambar 4.2b.

(5)

ditunjukkan hasil dari pengaturan untuk memperoleh nilai HSV. Dalam langkah pengaturan untuk memperoleh nilai HSV, setiap nilai (hsv min dan hsv max) dilakukan pengaturan sedemikian rupa hingga diperoleh warna untuk nilai HSV yang diinginkan. Pada hasil uji coba diperoleh nilai yang ditunjukkan pada tabel 4.1 berikut :

Tabel 4.1 hasil uji coba mencari nilai HSV

Nilai Sebelum Nilai Sesudah

Nilai hmin 0 10 Nilai smin 0 10 Nilai vmin 0 255 Nilai hmax 255 36 Nilai smax 255 110 Nilai vmax 255 255

Pada tabel 4.1, nilai sebelum merupakan hasil citra yang ditangkap oleh kamera v2 dengan kata lain citra normal sebelum dilakukan pengolahan citra. Sedangkan nilai sesudah, merupakan nilai setelah melewati proses pengolahan citra dengan melakukan pengaturan pada setiap komponen nilai hingga diperoleh nilai HSV yang titik api.

4.4 Pengujian Deteksi Objek

Pada pengujian ini, dilakukan uji coba untuk mendeteksi objek pada titik api lilin. Uji coba dilakukan dengan mengolah data nilai HSV yang telah diperoleh sebelumnya. Nilai HSV tersebut kemudian di masukkan pada program baru untuk diolah agar dapat mendetksi objek secara baik.

4.3.1 Pemfilteran Objek Terdeteksi

Pada uji coba ini dilakukan filter terhadap objek berupa titik api lilin. Pemfilteran dilakukan dengan mengolah data HSV yang diperoleh, sebagai berikut:

lower_fire = np.array([10,10,255]) upper_fire = np.array([36,110,255])

(6)

kemudian dipanggil fungsi cv2.inRange yang terdapat pada pustaka OpenCV sebagai berikut :

fil = cv2.inRange(hsv, lower_fire, upper_fire)

fungsi cv2.inRange ini digunakan untuk memfilter sesuai nilai warna yang diperoleh yang ditunjukkan pada gambar 4.3a. Setelah itu dilakukan pemfilteran untuk mengurangi noise menggunakan fungsi cv2.erode dan cv2.dilate sebagai berikut :

fil = cv2.erode(fil, None, iterations=2) fil = cv2.dilate(fil, None, iterations=2)

Gambar 4.3b menunjukkan hasil pemfilteran untuk mengurangi noise. Setelah dilakukan pemfilteran, dicari contour terluar dari objek terdeteksi dengan menggunakan cv2.findContours yang terdapat pada pustaka OpenCV sebagai berikut :

cnts = cv2.findContours(fil.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]

Gambar 4.3a sebelum dilakukan fungsi erode dan dilate

Gambar 4.3b setelah dilakukan fungsi erdoe dan dilate

4.3.2 Membuat Tanda Lingkaran Pada Objek Terdeteksi

Untuk mengetahui apakah titik api lilin telah terdeteksi oleh kamera, maka dibuat suatu tanda berupa gambar lingkaran. Gambar lingkaran akan muncul bila titik api lilin terdeteksi oleh kamera. Untuk dapat melakukan hal ini di buat suatu program pada python dengan pustak OpenCV sebagai berikut:

(7)

if radius > 2:

cv2.circle(image, (int(x), int(y)), int(radius),(0, 255, 255), 2) cv2.circle(image, center, 5, (255, 255, 255), -1)

pada program diatas saat nilai radius bernilai lebih besar dari 2 maka gambar lingkaran akan ditampilkan, seperti yang ditunjukkan pada gambar 4.4

Gambar 4.4 Membuat Lingkaran pada Objek Terdeteksi

4.3.3 Mencari Nilai Koordinat

Nilai koordinat diperlukan untuk mengetahui letak objek pada frame. Setelah mengetahui sebuah objek telah terdeteksi dengan membuat tanda lingkaran, barulah pada python dibuat kode program. Program dibuat untuk menemukan koordinat dan menampilkan nilai koordinat pada layar dengan pustaka OpenCV. Seperti penulisan program berikut ini:

M = cv2.moments( )

center = (int(M["m10"] / M["m00"]), int(M["m01"] / M["m00"]))

Pada program diatas untuk menemukan nilai x,y dari hasil pengolahan citra berupa nilai warna api yang kemudian dilakukan komputasi untuk menemukan nilai koordinat. Setelah itu menampilkan koordinat pada frame.

(8)

cv2.putText(image, "center (x,y): {}".format(center), (10, image.shape[0] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.35, (0, 0, 255), 1)

dengan perintah cv2.putText maka koordinat objek terdeteksi akan ditampilkan pada frame seperti ditunjukkan pada gambar 4.5.

Gambar 4.5 Nilai Koordinat Objek Terdeteksi

4.5 Pengujian Komunikasi Serial

Untuk dapat melakukan pengujian komunikasi serial, uji coba langsung dilakukan dengan menjalankan program yang telah dibuat untuk mengirimkan data koordinat objek yang telah terdeteksi. Data yang dikirim berupa nilai x dan nilai y pada objek terdeteksi.Yang dilakukan ialah mendeklarasikan variabel “ser” sebagai fungsi yang akan dipanggil dengan pengaturan baudrate 115200 :

ser = serial.Serial( port='/dev/ttyS0', baudrate = 115200, parity = serial.PARITY_NONE,

stopbits=serial.STOPBITS_ONE,

bytesize=serial.EIGHTBITS, timeout=1)

Setelah mendeklarasikan variabel ser kemudian mendeklarasikan variabel “valx” dan “valy”. Nilai valx dan valy merupakan nilai blangan bulat dari nilai “x” dan

(9)

nilai “y” yang berupa string. Kemudian nilai –nilai tersebut dikirimkan ke arduino dengan perintah “ser.write” .

valx=str(int(x)) valy=str(int(y))

ser.write(valx+','+valy+'\n')

pada arduino juga dilakukan pengaturan data serial agar data yang dikirim oleh Raspberry dapat dibaca dengan baik.

int valx = 0; int valy = 0; void setup()

{ Serial.begin (115200); } void loop()

{ while (Serial.available() > 0)

{ valx = Serial.parseInt(); valy = Serial.parseInt(); if (Serial.read() == '\n')

{ Serial.print ("x=");Serial.println (valx); Serial.print ("y=");Serial.println (valy); } }

}

Dengan menjalankam program diatas maka akan tertampil nilai data serial pada arduino seperti ditunjukkan pada gambar 4.6.

(10)

4.6 Pengujian Secara Keseluruhan

Pada pengujian ini dilakukan pengujian secara keseluruhan sistem yang dibuat, mulai dari objek terdeteksi sampai melakukan tracking pada objek. Pada bagian ini ditunjukkan hasil pembuatan lengan robot yang dapat mendeteksi api dan hasil dari seluruh tahapan yang telah dilakukan dalam penelitian ini .

Gambar 4.7 Hasil Pembuatan Lengan Robot Pendeteksi Api

Pengujian dilakukan dengan mengukur terangnya cahaya pada ruangan menggunakan lux meter kemudian dibandingkan dengan jarak yang dapat terdeteksi.

Tabel 4.2 perbandingan terang cahaya pada ruang dengan jarak objek terdeteksi. Cahaya pada ruang Jarak terdeteksi (cm)

232 lux (Terang) 70

198 lux (Sedang) 100

16.61 lux (Gelap) 130

Pada tabel besarnya nilai lux dikategorikan dalam kondisi terang, sedang dan gelap. Pada saat kondisi cahaya ruangan terang diperoleh jarak objek terdeteksi sejauh 70 cm, kemudian pada kondisi cahaya ruang sedang diperoleh jarak 100 cm, dan pada kondisi cahaya ruang gelap diperoleh jarak 130 cm. sehingga diperoleh data semakin besar nilai lux maka jangkauan objek terdeteksi oleh kamera semakin dekat. Pada gambar 4.8 dan 4.9 menunjukkan hasil pengukuran cahaya pada ruang dan jarak pada objek terdeteksi.

(11)

Gambar 4.8 hasil pengukuran cahaya ruang menggunakan lux meter.

Gambar 4.9 pengukuran jarak objek terdeteksi

Pada pengujian ini kamera dapat mendeteksi objek dengan baik. Namn dalam beberapa uji coba, mengingat karakteristik dari api bila tertiup angin akan redup atau bila objek berada diluar range yang telah ditentukan, maka terdapat beberapa waktu saat kamera tidak dapat mendeteksi api dengan baik. Sehingga api tidak terdeteksi beberapa saat.

(12)

Gambar 4.10 Pengujian Deteksi Objek dan Tracking

Secara garis besar prinsip kerja dari lengan robot pendeteksi titik api ini dimulai saat kamera mendeteksi objek. Saat objek berhasil terdeteksi oleh kamera maka servo akan memposisikan sampai objek berada pada koordinat yang telah ditentukan.

Gambar

Gambar 4.1 pengujian modul kamera Raspberry Pi v2
Gambar 4.2a. warna normal Gambar 4.2b. warna HSV api Dalam penelitian ini diperlukan nilai minimal dan maksimal dari warna api
Gambar  4.3b  menunjukkan  hasil  pemfilteran  untuk  mengurangi noise.  Setelah dilakukan  pemfilteran,  dicari contour terluar  dari  objek  terdeteksi  dengan menggunakan  cv2.findContours  yang  terdapat  pada  pustaka  OpenCV  sebagai berikut :
Gambar 4.4 Membuat Lingkaran pada Objek Terdeteksi
+6

Referensi

Dokumen terkait

First they questioned the social norms when they started practicing organic agriculture during the time when almost all farmers used chemical fertilizers and pesticides to

dalam karyanya yang berjudul ‘Problematika Pembelajaran Pendidikan Jasmani bagi Tunanetra di Sekolah Umum’ yang menyatakan bahwa “Guru pendidikan jasmani tidak memahami

Pengalaman auditor, tekanan ketaatan dan kompleksitas tugas berpengaruh secara bersama-sama terhadap audit judgment yang dihasilkan oleh auditor pada BPKP Perwakilan

Dengan pandangan Diamond serta Ribot dan Peluso tersebut, studi telah dilakukan untuk mendapatkan pengetahuan tentang masalah kelembagaan dalam pelaksanaan rehabilitasi hutan

terdapat 9 basic event yang menyebabkan timbulnya top level event yaitu cahaya lampu tidak merata, lama waktu ekspose berbeda-beda, rakel yang digunakan tidak rata, penjadwalan

Kegiatan pengabdian kepada masyarakat seperti yang dilakukan oleh pengabdi melalui kerjasama antara institusi pendidikan dengan institusi kesehatan, salah satunya dengan

Tulos on tosin yhteneväinen verrattuna aiemmin esitettyyn tietoon, joka käsittelee kehitysvammaisten ihmis- ten osallisuuden ja itsemääräämisoikeuden toteutumiseen

Skripsi ini disusun untuk memenuhi salah satu syarat untuk memperoleh gelar sarjana keperawatan (S.Kep) pada Program Studi Pendidikan Ners Fakultas Keperawatan Universitas