BAB IV HASIL DAN UJI COBA Pada Bab ini dilakukan pengujian pada beberapa bagian robot seperti tampilan LCD, sensor jarak, sensor kompas digital dan input/ouput lainnya untuk mengetahui kinerja alat apakah sudah sesuai dengan perencanaan dan mendapatkan hasil pengukuran yang akurat. IV.1. Hasil Perancangan dan Desain Robot Pemotong Rumput Hasil perancangan bentuk mekanik Robot Pemotong Rumput Otomatis dan peletakan rangkaian-rangkaian pendukung seperti Arduino Uno, Motor DC, Driver Motor dan lain-lain seperti ditunjukkan pada gambar berikut ini: IV.1.1 Hasil Perancangan Mekanik Robot Perancangan mekanik Robot Pemotong Rumput ini menggunakan 4 buah motor DC dan Roda sebagai sistem pergerakannya. Keempat motor DC ini dikendalikan oleh 1 buah driver motor L298D. Hasil perancangan mekanik robot dapat dilihat pada gambar berikut ini: Pada gambar IV.1 merupakan bagian depan robot yang terdapat mekanik pemotong rumput berupa motor DC dan alat pemotong rumputnya. Pada bagian depan juga terdapat sensor ultrasonik yang berfungsi untuk mendeteksi halangan pada bagian depan.
Gambar IV.1 Mekanik Robot Pemotong Rumput Tampak Depan Gambar IV.2 Mekanik Robot Pemotong Rumput Tampak Belakang
Gambar IV.3 Mekanik Robot Pemotong Rumput Tampak Samping Gambar IV.4 Mekanik Robot Pemotong Rumput Tampak Bawah
Apabila dilihat dari bawah, terlihat ada 4 buah motor DC gearbox berwarna kuning dengan rodanya sebagai pergerakan robot. 2 buah motor DC sebelah kanan dihubungkan secara paralel kemudian disambungkan dengan driver motor bagian kanan, kemudian 2 buah motor DC sebelah kiri dihubungkan secara paralel juga dan disambungkan dengan driver motor L298D bagian kiri. Pada bagian depan terdapat mekanik pemotong rumput berupa motor DC 12 volt yang dipasang baling-baling tajam yang berfungsi sebagai pemotong rumput. Motor DC pemotong rumput ini dikendalikan menggunakan rangkaian Relay. IV.1.2 Hasil Perancangan Rangkaian Elektronika Robot Perancangan rangkaian elektronika pada Robot Pemotong Rumput Otomatis ini menggunakan beberapa modul, antara lain Arduino Uno R3, Sensor Ultrasonik HC SR04, Rangkaian Relay, Sensor Kompas Digital, Rangkaian LCD dan Driver Motor. 1 2 3 4 5 6 7 Gambar IV.5 Hasil Perancangan Rangkaian Elektronika Berikut ini merupakan penjelasan bagian-bagian rangkaian elektronika yang ditunjukkan pada gambar IV.5.
1. Rangkaian Relay, berfungsi sebagai saklar on/off Motor DC Pemotong Rumput. 2. Arduino Uno R3, sebagai sistem kendali utama (otak) dari Robot Pemotong Rumput Otomatis 3. Saklar On/Off, sebagai saklar (pemutus) sumber tegangan battery ke seluruh rangkaian. 4. Sensor Ultrasonik, sebagai pendeteksi halangan bagian depan robot, apabila terhalang, maka robot akan berhenti dan belok. 5. Sensor Kompas Digital, sebagai navigasi robot untuk berputar 90 derajat secara akurat. 6. Rangkaian LCD 16x2, sebagai tampilan nilai data sensor dan informasi berupa tulisan. 7. Driver Motor DC L298D, sebagai pengendali arah putaran motor DC untuk maju, mundur, berhenti, belok kanan dan kiri. IV.2. Instalasi Software Arduino IDE Sebelum melakukan pemrograman, terlebih dahulu memasang aplikasi Arduino IDE. Dalam proses instalasi ini menggunakan aplikasi Arduino 1.6.5. Untuk melakukan instalasi ini dapat dilakukan dengan beberapa langkah antara lain : 1. Double klik instalasi arduino_ide.exe.
Gambar IV.6 Proses Awal Instalasi Arduino IDE 2. Klik Install untuk memulai proses instalasi software Arduino IDE. Gambar IV.7 Proses Instalasi Berlangsung
3. Apabila muncul Install Arduino USB Driver klik Always Trust dan Install Gambar IV.8. Proses Instalasi Berlangsung 4. Setelah selesai proses instalasi, langkah pertama yang dilakukan adalah dengan mengklik icon. Setelah program melakukan load maka akan terlihat bentuk tampilan seperti gambar VI.4. Gambar IV.9. Tampilan Sketch Arduino 1.6.5
5. Selanjutnya yang dilakukan sebelum meng-upload program ke modul Arduino adalah melakukan pengaturan (setting) pada perangkat yang diperlukan dan mengetikkan program sesuai dengan yang dibutuhkan. Pengaturan pertama adalah pemilihan Board arduino yang digunakan pada software sesuai dengan perangkat yaitu Arduino UNO, seperti pada gambar IV.3. Pengaturan kedua adalah pemilihan port USB yang digunakan perangkat, seperti pada gambar IV.5. Gambar IV.10. Pengaturan dan Pemilihan Board Arduino Pemilihan board arduino ini harus sesuai dengan Board Arduino yang digunakan. Apabila tidak sesuai, maka program yang diketikkan tidak dapat di-compile dan di-upload. Selain pemilihan board harus sesuai, pemilihan Port COM posisi arduino berada juga harus sesuai. Karena COM ini digunakan sebagai jalur komunikasi antara software Arduino IDE dengan Board Arduino.
Gambar IV.11. Pengaturan Port USB pada Software Arduino 1.6.5 IV.3. Pengujian Minimum Sistem Arduino Uno dengan LCD Rangkaian LCD pada penelitian ini berfungsi untuk menampilkan informasi berupa tulisan dan data dari sensor warna yang dibaca oleh arduino. Untuk mengetahui apakah rangkaian LCD yang telah dibuat dapat bekerja sesuai yang diinginkan maka dilakukan pengujian rangkaian LCD yang dihubungkan dengan minimum sistem Arduino Uno R3. Peralatan yang dibutuhkan untuk melakukan pengujian ini yaitu : 1. Minimum Sistem Arduino Uno R3 2. Kabel data Arduino Uno R3 3. Rangkaian LCD 16 x 2 4. Software Arduino IDE Blok diagram pengujian rangkaian LCD dengan Arduino Gambar IV.7 : Arduino Uno
Laptop LCD 16 x 2 Gambar IV.12 Blok Diagram Pengujian LCD dengan Arduino Langkah-langkah melakukan pengujian rangkaian LCD : 1. Buka aplikasi Arduino IDE 2. Selanjutnya akan muncul tampilan awal sketch_xxxxxx secara otomatis seperti pada langkah sebelumnya. 3. Mengetikkan listing program untuk pengujian rangkaian LCD seperti pada gambar IV.8. Gambar IV.13 Listing Program Pengujian LCD 4. Klik Sketch Verify. Kemudian akan muncul kotak dialog untuk menyimpan file project yang baru dibuat. Dapat dilihat pada Gambar IV.9.
Gambar IV.14 Kotak Dialog Menyimpan Program 5. Kalau sudah tidak ada error, maka klik ikon Upload atau Ctrl + U. Analisa Hasil Program : Pertama kali membuat program arduino yaitu pemanggilan library #include <LiquidCrystal.h> yang berfungsi untuk menambahkan fungsi-fungsi program menampilkan karakter pada LCD. Kemudian LiquidCrystal lcd(8,9,10,11,12,13); adalah listing program untuk pengaturan letak pin-pin kaki LCD dihubungkan ke pin Arduino Uno. Penulisan pin ini harus sesuai antara program dengan alat yang telah dipasang. Selanjutnya lcd_begin(16,2); yaitu pengaturan jumlah baris dan kolom sesuai LCD yang digunakan yaitu LCD 16x2 karakter. Untuk menuliskan -PENGUJIAN LCD- pada baris atas, dituliskan perintah lcd.setcursor(0,0); lcd.print("--pengujian LCD-"); yang artinya penulisan karakter --PENGUJIAN LCD- dimulai dari kolom pertama dan baris pertama (0,0). Angka 0 menyatakan dari awal kolom dan awal baris. Apabila menginginkan penulisan pada baris kedua, yaitu menggunakan perintah lcd.setcursor(0,1); lcd.print("---ardiansyah--- ");. Secara keseluruhan hasil keluaran pengujian LCD yang telah dilakukan ditunjukkan pada gambar IV.10.
Gambar IV.15 Foto Hasil Pengujian LCD IV.4. Pengujian Sensor Ultrasonic dengan LCD Sensor ultrasonik pada alat pemotong rumput otomatis ini digunakan untuk mendeteksi dinding tepi lapangan dan halangan rintangan yang ada di depan robot. Untuk mengetahui apakah sensor ultrasonik ini sudah bekerja dengan baik atau belum, maka perlu dilakukan pengujian pada tahap ini. Peralatan yang dibutuhkan untuk melakukan pengujian ini yaitu : 1. Minimum Sistem Arduino Uno R3 2. Kabel data Arduino Uno R3 3. Sensor Ultrasonik HC SR04 4. Rangkaian LCD 16x2 5. Software Arduino IDE Blok diagram pengujian modul sensor dengan Arduino dan LCD seperti pada Gambar IV.11 berikut ini : Sensor Laptop Arduino Uno LCD 16 x 2
Gambar IV.16 Blok Diagram Pengujian Sensor Ultrasonik Langkah-langkah melakukan pengujian Sensor Ultrasonik : 1. Buka aplikasi Arduino IDE 2. Selanjutnya akan muncul tampilan awal sketch_xxxxxx secara otomatis seperti pada langkah sebelumnya. 3. Mengetikkan listing program untuk pengujian sensor Ultrasonik. 4. Klik Sketch Verify. Kemudian akan muncul kotak dialog untuk menyimpan file project yang baru dibuat. 5. Kalau sudah tidak ada error, maka klik ikon Upload atau Ctrl + U. Analisa Hasil Program : Sensor ultrasonik yang digunakan pada Robot Pemotong Rumput Otomatis ini memiliki 4 pin Vcc, GND, Trigger dan Echo yang dihubungkan pada pin A3 dan A2 Arduino. #include <LiquidCrystal.h> LiquidCrystal lcd(8,9,10,11,12,13); #define trigger_dpn A3 #define echo_dpn A2 long counter_dpn, jarak_dpn; Program utama proses pembacaan data sensor tampak seperti cuplikan fungsi program berikut ini : void loop() { digitalwrite(trigger_dpn, LOW); delaymicroseconds(2); digitalwrite(trigger_dpn, HIGH); delaymicroseconds(10); digitalwrite(trigger_dpn, LOW); counter_dpn = pulsein(echo_dpn, HIGH); jarak_dpn = (counter_dpn/2) / 29.1;
} lcd.setcursor(0,1); lcd.print("d="); lcd.print(jarak_dpn); lcd.print(" cm "); Konsep dari sensor ultrasonik ini menggunakan konsep pembacaan pantulan suara. Jarak diukur berdasarkan waktu yang dibutuhkan ketika sinyal pertama dikirimkan dan dihitung waktunya kapan sinyal itu diterima kembali oleh sensor. Pin Trigger di sini berfungsi sebagai pemancar sinyal suara kemudian diterima oleh pin Echo. Ketika sensor didekatkan sebuah objek, semakin dekat jarak sensor terhadap objek maka semakin kecil nilai jaraknya. Jarak terukur dalam satuan centimeter. Pada gambar IV.13 merupakan pengujian sensor ketika tidak ada halangan object, pada tampilan LCD terlihat jarak terukur 207 cm. Gambar IV.17 Pengujian Pembacaan Sensor Ultrasonik tanpa Halangan Pada pengujian ini, sensor ultrasonik didekatkan dengan objek berupa papan triplek. Jarak terukur pada saat objek didekatkan tertulis 5 cm. Gambar IV.18 Hasil Pembacaan Sensor Ultrasonik Ketika Ada Halangan Sensor terukur jarak 5 cm karena didekatkan objek berupa triplek sangat dekat. IV.5. Pengujian Alat Secara Keseluruhan
Pengujian alat secara keseluruhan ini merupakan gabungan dari pengujian-pengujian tiap bagian input dan output yang telah dilakukan sebelumnya. Peralatan yang dibutuhkan untuk melakukan pengujian ini yaitu : 1. Minimum Sistem Arduino Uno R3 2. Kabel data Arduino Uno R3 3. Sensor Ultrasonik 4. Sensor Kompas Digital 5. Rangkaian LCD 6. Buzzer 7. Software Arduino IDE Blok diagram pengujian Alat secara Keseluruhan seperti ditunjukkan pada Gambar IV.14 berikut ini: Sensor Sensor Laptop Arduino Uno Driver Motor LCD 16 x 2 Motor DC Gambar IV.19 Blok Diagram Pengujian Rangkaian Keseluruhan Langkah-langkah melakukan pengujian Alat secara Keseluruhan : 1. Buka aplikasi Arduino IDE 2. Selanjutnya akan muncul tampilan awal sketch_xxxxxx secara otomatis seperti pada langkah sebelumnya. 3. Mengetikkan listing program untuk pengujian rangkaian Keseluruhan.
4. Klik Sketch Verify. Kemudian akan muncul kotak dialog untuk menyimpan file project yang baru dibuat. 5. Kalau sudah tidak ada error, maka klik ikon Upload atau Ctrl + U. Hasil Pengujian Keseluruhan : Pada saat alat pertama kali dinyalakan, arduino melakukan inisialisasi program berupa pengaturan input dan output setiap pin arduino, pengaturan model LCD yang digunakan dan pemberian nilai awal suatu variabel. Cuplikan program berikut ini berfungsi untuk pemanggilan pustaka program yang dibutuhkan dan pengenalan posisi pin dengan nama variable yang mudah diingat. #include <LiquidCrystal.h> #include <Wire.h> #include <HMC5883L.h> HMC5883L compass; LiquidCrystal lcd(8,9,10,11,12,13); #define trigger_dpn A3 #define echo_dpn A2 #define pwm_kanan 5 #define pwm_kiri 3 byte speed_kanan,speed_kiri; long counter_dpn, jarak_dpn; long counter_blkg, jarak_blkg; float headingdegrees; Pada kutipan program berikut ini menjelaskan bahwa setiap input dan output untuk sensor dilakukan pada bagian void setup() {}. lcd.begin(16,2); pinmode(trigger_dpn,output); // transmitter - OUTPUT pinmode(echo_dpn,input); // receiver - INPUT pinmode(relay,output); digitalwrite(relay,high); Serial.begin(9600); Wire.begin(); // Start the I2C interface. compass = HMC5883L(); // Construct a new HMC5883 compass. error = compass.setscale(1.3); // Set the scale if(error!= 0) Serial.println(compass.GetErrorText(error)); Serial.println("Setting measurement mode to continous."); error = compass.setmeasurementmode(measurement_continuous); if(error!= 0) Serial.println(compass.GetErrorText(error)); }
Pada cuplikan program berikut ini, juga dilakukan komunikasi serial dengan I2C yang yang berfungsi untuk menerima data dari sensor kompas. void baca_kompas() { MagnetometerRaw raw = compass.readrawaxis(); MagnetometerScaled scaled = compass.readscaledaxis(); int MilliGauss_OnThe_XAxis = scaled.xaxis;// (or YAxis, or ZAxis) float heading = atan2(scaled.yaxis, scaled.xaxis); float declinationangle = 0.0457; heading += declinationangle; if(heading < 0) heading += 2*PI; // Correct for when signs are reversed. if(heading > 2*PI) heading -= 2*PI; // Check for wrap due to addition of declination. headingdegrees = heading * 180/M_PI; lcd.setcursor(0,1); lcd.print(headingdegrees); //Serial.println(" Degrees"); } Data sensor kompas simpan pada vaiabel headingdegrees. Ketika proses pembacaan data sensor tersebut ditampilkan pada LCD bagian bawah. Untuk pergerakan robot, digunakan fungsi berikut ini untuk pergerakan maju dan mundur. void maju(int kanan, int kiri) //ROBOT BERGERAK MAJU { analogwrite(pwm_kanan,kanan); digitalwrite(dir_kanan1,high); digitalwrite(dir_kanan2,low); analogwrite(pwm_kiri,kiri); digitalwrite(dir_kiri1,high); digitalwrite(dir_kiri2,low); } void mundur(int kanan, int kiri) //ROBOT BERGERAK MUNDUR { analogwrite(pwm_kanan,kanan); digitalwrite(dir_kanan1,low); digitalwrite(dir_kanan2,high); analogwrite(pwm_kiri,kiri); digitalwrite(dir_kiri1,low); digitalwrite(dir_kiri2,high); } Sedangkan fungsi belok kanan dan kiri hampir sama dengan fungsi maju dan mundur. Sistem kerja dari pemotong rumput otomatis ini, robot akan bergerak maju sambil memotong rumput sampai sensor garis mendeteksi garis berwarna putih. Apabila sudah terdeteksi garis putih, maka robot berhenti, kemudian belok 90 derajat ke kanan, kemudian maju sedikit kemudian belok 90 derajat lagi untuk putar balik arah kemudian mulai memotong rumput lagi. if(garis1>200 garis2>200) { stops(); delay(1000); baca_kompas(); while(headingdegrees>=0 && headingdegrees<=3) {belok_kanan(80,80);}
} stops(); delay(1000); maju(80,80); delay(1000); stops(); delay(1000); while(headingdegrees>=89 && headingdegrees<=91){belok_kanan(80,80);}; stops(); delay(1000); Alat pemotong rumput ini akan terus-menerus melakukan pemotongan rumput sampai alat dimatikan oleh pengguna. Berikut ini merupakan hasil pengujian di lapangan pada saat robot melakukan proses pemotongan rumput. Gambar IV.20 Kondisi Rumput Sebelum Dipotong
Gambar IV.21 Robot Melakukan Proses Pemotongan Gambar IV.22 Kondisi Rumput Sebelum Setelah Dipotong IV.6. Kelebihan dan Kekurangan
IV.6.1 Kelebihan Kelebihan dari alat yang telah dibuat dibandingkan dengan alat yang pernah dibuat orang lain yaitu : 1. Alat yang dibuat dapat memotong rumput lapangan sepakbola secara otomatis yang dilengkapi dengan sensor ultrasonik dan sensor garis. 2. Robot pemotong rumput yang dibuat juga dilengkapi dengan kompas digital sehingga navigasi robot untuk belok lebih sempurna. 3. Robot pemotong rumput memiliki banyak kelebihan yang tidak dimiliki manusia diantaranya menghasilkan output yang sama ketika mengerjakan suatu pekerjaan secara berulang-ulang, tidak mudah lelah, serta bisa menguntungkan pada para pengusaha atau perusahaan. IV.6.2 Kekurangan Kekurangan dari alat yang telah dibuat antara lain 1. Robot pemotong rumput tidak bias memotong rumput yang terlalu tinggi melebihi dari robot tersebut. 2. Robot pemotong rumput tidak bias berjalan terlalu cepat. 3. Robot tidak bisa bekerja ditempat yang berbatuan atau di lapangan yang bergelobang dan tidak rata.