BAB IV IMPLEMENTASI DAN PENGUJIAN
Pada Bab ini penulis menjelaskan mengenai langkah-langkah praktek untuk memproses data waktu yang diperoleh kemudian diolah selanjutnya menjadi sebuah pergerakan pada motor untuk mengetahui tingkat keberhasilan dari hasil analisa yang telah dibahas sebelumnya. Tujuan dari pengujian ini adalah untuk mengetahui kinerja dari sistem yang berupa kehandalan dan ketepatan eksekusi antara program dengan modul yang dibuat untuk mengontrol sistem yang ada, dan tidak menutup kemungkinan adanya error (bugs) serta kekurangan-kekurangan dalam sistem yang telah dibuat. Untuk memudahkan dalam menganalisa dan menghindari adanya eror, maka sebelum semua program digabungkan menjadi program yang terintegrasi, maka sebaiknya dilakukan pengujian program dari masing-masing bagian secara terpisah. Pengujian keseluruhan yang dilakukan pada bab ini.
4.1.
Pengujian Pakan Otomatis Pada pengujian kali ini penulis melakukan sebuah pengujian berupa
pergerakan motor servo yang digunakan pada pakan otomatis
4.1.1. Pengujian Pergerakan Servo Pengujian
pergerakan
servo
secara
otomatis
dimaksudkan
untuk
mengetahui berapa lama proses perputaran servo demi memastikan servo bergerak pada sudut yang di tentukan.
30 http://digilib.mercubuana.ac.id/
31
Berikut tabel pengujian pergerakan servo. Tabel 4.1 Pergerakan servo Waktu pemberian pakan
Jumlah perputaran sudut
Duras/Delay
PK 07:00
1100
4 Detik
PK 17:00
1100
4 Detik
Dari tabel di atas telah dipastiskan bahwa waktu pakan, jumlah putaran sudut dan durasi telah sesuai dengan perintah yang diberikan oleh program.
4.1.2. Pengujian Keluaran Pakan Kecil Berdasarkan pengujian di atas penulis melakukan kembali pengujian terhadap berapa banyak butir pakan ikan yang keluar dari pengujian diatas. Berikut table pengujian keluaran pakan. Table 4.2 Jumlah keluaran pakan. No Percobaan
Sudut
Durasi
Banyak Pakan Kecil
1
1100
4 detik
< = 25
2
1100
4 detik
< = 22
3
1100
4 detik
< = 24
4
1100
4 detik
< = 20
5
1100
4 detik
< = 21
Hasil pengujian keluaran pakan pada Tabel 4.2 memperlihatkan banyaknya jumlah pakan yang dapat keluar, dimana sudut percobaan 110 0 dengan delay 4 detik sebelum kembali pada posisi sudut 00.
http://digilib.mercubuana.ac.id/
32
Table 4.3 Pengujian pakan. no
Tinggi pakan /cm
Jumlah ikan
Keterangan Dengan tinggi
1
10
1cm jumlah pakan yang keluar < 25 . Dengan tinggi
2
20
2cm jumlah pakan yang keluar < 35 . Dengan tinggi
3
30
3cm jumlah pakan yang keluar > 39 .
Agar pakan keluar tepat pada lubang maka sudut ditentukan 1100, jika pakan di pos 900 maka akan mendapatkan kemiringan seperti berikut .
Gambar 4.1 Pakan sudut 90o
http://digilib.mercubuana.ac.id/
33
Jadi sudut kita tambahkan menjadi 1100, maka hasil kemiringan yang dapat.
Gambar 4.2 Pakan sudut 110o Dengan kemiringan ini maka pakan yang turun dari dalam wadah akan lebih terfokus pada lubang karna permukaan jatuhnya pakan/ penumpukan pakan tidak datar seperti pada sudut 900. 4.2.
Implementasi Pewaktuan Sistem Spesifikasi Pengujian Pewaktuan Sistem disini menggunakan RTC DS 1307
sebagai timer , dan dibutuhkan tegangan supply 5 V mengaktifkan Rangkaian RTC DS 1307 serta seperangkat PC sebagai media untuk memasukkan program ke dalam Arduino mega 1280 yang berfungsi sebagai controller. Untuk data berikut ini adalah untuk melihat bahwa RTC memilki battery cadangan saat , supply 5V terputus clock pada RTC tetap bekerja dikarenakan adanya battery cadangan 3V pada rangkaian RTC DS 1307 Karena RTC DS 1307 ini memiliki battery backup maka timer yang bekerja dapat terus berjalan meskipun supply utama mati, sehingga dapat disimpulkan bahwa Sistem Pewaktuan ini bisa digunakan kerena bisa bekerja dan berfungsi selain itu kelebihannya adanya baterry cadangan dan pada proyek akhir ini RTC DS1307 akan diintegrasikan dengan tempat penampungan makanan guna melakukan pengisian makanan secara otomatis.
http://digilib.mercubuana.ac.id/
34
4.3.
Implementasi Hardware Pengujian sistem dilakukan untuk mengetahui kinerja dari perangkat yang
dibangun. Pengujian dilakukan pada masing-masing subsistem dari perangkat sehingga dapat dianalisa dan disimpulkan apakah perangkat telah sesuai dengan apa yang diharapkan. 4.4.
Implementasi Pin Board pada Arduino Pengujian ini dilakukan untuk mengetahui apakah port pada arduino dapat
berfungsi dengan baik atau tidak. Pengujian rangkaian arduino dilakuakn dengan memberikan program sederhana. Potongan program dibawah ini adalah listing program yang digunakan untuk pengujian rangkaian arduino :
Gambar 4.3 Skematik Pengujian Board Arduino
http://digilib.mercubuana.ac.id/
35
Gambar 4.4 Skematik Pengujian Board Arduino Dengan mengupload listing program diatas, kita dapat mengetahui apakah arduino dalam keadaan baik dengan cara meletakkan kaki positif LED pada pin 13, dan negatifnya diletakkan pada port GND arduino. Setelah mengupload program dan menempatkan LED pada pin 13, maka LED akan menyala selama satu detik dan kemudian padam selama satu detik, demikian seterusnya. Jika LED dapat menyala dan padam selama satu detik secara terus menerus, maka rangkaian board arduino dalam keadaan baik.
http://digilib.mercubuana.ac.id/
36
4.5.
Implementasi Arduino dengan Power Supply Implementasi pada bagian ini adalah menghubungkan Arduino dengan power
supply dengan masing-masing pin yang telah dirancang sebelumnya dengan maksud power supply memberikan tegangan listrik terhadap Arduino. Adapun pin dan port kabel pada masing-masing ditampilkan pada gambar 4.1.
Gambar 4.5 Rangkaian kabel arduino dengan power supply 4.6.
Implementasi Motor Servo Bagian ini menyajikan prosedur simulasi servo kontrol motor menggunakan
perangkat lunak Arduino IDE dihubungkan dengan Serial Port. Kode program ditulis ke port, tingkat logika dalam rangkaian akan berubah sesuai, dan jika rangkaian perubahan keadaan pin prosesor, hal ini dapat dilihat dengan kode program, seperti dalam kehidupan nyata. Spesifikasi pengujian ini adalah tegangan supply 12 V dan 5 V untuk mengaktifkan Microkontroller dan Motor DC , seperangkat PC yang digunakan untuk mengupload program ke Arduino Mega 1280 sehingga bisa mengatur gerakkan
http://digilib.mercubuana.ac.id/
37
motor. Pengujian Driver motor DC ini bertujuan untuk mengetahui bahwa driver bisa digunakan sebagaimana mestinya dalam hal ini untuk mendrive motor DC , Untuk secara keseluruhan pengujian ini yang dibutuhkan . Pada bagian ini dijelaskan pergerakan pada kinerja motor servo yang akan bersinergi dengan waktu yang di tebtukan dan bergerak membentuk sudut 1100.
Gambar 4.6 Rangkain Motor Servo pada Microkontroller Berikut keterangan jalur warna:
Hitam Kabel hitam motor servo diletakan pada port GND microcontroller bagian bawah yang mengantarkan arus negative.
Merah Kabel merah motor servo diletakan pada Pin 7 microkontroller sebagai kabel jalur komunikasi.
Kuning Kabel kuning motor servo diletakan pada port 5v microcontroller bagian bawah yang mengantarkan arus positif.
http://digilib.mercubuana.ac.id/
38
Dari pengujian dapat dianalisakan bahwa motor akan bergerak apabila waktu telah mencapai batsan waktu awal, Namun motor akan behenti apabila sudah melewati batasan waktu akhir yaitu setelah motor kembali pada posisi awal, sehingga bisa disimpulkan bahwa gerakkan motor teragntung pada penjadwalan jam yang diberikan sehingga nantinya arah putaran akan di atur oleh driver motor DC. Data sinyal yang diperoleh dari slider disesuaikan akan dikirim ke mikrokontroler dan sinyal ini akan memutar motor servo berdasarkan pada sudut yang diinginkan disesuaikan dengan slider. Program dapat di-upload ke mikrokontroler untuk membuatnya siap untuk aplikasi nyata selama pelaksanaan hardware. Akibatnya, semua data ditulis ke satu port serial virtual dapat segera dibaca oleh yang lain, dan sebaliknya. Selain itu, fungsi ini adalah mudah terintegrasi ke dalam perangkat lunak. Port harus didefinisikan dengan benar dalam serial virtual pelabuhan memastikan bahwa sinyal telah dikirim ke jalan yang benar antara dua port serial. Prosedur Testing 1. Hubungkan sumber tegangan +5 VDC dari microkontroller Arduino Mega ke Pin positif motor servo. 2. Hubungkan Pin Ground dari microcontroller Arduino Mega ke Pin negatif motor servo. 3. Hubungkan Pin digital I/O 3 dari microcontroller Arduino Mega dengan Pin data modul motor servo.
4.7.
Implementasi RCT Pada bagian ini akan dilihat bagimana RCT bekerja sesuai dengan
fungsionalnya juga RTC (Real Time Clock) merupakan subsistem yang berfungsi sebagai jam digital. Pengujian pada RTC dilakukan dengan cara membuat program dan melihat apakah RTC dapat berjalan dengan baik atau tidak dengan melihat tampilan pada LCD.
http://digilib.mercubuana.ac.id/
39
Spesifikasi Pengujian Pewaktuan Sistem disini menggunakan RTC DS 1307 sebagai timer , dan dibutuhkan tegangan supply 5 V mengaktifkan Rangkaian RTC DS 1307 serta seperangkat PC sebagai media untuk memasukkan program ke dalam Arduino mega 1280 yang berfungsi sebagai controller. Jika supply 5V terputus, clock pada RTC tetap bekerja dikarenakan adanya battery cadangan 3V pada rangkaian RTC DS 1307. RTC DS 1307 ini memiliki battery backup maka timer yang bekerja dapat terus berjalan meskipun supply utama mati , sehingga dapat disimpulkan bahwa Sistem Pewaktuan pakan otomatis ini bisa digunakan kerena bisa bekerja dan berfungsi selain itu kelebihannya adanya baterry cadangan.
Gambar 4.7 Rancangan RTC dengan Microkontroller Arduino
http://digilib.mercubuana.ac.id/
40
Berikut keterangan jalur warna:
Hijau Kabel yang menyambungkan SLC dari RCT dengan bagian Analog In pada Microkontroler dengan pin A3.
Kuning Kabel yang menyambungkan SDA dari RCT dengan bagian Analog In pada Microkontroller dengan pin A2.
Merah Kabel yang menyambungkan VCC dari RCT dengan bagian Power pada Microkontroller dengan port bertuliskan arus 5v.
Biru Kabel yang menyambungkan GND dari RCT dengan bagian Power pada Microkontroller dengan port yang bertuliskan GND.
4.8.
Pengujian Sistem Pakan Otomatis Pengujian sistem pemberian makan, disini bertujuan untuk mengetahui berapa
sudut yang dibutuhkan untuk dapat melakukan pengisian makanan berdasarkan realtime yang mengacu pada pewaktuan di RTC DS1307. Untuk itu yang dilakukan adalah mempersiapkan bagian-bagian yang terkait dengan sistem misal motor dc,arduino , RTC DS1307 , pendukung lainnya, setelah isi tempat penampungan makanan dengan makanan yang telah disiapkan sebelumnya. Setelah semua persiapan telah dilakukan . Jalankan sistem tunggu hingga jam pada RTC menunjukkan jam 7.00 dan jam 17.00 , kemudian terlihat kemiringan sudut saat proses pemberian makanan sesuai dengan realtime yang sudah ditentukan sebelumnya. Dari hasil proses diatas nilai yang dibaca oleh Arduino adalah nilai keluaran waktu dari RCT, selanjutnya keluaran dari proses RCT ke Arduino akan dijadikan sebuah perintah gerak pada motor servo untuk menggerakan wadah pakan.
http://digilib.mercubuana.ac.id/
41
4.9.
Penulisan Kode Pada Arduino Penulisan kode/script yang ditanamkan (embed) pada papan Mikrokontroller
Arduino Mega dengan menggunakan Arduino IDE dimana void setup () adalah kode yang akan dieksekusi ketika Arduino dalam keadaan hidup dan hanya sekali dijalankan, sedangkan void loop() adalah kode yang dieksekusi secara berulang-ulang ketika arduino tersebut dalam keaadaan hidup. 4.9.1
Kode pada Motor Servo DC Implementasi kode pada Motor Servo DC dengan menanamkan (embed
program) pada Arduino untuk mengoptimalkan kinerja putaran/gerkan rotasi pada pakan. Berikut potongan kode yang ditanamkan pada Motor Servo DC:
Servo myservo; int pos = 0; void setup() { rtc.begin(DateTime(__DATE__, __TIME__)); myservo.attach(7); Serial.begin(9600); Serial1.begin(9600); void loop() {
// tell servo to go to position in variable 'pos' //kasih makan ikan myservo.write(10); delay(2000); myservo.write(110);
http://digilib.mercubuana.ac.id/
42
4.9.2
Kode pada RTC(Real Time Clock) Implementasi kode pada RTC(Real Time Clock) dengan menanamkan
(embed program) pada Arduino untuk proses ppewaktuan pakan, apabila waktu pada RTC tidak sesuai dengan nilai yang telah didefiniskan sebelumnya maka motor servo DC tidak menjalankan perintah yang diberikan oleh Arduino untuk menggerakan wadah pakan. Berikut potongan kode yang ditanamkan pada RTC :
// pakan DateTime now = rtc.now(); Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC);
Serial.print('/'); Serial.print(now.day(), DEC); Serial.print(' '); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); Serial.println(); if( now.hour()==7 || now.hour()==18) { // kasih makan ikan //kasih makan ikan myservo.write(110); delay(2000); myservo.write(110);
http://digilib.mercubuana.ac.id/