Implementasi Perangkat Keras Implementasi Program

5. Menerima serial UART dari HP Serial CLR ri PUSH a PUSH psw PUSH MOV r0,SrBuff_M MOV a,SrCtr_M ADD a,r0 MOV r0,a MOV r0,sbuf INC SrCtr_M MOV a,SrCtr_M CJNE a,SrCtrMax_C+1,SrJ1 MOV SrCtr_M,SrCtrMax_C SETB TooLong_F SrJ1 MOV SrTOTick_M,0 SETB SrTO_F POP POP psw POP a RETI 6. Menuliskan intruksi pada LCD menggunakan interface 4 bit LCD_Write_Inst PUSH psw CLR LCDRS_P SETB LCDCS_P MOV c,a.4 MOV LCDData4_P,c MOV c,a.5 MOV LCDData5_P,c MOV c,a.6 MOV LCDData6_P,c MOV c,a.7 MOV LCDData7_P,c CLR LCDCS_P LCALL LCD_Delay_Inst SETB LCDCS_P MOV c,a.0 MOV LCDData4_P,c MOV c,a.1 MOV LCDData5_P,c MOV c,a.2 MOV LCDData6_P,c MOV c,a.3 MOV LCDData7_P,c CLR LCDCS_P LCALL LCD_Delay_Inst POP psw RET 7. Menuliskan data pada LCD menggunakan interface 4 bit LCD_Write_Data PUSH psw SETB LCDRS_P SETB LCDCS_P MOV c,a.4 MOV LCDData4_P,c MOV c,a.5 MOV LCDData5_P,c MOV c,a.6 MOV LCDData6_P,c MOV c,a.7 MOV LCDData7_P,c CLR LCDCS_P LCALL LCD_Delay_Data SETB LCDCS_P MOV c,a.0 MOV LCDData4_P,c MOV c,a.1 MOV LCDData5_P,c MOV c,a.2 MOV LCDData6_P,c MOV c,a.3 MOV LCDData7_P,c CLR LCDCS_P LCALL LCD_Delay_Data POP psw RET 8. Melakukan inisialisasi LCD dengan interface 4 bit Init_LCD CLR LCDData4_P SETB LCDData5_P CLR LCDData6_P CLR LCDData7_P CLR LCDRS_P CLR LCDCS_P LCALL LCD_Delay_Inst MOV a,28h LCALL LCD_Write_Inst LCALL LCD_Delay_Inst LCALL LCD_Delay_Inst MOV a,1 LCALL LCD_Write_Inst MOV a,2 LCALL LCD_Write_Inst MOV a,6 LCALL LCD_Write_Inst MOV a,0Ch LCALL LCD_Write_Inst RET 9. Melakukan delay setelah pengiriman data ke LCD LCD_Delay_Data PUSH 7 MOV r7,50 DJNZ r7, POP 7 RET 10. Melakukan delay setelah pengiriman intruksi ke LCD LCD_Delay_Inst PUSH 7 PUSH 6 MOV r6,10 D2_J1 MOV r7,100 DJNZ r7, DJNZ r6,D2_J1 Pop 6 Pop 7 RET 11. Menampilkan text pada LCD dari posisi kursor terakhir Write_Text PUSH a WT_J1 CLR a MOVC a,a+dptr JNZ WT_J2 SJMP WT_J3 WT_J2 LCALL LCD_Write_Data INC dptr SJMP WT_J1 WT_J3 POP a RET 12. Menghapus seluruh tampilan pada LCD Clr_Screen PUSH a MOV a,1 ACALL LCD_Write_Inst POP a RET 13. Mengecek serial buffer apakah sama dengan SIM command Check_SIM_Cmd MOV r0,SrBuff_M Check_SIM_Cmd_r0 MOV r7,SrCtr_M CLR f0 CSIMCmdJ4 PUSH dph PUSH dpl PUSH CSIMCmdJ1 MOV b,r0 CLR a MOVC a,a+dptr JNZ CSIMCmdJ2 SETB f0 POP a POP dpl POP dph RET CSIMCmdJ2 CJNE a,b,CSIMCmdJ3 INC dptr INC r0 SJMP CSIMCmdJ1 CSIMCmdJ3 POP POP dpl POP dph INC r0 DJNZ r7,CSIMCmdJ4 RET 14. Menganalisis status HP Init_HP MOV dptr,INitHP_T LCALL Write_Text MOV a,0C0h LCALL LCD_Write_Inst MOV dptr,Wait_T LCALL Write_Text CLR LED_P MOV dptr,SetEchoOff_T ACALL Send_text_TX MOV dptr,EchoOff_C ACALL Send_Text_SIM JNB SrValid_F, CLR SrValid_F ACALL Send_Buffer MOV SrCtr_M,0 CPL LED_P MOV dptr,SetSMSMode_T ACALL Send_Text_TX MOV dptr,SMSMode_C ; set command syntax GSM 3.4x + phase 2+ ACALL Send_Text_SIM JNB SrValid_F, CLR SrValid_F ACALL Send_Buffer MOV SrCtr_M,0 CPL LED_P MOV dptr,SetSMSFormat_T ACALL Send_Text_TX MOV dptr,SMSFormat_C ; set SMS format = PDU mode ACALL Send_Text_SIM JNB SrValid_F, CLR SrValid_F ACALL Send_Buffer MOV SrCtr_M,0 CPL LED_P MOV dptr,SetSMSAlert_T ACALL Send_Text_TX MOV dptr,SMSAlert_C ;set SMS alert = PDU mode ACALL Send_Text_SIM JNB SrValid_F, CLR SrValid_F ACALL Send_Buffer MOV SrCtr_M,0 CPL LED_P MOV dptr,SetKeylock_T ACALL Send_Text_TX MOV dptr,KeyLock_C ; set key locked ACALL Send_Text_SIM JNB SrValid_F, CLR SrValid_F ACALL Send_Buffer MOV SrCtr_M,0 CPL LED_P MOV dptr,SetMute_T ACALL Send_Text_TX MOV dptr,Mute_C ; set mute ACALL Send_Text_SIM JNB SrValid_F, CLR SrValid_F ACALL Send_Buffer MOV SrCtr_M,0 CPL LED_P MOV dptr,PCReady_T ACALL Send_Text_TX MOV SrCtr_M,0 SETB LED_P LCALL CLr_Screen RET 15. Memberi pakan pada ikan Do_Feeding MOV FeedHour_M,0 MOV FeedMin_M,0 MOV FeedSec_M,0 LCALL Save_Feed_Time SETB Feeding_F CLR Feeder_P MOV FTick_M,0 MOV FSec_M,0 RET 16. Melakukan pergantian air Do_Pumping MOV PumpHour_M,0 MOV PumpMin_M,0 MOV PumpSec_M,0 LCALL Save_Pump_Time SETB Pumping_F SETB Pump1_P CLR Pump2_P MOV PumpState_M,0 RET 17. Menentukan panjang karakter untuk no HP Phone_C DB 13 18. Penulisan no HP, tidak boleh menggunakan tanda “+” DB 6285730515185 19. Penerimaan pesan baru SMSAlert_C DB AT+CNMI=1,2,0,0,1,13,10,0 20. Proses pengiriman pesan dan pembacaan pesan SendSMS_C DB AT+CMGS=,0 21. Mengontrol panggilan masuk HangUp_C DB ATH,13,10,0 22. Mengirim informasi setelah melakukan feeding FeedingOK_SMS DB 17,Feeding OK, T: C,0 23. Mengirim informasi setelah melakukan pumping PumpingOK_SMS DB 17,Pumping OK, T: C,0 24. Untuk mengatur berapa lama auto feeder akan berputar SetVT_Cmd DB VT,0 25. Mengatur Suhu SetST_Cmd DB ST,0 26. Mengatur waktu pemberian pakan ikan SetSF_Cmd DB SF,0 27. Mengatur waktu pergantian air SetSP_Cmd DB SP,0 28. Memberikan pakan ikan sekarang Feed_Cmd DB FEED,0 29. Mengganti air sekarang Pump_CMd DB PUMP,0

BAB V PENGUJIAN DAN ANALISIS

5.1 Pendahuluan

Pada bab ini akan dibahas mengenai pengujian dan analisis pada hardware yang telah dirancang. Tujuan dari pengujian dan analisis ini adalah untuk mengetahui apakah hardware tersebut telah berfungsi dengan benar dan sesuai rencana atau tidak. Pengujian dan analisis ini ditujukan pada pengujian komponen-komponen yang terdapat pada Sistem Pemberian Pakan Ikan Secara Otomatis Berbasis SMS serta pengujian Sistem Pengendalian Akuarium dan Pemberian Pakan Ikan Secara Otomatis Berbasis SMS itu sendiri.

5.2 Pengujian Alat

Berikut ini adalah pengujian alat atau komponen yang terdapat Sistem Pengendalian Akuarium dan Pemberian Pakan Ikan Secara Otomatis Berbasis SMS.

5.2.1 Pengujian Mikrokontroller AT89S52

Untuk menguji mikrokontroller AT89S52 yang telah berisi sebuah program yaitu dengan cara meletakkan AT89S52 tersebut pada socket yang telah dipasang pada PCB. Setelah itu diberi tegangan pada hardware sebesar + 4V sampai dengan +5V.

5.2.2 Pengujian Sensor Suhu LM35 dan Sensor Suhu IC LM 358

Untuk menguji sensor suhu LM35 dan sensor suhu LM358 yaitu dengan cara mengirim perintah melalui SMS ke mikrokontroller AT89S52 yang hubungkan melalui HP siemens tipe C55. Maka perintah tersebut akan langsung dikerjakan dengan cara mendeteksi berapa suhu yang ada pada air tersebut. Jika suhu 26° maka heater akan nyala dan jika suhu 26 ° maka heater akan mati. Heater ini digunakan untuk menetralkan suhu yang ada pada akuarium. Jika sudah diketahui berapa suhu yang ada pada akuarium tersebut, maka mikrokontroller akan mengirimkan informasi tersebut ke HP siemens tipe C55 yang kemudian secara otomatis informasi tersebut dikirim ke nomor HP tertentu melalui SMS.

5.2.3 Pengujian sensor ketinggian

Untuk menguji sensor ketinggian dapat dilakukan dengan cara mengirim perintah melalui SMS ke mikrokontroller AT89S52 yang hubungkan melalui HP siemens tipe C55. Perintah tersebut langsung dikerjakan oleh mikrokontroller AT89S52 dengan melakukan pengurasan air dan pengisian air pada akuarium. Fungsi sensor ketinggian ini adalah untuk mendeteksi jika melakukan pengurasan maka seberapa rendah air tersisa pada akuarium, dan jika melakukan pengisian maka seberapa tinggi pengisian air pada akuarium.

5.2.4 Pengujian Auto Feeder

Untuk menguji auto feeder dapat dilakukan dengan memberikan perintah untuk memberi pakan pada ikan. Waktu pemberian pakan, berapa kali feed berputar, dan banyak porsi pakan yang diberikan dapat ditentukan sendiri dengan cara mengaturnya dengan cara menulis perintah SMS ke mikrokontroller AT89S52 melalui HP siemens tipe C55. untuk pemberian banyak sedikitnya porsi pakan yang diberikan dapat ditentukan dengan cara membuka lebar bukaan pada tempat pakan. Saat mengirim perintah SMS ke HP siemens tipe C55 maka perintah tersebut langsung dikirim ke mikrokontroller AT89S52 dan perintah dari SMS tersebut langsung dikerjakan. Setelah perintah dikerjakan maka mikrokontroller AT89S52 akan mengirim informasi ke HP siemens tipe C55 dan informasi tersebut dikirimkan nomor HP tertentu dalam bentuk SMS.

5.2.5 Pengujian alat secara keseluruhan

Tujuan pengujian alat secara keseluruhan untuk mendapatkan hasil dan data – data secara keseluran dari awal rangkaian Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis SMS pada sensor sampai bekerjanya sebuah perintah melalui SMS pada waktu Sistem Pengendalian Akuarium dan Pemberian Pakan Ikan Secara Otomatis Berbasis SMS dijalankan. Pengujian alat secara keseluruhan dapat dilakukan dengan adanya program yang telah tertanam pada mikrokontroller. Dengan menjalankan program sesuai dengan fungsinya, maka sistem dapat berjalan sesuai dengan harapan yaitu Sistem Pengendalian Akuarium dan