SISTEM PENGENDALIAN AQUARIUM DAN PEMBERIAN PAKAN IKAN SECARA OTOMATIS BERBASIS MIKROKONTROLER.

(1)

BERBASIS MIKROKONTROLER

TUGAS AKHIR

Disusun Oleh :

RATNA DESTA WAHYU NINGTIAS NPM. 0634010057

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

JAWA TIMUR


(2)

BERBASIS MIKROKONTROLER

TUGAS AKHIR

Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Disusun Oleh :

RATNA DESTA WAHYU NINGTIAS

NPM : 0634010057

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

JAWA TIMUR


(3)

SISTEM PENGENDALIAN AQUARIUM DAN

PEMBERIAN PAKAN IKAN SECARA OTOMATIS

BERBASIS MIKROKONTROLER

Disusun oleh :

RATNA DESTA WAHYU NINGTIAS

NPM : 0634010057

Telah disetujui mengikuti Ujian Negara Lisan Gelombang II Tahun Akademik 2010 / 2011

Pembimbing Utama

Basuki Rahmat, S.Si, MT NPT. 369 070 602 091

Pembimbing Pendamping

Delta Ardy Prima, S.ST NPT. 386 081 002 971

Mengetahui,

Ketua Jurusan Program Studi Teknik Informatika Fakultas Teknologi Industri

Universitas Pembangunan Nasional ”Veteran” Jawa Timur

Basuki Rahmat S.Si,MT NPT. 369 070 602 091


(4)

SISTEM PENGENDALIAN AQUARIUM DAN

PEMBERIAN PAKAN IKAN SECARA OTOMATIS

BERBASIS MIKROKONTROLER

Disusun Oleh :

RATNA DESTA WAHYU NINGTIAS

NPM : 0634010057

Telah dipertahankan dan diterima oleh Tim Penguji Skripsi Program Studi Teknik Informatika Fakultas Teknologi Industri

Universitas Pembangunan Nasional ”Veteran” Jawa Timur Pada Tanggal 26 November 2010

Pembimbing : 1.

Basuki Rahmat, S.Si, MT NPT. 369 070 602 071

Tim Penguji : 1.

Ir. Kemal Wijaya, MT NIP. 1959 0925 198703 1001

2.

Delta Ardy Prima, S.ST NPT. 386 081 002 971

2.

Barry Nuqoba, S.Si, M.Kom

3.

Delta Ardy Prima, S.ST NPT. 386 081 002 971

Mengetahui,

Dekan Fakultas Teknologi Industri

Universitas Pembangunan Nasional ”Veteran” Jawa Timur

Ir. Sutiyono, MT NIP. 19600713 198703 1 001


(5)

Dengan memanjatkan puji syukur atas kehadirat Allah SWT atas segala rahmat, taufik, hidayah dan inayah-Nya sehingga penulis dapat menyelesaikan laporan Tugas Akhir ini yang berjudul : Sistem Pengendalian Aquarium dan Pemberian Pakan Ikan secara Otomatis Berbasis Mikrokontroler.

Adapun Tugas Akhir ini disusun untuk memenuhi syarat memperoleh gelar Sarjana Teknik di jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Pembangunan Nasional “Veteran” Jawa Timur.

Tugas Akhir ini dapat terselesaikan karena tidak lepas dari bimbingan pengarahan, petunjuk dan bantuan dari berbagai pihak yang membantu dalam penyusunannya. Oleh karena itu, penulis tidak lupa untuk menyampaikan terima kasih yang tak terhingga kepada :

1. Bapak Ir. Sutiyono, MT, selaku Dekan Fakultas Teknologi Industri UPN “Veteran” Jawa Timur.

2. Bapak Basuki Rahmat, S.Si, MT, selaku Ketua Jurusan Teknik Informatika UPN “Veteran” Jawa Timur dan dosen pembimbing Tugas Akhir.

3. Bapak Delta Ardy Prima, S.ST, selaku dosen pembimbing, dosen penguji Tugas Akhir dan dosen penguji Seminar TA.

4. Bapak Ir. Kemal Wijaya, MT, selaku dosen penguji Tugas Akhir. 5. Bapak Barry Nuqoba, S.Si, M.Kom, selaku dosen penguji Tugas Akhir. 6. Ibu Fetty Tri Anggraeny, S.Kom, selaku dosen penguji Seminar TA. 7. Kedua orang tua dan kedua kakakku atas dukungan dan do’anya.


(6)

8. Sahabatku (Rifi) atas dukungan dan kerjasamanya untuk menyelesaikan Tugas Akhir selama ini.

9. Teman terbaikku, Bobi, Fenty, Asrofi, Aziz, Sena, Hanif, Dapit, Yogi, Adit, Candra, Renda, Norman atas dukungan dan do’anya.

10. Teman-teman Kelas A angkatan 2006 atas dukungan, do’a dan kekompakkannya.

11. Serta semua pihak yang senantiasa mendukung.

Penulis menyadari bahwa penulisan laporan Tugas Akhir ini masih jauh dari kesempurnaan, baik isi maupun penyajiannya. Oleh karena itu, saran dan kritik yang membangun akan penulis terima dengan senang hati.

Akhir kata, semoga laporan ini dapat memberikan manfaat bagi semua pihak yang berkepentingan dan semoga Allah SWT memberikan balasan kepada semua pihak yang telah memberikan bantuan kepada penulis. Amin.

Surabaya, 2 Desember 2010


(7)

Halaman

LEMBAR PENGESAHAN ... i

KATA PENGANTAR ... ii

ABSTRAK ... iv

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xi

BAB I PENDAHULUAN... 1

1.1...Latar Belakang ... 1

1.2...Rumus an Masalah ... 2

1.3...Batasa n Masalah ... 2

1.4...Tujuan ... 2

1.5...Manfa at ... 3

1.6...Metod ologi Penelitian ... 3

1.7...Sistem atika Penulisan ... 4


(8)

BAB II TINJAUAN PUSTAKA ... 6 2.1...Bahasa

Assembly ... 6 2.2...Mikro

kontroler AT89S52 ... 9 2.3...Relay

11

2.4...LCD Dot Matrix ... 12 2.5...Sensor Suhu LM35 ... 17 2.6...RTC

DS1307 ... 18 2.7...IC

LM358 ... 21 2.8...Motor

DC ... 22 2.8.1. Prinsip Dasar Cara Kerja ... 23 2.9...Heater ... 25 2.9.1. Penyesuaian Suhu ... 26 2.10...Sensor Ketinggian ... 27


(9)

2.11...Auto

Feeder ... 28

BAB III PERANCANGAN ... 29

3.1...Peranc angan ... 29

3.1.1. Pemberian Pakan Ikan ... 29

3.1.2. Pengukuran Suhu ... 30

3.1.3. Ketinggian Air ... 30

3.2...Flowc hart ... 32

3.3...Blok Diagram ... 36

3.4...Kebutu han Perancangan Hardware ... 37

3.5...Cara Merancang ... 38

3.6...Analisi Perancangan ... 39

3.6.1. Analisis Perancangan Saat Pemberian Pakan ... 39

3.6.2. Analisis Perancangan Saat Pergantian Air ... 39

3.6.3. Analisis Perancangan Saat Mengukur Suhu ... 40

3.7...Ranca ngan dan Analisis Sistem ... 41


(10)

3.7.2. Rancangan Saat Pengukuran Suhu ... 42

3.7.3. Rancangan Saat Pergantian Air ... 43

3.8...Ranca ngan Komponen ... 44

3.8.1. LCD Dot Matrix ... 46

3.8.2. ADC ADS7822 ... 46

3.8.3. Sensor Suhu LM35 ... 46

3.8.4. IC LM358 ... 46

3.8.5. Battery Lithium 3V CR2032 ... 46

3.8.6. Mikrokontroler AT89S52 ... 47

3.8.7. Heater ... 47

3.8.8. Food Feeder ... 47

3.8.9. Pompa Kuras Air ... 47

3.8.10. Pompa Isi Air ... 47

3.8.11. Air Pump ... 48

BAB IV IMPLEMENTASI ... 49

4.1...Kebutu han Sistem ... 49

4.1.1...Perang kat Sistem ... 49

4.2...Prosed ur Pemasangan ... 50

4.3...Penjela san Program ... 52


(11)

4.4...Imple

mentasi ... 53

4.4.1. Implementasi Program ... 53

4.4.2. Implementasi Perangkat ... 64

BAB V PENGUJIAN DAN ANALISIS ... 66

5.1...Pendah uluan ... 66

5.2...Penguj ian Alat ... 66

5.2.1...Penguj ian Mikrokontroler AT89S52 ... 66

5.2.2...Penguj ian Rangkaian Driver Motor ... 67

5.2.3...Penguj ian Alat Secara Keseluruhan ... 67

5.3...P engujian Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler ... 68

5.3.1...Inisiali sasi Waktu dan Suhu ... 68

5.3.2...Penguj ian Pemberian Pakan ... 69


(12)

5.3.3...Penguj ian Pergantian Air ... 70 5.3.4...Penguj

ian Pengukuran Suhu ... 72 5.4...H

asil Pengujian Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler ... 73 BAB VI KESIMPULAN DAN SARAN ... 75 6.1...Kesim

pulan ... 75 6.2...Saran

76 DAFTAR PUSTAKA


(13)

Halaman

Tabel 2.1. Assembly Directive ... 7

Tabel 2.2. Daftar Instruksi ... 7

Tabel 2.3. Fungsi Pin LCD ... 13

Tabel 2.4. Penunjuk Cursor ... 16

Tabel 2.5. Posisi Karakter Pada LCD Karakter 2x16 ... 17

Tabel 2.6. Fungsional Pin LM358 ... 22

Tabel 5.1. Hasil Pengujian ... 77  


(14)

Halaman

Gambar 2.1. Susunan Pin Mikrokontroler AT89S52 ... 9

Gambar 2.2. Simbol Relay ... 12

Gambar 2.3. Konfigurasi Pin LCD ... 13

Gambar 2.4. Penampakan Cursor pada LCD ketika C=1 ... 16

Gambar 2.5. Penampakan Cursor pada LCD ketika B=1 ... 16

Gambar 2.6. Karakteristik LM35 ... 18

Gambar 2.7. RTC DS1307 ... 19

Gambar 2.8. Diagram Pin DS1307 ... 19

Gammar 2.9. Simbol Diagram dan Fisik Op-amp 358 ... 21

Gambar 2.10. Motor DC Sederhana ... 23

Gambar 2.11. Medan Magnet Membawa Arus Mengelilingi Konduktor .... 23

Gambar 2.12. Prinsip Kerja Motor DC ... 24

Gambar 3.1. Alur Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler ... 32

Gambar 3.2. Blok Diagram ... 36

Gambar 3.3. Rancangan Pemberian Pakan ... 41

Gambar 3.4. Rancangan Heater Bekerja ... 42

Gambar 3.5. Rancangan Heater Selesai Bekerja ... 42

Gambar 3.6. Rancangan Proses Pembuangan Air ... 43

Gambar 3.7. Rancangan Proses Pengisian Air ... 43


(15)

Gambar 4.1. Format Binary File ... 50

Gambar 4.2. Proses Pengubahan Binary File menjadi Intel-HEX File ... 51

Gambar 4.3. Proses Compile ... 51

Gambar 4.4. Proses Compiler Sukses ... 52

Gambar 4.5. Rangkaian Pada PCB ... 64

Gambar 4.6. Rancangan Keseluruhan ... 65

Gambar 5.1. Inisialisasi Waktu dan Suhu ... 68

Gambar 5.2. Proses Pemberian Pakan ... 70

Gambar 5.3. Proses Pergantian Air ... 71

Gambar 5.4. Kondisi Suhu Air Dibawah 260C ... 72


(16)

DOSEN PEMBIMBING I : BASUKI RAHMAT, S.Si, MT DOSEN PEMBIMBING II : DELTA ARDY PRIMA, S.ST

ABSTRAK

  Pada perkembangannya kebutuhan akan teknologi komputer dirasa semakin penting, dan tidak hanya dalam satu bidang saja tapi semua bidang membutuhkan teknologi. Darisanalah muncul ide untuk mengoperasikan suatu sistem dengan menggunakan teknologi, khususnya teknologi komputer.

Sistem pengontrolan yang dilakukan oleh komputer akan menjadi lebih baik, cepat, tepat, aman, praktis, dan banyak lagi keuntungan lain yang didapatkan dari pada menggunakan cara manual. Dari beberapa keuntungan tersebut dapat dijadikan syarat untuk mewujudkan “Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan secara Otomatis Berbasis Mikrokontroler”.

Pemeliharaan ikan secara otomatis oleh sistem pengontrol akan memudahkan para penggemar ikan dalam pemeliharaan ikan, terutama pada saat ikan tersebut di tinggal oleh pemiliknya. Secara umum sistem ini telah dilengkapi oleh fasilitas pengontrol secara hardware maupun software sehingga dengan Tugas Akhir ini diharapkan dapat memberi ide untuk mengoptimalkan penggunaan fasilitas kontrol tersebut.


(17)

1.1.1. Latar Belakang

Akhir-akhir ini banyak orang yang gemar memelihara ikan hias. Dibalik kegemarannya tersebut, sebenarnya mereka menemukan kesulitan ketika sedang bepergian dengan waktu yang cukup lama. Sehingga mereka tidak dapat mengontrol secara langsung dalam hal pemberian pakan, suhu air, dan ketinggian air dalam akuarium. Padahal faktor yang sangat penting dalam pemeliharaan ikan hias adalah ketepatan waktu dalam pemberian pakan, suhu air dan ketinggian air dalam akuarium. Dalam hal ini, kebanyakan mereka mengkhawatirkan ketiga faktor tersebut. Ketiga faktor tersebut meliputi pemberian pakan yang harus dilakukan setiap hari, pergantian air yang harus dilakukan secara berkala karena semakin lama air dalam akuarium maka kejernihan air berkurang, suhu air yang cenderung turun ketika musim hujan sehingga diperlukan heater untuk menghangatkan air sedangkan mereka tidak berada di rumah.

Dari permasalahan tersebut, diperlukan sebuah sistem otomatis yang dapat memberikan pakan pada peliharaannya sesuai dengan waktu yang telah dijadwalkan, mengontrol suhu air dan ketinggian air dalam akuarium yang sedang ditinggal oleh pemiliknya. Dengan sistem yang otomatis ini, diharapkan para penggemar ikan hias akan semakin mudah untuk memelihara ikan terutama pada saat tidak berada dirumah.


(18)

1.2. Rumusan Masalah

Berdasarkan latar belakang diatas, maka dapat diambil rumusan masalah sebagai berikut :

“Bagaimana merancang dan membuat sistem pengendalian ruang budidaya dan pemberian pakan ikan secara otomatis berbasis mikrokontroler ?”

1.3. Batasan Masalah

Batasan-batasan masalah yang diberikan sesuai dengan permasalahan yang telah diterangkan diatas, antara lain :

1. Ruang budidaya menggunakan akuarium.

2. Alat ini menggunakan mikrokontroler AT89S52.

3. Suhu air diukur dengan menggunakan sensor suhu tipe LM35. 4. Sensor suhu bekerja ketika suhu minimum 260C.

5. Ketinggian air diukur dengan menggunakan 2 (dua) sensor ketinggian air, yaitu ketinggian air dalam keadaan minimum dan ketinggian air dalam keadaan maksimum.

6. Auto Feeder akan bekerja setiap 8 jam sekali dan akan berputar selama 5 detik untuk memberi pakan ikan.

7. Terdapat 2 pompa air, yaitu pump in (mengisi air) dan pump out (membuang air).


(19)

1.4. Tujuan

Tujuan dari Tugas Akhir adalah sebagai berikut :

1. Dapat mengendalikan dan mempelajari cara kerja Mikrokontroller AT89S52.

2. Dapat merancang alat yang mampu memberikan pakan ikan secara otomatis setiap 8 jam sekali.

3. Dapat merancang alat yang mampu mengukur suhu air.

4. Dapat merancang alat yang mampu mengganti air agar kejernihan air tetap terjaga.

1.5. Manfaat

Adapun manfaat yang dapat diambil dari pembuatan Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler adalah :

1. Dapat memberi pakan secara otomatis setiap 8 jam sekali.

2. Dapat menggantikan air yang berkala dikarenakan semakin lama air dalam akuarium maka kejernihan air akan berkurang setiap 3 hari sekali.

3. Dapat mengetahui suhu air yang cenderung turun ketika musim hujan. 4. Dan juga dapat mengisi air ketika terjadinya penguapan air yang

mengakibatkan berkurangnya air dalam akuarium.

1.6. Metodologi Penelitian

Metodologi yang digunakan dalam penelitian ini adalah sebagai berikut : 1. Merancang dan menyusun akuarium dan pelengkap pendukungnya.


(20)

2. Merancang dan membuat perangkat keras Real Time Clock System.

3. Merancang dan membuat perangkat keras sistem pengontrol peralatan akuarium.

4. Merancang dan membuat perangkat lunak sistem pemeliharaan ikan hias air tawar berbasis mikrokontroler.

1.7. Sistematika Penulisan

Penulisan yang digunakan dalam laporan Tugas Akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Bab ini berisi latar belakang permasalahan, perumusan masalah, batasan masalah, tujuan, manfaat, metodologi penelitian dan sistematika penulisan laporan Tugas Akhir.

BAB II TINJAUAN PUSTAKA

Pada bab ini akan dijelaskan tentang teori-teori serta penjelasan-penjelasan yang dibutuhkan dalam pembuatan Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler.

BAB III PERANCANGAN

Bab ini berisi tentang analisa dan perancangan Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler.


(21)

BAB IV IMPLEMENTASI

Bab ini berisi penjelasan hasil Tugas Akhir serta pembahasan suorce code dari Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler. BAB V PENGUJIAN DAN ANALISA

Bab ini berisi pengujian dan analisa Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler.

BAB VI KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran untuk proses pengembangan selanjutnya.

DAFTAR PUSTAKA

Bab ini berisi tentang literatur sebagai teori pendukung pembahasan pada laporan Tugas Akhir ini.


(22)

2.1. Bahasa Assembly

Bahasa assembly adalah bahasa pemrograman tingkat rendah. Dalam

pemrograman komputer dikenal dua jenis tingkatan bahasa, jenis yang pertama adalah bahasa pemrograman tingkat tinggi (high level language) dan jenis yang kedua adalah bahasa pemrograman tingkat rendah (low level language).

Bahasa pemrograman tingkat tinggi lebih berorientasi kepada manusia yaitu bagaimana agar pernyataan-pernyataan yang ada dalam program mudah ditulis dan dimengerti oleh manusia. Sedangkan bahasa tingkat rendah lebih berorientasi ke mesin, yaitu bagaimana agar komputer dapat langsung mengintepretasikan pernyataan-pernyataan program.

Kelebihan bahasa assembly adalah sebagai berikut : 1. Ketika di-compile, lebih kecil ukurannya.

2. Memori lebih hemat dan efisien. 3. Eksekusi lebih cepat.

Sedangkan kesulitan bahasa assembly adalah sebagai berikut :

1. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang dibandingkan bahasa tingkat tinggi.

2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak.


(23)

Dalam program bahasa assembly terdapat dua jenis yang kita tulis dalam program, yaitu :

1. Assembly Directive, yaitu merupakan kode yang menjadi arahan bagi

assembler/compiler untuk menata program.

Tabel 2.1. Daftar Assembly Directive

Assembly Directive Keterangan

EQU Pendefinisian konstanta

DB Pendefinisian data dengan ukuran satuan 1 byte DW Pendefinisian data dengan ukuran satuan 1 word DBIT Pendefinisian data dengan ukuran satuan 1 bit DS Pemesanan tempat penyimpanan data di RAM ORG Inisialisasi alamat mulai program

END Penanda akhir program

CSEG Penanda penempatan di code segment

XSEG Penanda penempatan di external data segment DSEG Penanda penempatan di internal direct data

segment

ISEG Penanda penempatan di internal indirect data segment

BSEG Penanda penempatan di bit data segment CODE Penanda mulai pendefinisian program XDATA Pendefinisian external data

DATA Pendefinisian internal direct data IDATA Pendefinisian internal indirect data

BIT Pendefinisian data bit

#INCLUDE Mengikutsertakan file program lain

2. Instruksi, yaitu kode yang harus dieksekusi oleh CPU mikrokontroler dengan melakukan operasi tertentu sesuai dengan daftar yang sudah tertanam dalam CPU.

Tabel 2.2. Daftar Instruksi

Instruksi Keterangan

ACALL Absolute Call

ADD Add

ADDC Add with Carry


(24)

Instruksi Keterangan

ANL AND Logic

CJNE Compare and Jump if Not Equal

CLR Clear

CPL Complement

DA Decimal Adjust

DEC Decrement DIV Divide

DJNZ Decrement and Jumo if Not Zero

INC Increment

JB Jump if Bit Set

JBC Jump if Bit Set and Clear Bit

JC Jump if Carry Set

JMP Jump to Address

JNB Jump if Not Bit Set

JNC Jump if Carry Not Set

JNZ Jump if Accumulator Not Zero

JZ Jump if Accumlator Zero

LCALL Long Call

LJMP Long Jump

MOV Move from Memory

MOVC Move from Code Memory

MOVX Move from Extended Memory

MUL Multiply

NOP No Operation

ORL OR Logic

POP Pop Value from Stack

PUSH Push Value Onto Stack

RET Return from Subroutine

RETI Return from Interrupt

RL Rotate Left

RLC Rotate Left Through Carry

RR Rotate Right

RRC Rotate Right Through Carry

SETB Set Bit

SJMP Short Jump

SUBB Subtract with Borrow

XCH Exchange Bytes

XCHD Exchange Digits

XRL Exclusive OR Logic


(25)

2.2. Mikrokontroler AT89S52

Mikrokontroler adalah mikroprosesor yang dirancang khusus untuk aplikasi kontrol, dan dilengkapi denga ROM, RAM dan fasilitas I/O pada satu chip. AT89S52 adalah salah satu anggota dari keluarga MCS-51/52 yang dilengkapi dengan internal memori 8 Kbyte Flash PEROM (Programmable and

Erasable Read Only Memory), yang memungkinkan memori program untuk dapat

diprogram kembali. AT89S52 dirancang oleh ATMEL sesuai dengan instruksi standar dan sesuai pin 80C5.

Mikrokontroler AT89S52 mempunyai 40 pin dengan catu daya tunggal 5 Volt. Ke-40 pin tersebut digambarkan sebagai berikut :

Gambar 2.1. Susunan Pin Mikrokontroler AT89S52 Fungsi dari masing-masing pin AT89S52 adalah :

1. Pin 1 – 8 (Port 1) merupakan port paralel 8 bit dua arah (bidirectional) yang dapat digunakan untuk berbagai keperluan (general purpose).

2. Pin 9 merupakan pin reset. Reset aktif jika mendapat catuan daya.

3. Pin 10 – 17 (Port 3) adalah port paralel 8 bit dua arah yang memiliki fungsi pengganti sebagai berikut :


(26)

a. P3.0 (10) : RXD (port serial penerima data) b. P3.1 (11) : TXD (port serial pengirim data)

c. P3.2 (12) : INT0 (input interupsi eksternal 0, aktif low) d. P3.3 (13) : INT1 (input interupsi eksternak 1, aktif low) e. P3.4 (14) : T0 (eksternal input timer/counter 0)

f. P3.5 (15) : T1 (eskternal input timer/counter 1)

g. P3.6 (16) WR (write, aktif low). Sinyal kontrol penulisan data dari port 0 ke memori

4. Pin 18 sebagai XTAL 2, keluaran osilator yang terhubung pada kristal. 5. Pin 19 sebagai XTAL 1, masukan ke osilator berpenguatan tinggi,

terhubung pada kristal.

6. Pin 20 sebagai Vss, terhubung ke 0 atau ground pada rangkaian.

7. Pin 21 – 28 (Port 2) adalah port paralel 8 bit dua arah. Pot ini mengirim byte alamat bila pengaksesan dilakukan pada memori eksternal.

8. Pin 29 sebagai PSEN (Program Store Enable) adalah sinyal yang digunakan untuk membaca, memindahkan program memori eksternal (ROM/EPROM) ke mikrokontroler (aktif low).

9. Pin 30 sebagai ALE (Address Latch Enable) untuk menahan alamat bawah selama mengakses memori eksternal. Pin ini juga berfungsi sebagai PROG (aktif low) yang diaktifkan saat memprogram internal flash memori pada

mikrokontroler (on chip).

10. Pin 31 sebagai EA (External Accesss) untuk memilih memori yang akan digunakan, memori program internal (EA = Vcc) atau memori program eksternal (EA = Vss), juga berfungsi sebagai Vpp (programming supply


(27)

voltage) pada saat memprogram internal flash memori pada

mikrokontroler.

11. Pin 32 sampai 39 (Port 0) merupakan port pararel 8 bit dua arah. Berfungsi sebagai alamat bawah yang dimultipleks dengan data untuk mengakses program dan data memori eksternal.

12. Pin 40 sebagai Vcc, terhubung ke +5 V sebagai catuan untuk mikrokontroler.

(Sumber : [4])

2.3. Relay

Relay merupakan bentuk hambatan terdiri atas titik-titik kontak bawah dengan gulungan spoolnya tidak bergerak dan titik kontak bagian atas yang bergerak. Prinsip kerja hambatan adalah menghubungkan titik-titik kontak bagian bawah dengan titik bagian atas yaitu terletak gulungan spool dialiri arus listrik yang timbul elektromagnet.

Bagian titik kontak dibagi menjadi dua bagian, yaitu :

1. Bagian kontak utama gunanya untuk menghubungkan dan memutuskan arus listrik bagian yang menuju beban/pemakai.

2. Bagian kontak bantu gunanya untuk menghubungkan dan memutuskan arus listrik ke bagian yang menuju bagian pengendali.

Kontak bantu mempunyai 2 kontak, yaitu kontak hubung (NC) dan kontak putus (NO) menandakan masing-masing kontak dan gulungan spool.


(28)

Gambar 2.2. Simbol Relay

Relay merupakan sebuah saklar magnet yang dapat memutuskan dan menutup sirkuit dari jarak jauh. Adapun jenisnya relay ada 2, yaitu :

1. Relay yang bekerja dari arus bolak-balik. 2. Relay yang bekerja dari arus rata-rata.

Pada prinsipnya proses kerja relay adalah jika gulungan kumparan dilalui arus, maka inti menjadi magnet dan inti tersebut menarik jangkar. Sehingga kontak A dan B putus, dan kontak antara B dan C menutup, maka jenis relay ini kita namakan relay dengan kontak keluar.

2.4. LCD Dot Matrix

LCD adalah sebuah display Dot Matrix yang digunakan untuk menmapilkan tulisan berupa angka atau huruf sesuai dengan yang diinginkan (sesuai dengan program yang digunakan untuk mengontrolnya). LCD yang digunakan adalah LCD Dot Matrix dengan karakter 16x2, sehingga kaki-kakinya berjumlah 16 pin.

LCD sebagaimana output yang dapat menampilkan tulisan sehingga lebih mudah dimengerti, dibandingkan jika menggunakan LED saja. Tampilan LCD terdiri dari dua bagian, yakni bagian panel LCD yang terdiri dari banyak “titik”. LCD dan sebuah mikrokontroler yang menempel dipanel dan berfungsi mengatur “titik-titik” LCD tadi menjadi huruf atau angka yang terbaca.


(29)

Huruf atau angka yang akan ditampilkan dikirim ke LCD dalam bentuk kode ASCII, kode ASCII ini diterima oleh mikrokontroler di dalam LCD menjadi “titik-titik” LCD yang terbaca sebagai huruf satu angka. Dengan demikian tugas mikrokontroler pemakai LCD hanyalah mengirimkan kode-kode ASCII untuk ditampilkan.

Spesifikasi LCD secara umum yaitu : 1. Jumlah baris

2. Jumlah tegangan per baris 3. Tegangan kerja

Dibawah ini merupakan konfigurasi LCD :

Gambar 2.3. Konfigurasi Pin LCD

Fungsi dari pin pada LCD dapat dilihat pada tabel dibawah ini : Tabel 2.3. Fungsi Pin LCD

Pin Simbol Fungsi

1 Vss / GND Tegangan 0 Volt / Ground

2 Vcc Tegangan Vcc (5+10% Volt)

3 Vee / Vcontrast Tegangan pengatur kontras pada LCD 4 RS (register select) 0 = memasukkan instruksi

1 = memasukkan data

5 R/W Signal yang digunakan untuk memilih mode membaca atau menulis

6 E (enable) Untuk mulai pengiriman datat atau instruksi 7 DB 0

8 DB 1 9 DB 2 10 DB 3 11 DB 4 12 DB 5


(30)

13 DB 6 14 DB 7

Untuk mengirimkan data karakter 15 V+BL

16 V-BL

Untuk mengatur cahaya pada background LCD atau instruksi

Cara kerja menjalankan LCD adalah sebagai berikut : 1. Inisialisasi LCD

2. Arahkan pada alamat yang dihendaki

3. Tuliskan data ke LCD, maka karakter akan tampil pada alamat tersebut Beberapa fungsi instruksi dari LCD, yaitu :

1. Display Clear

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 0 0 0 1

Display Clear membersihkan semua tampilan dan menggambarkan

cursor pada posisi semula(adress 0). Ruang kode 20 (heksadesimal) ditulis

ke semua alamat dari DD RAM, dan alamat 0 dari DD RAM ke AC (Address Counter). Jika diubah, display akan kembali ke posisi semula

semua. Setelah perintah eksekusi pada Display Clear, mode entry akan

ditambahkan. 2. Cursor Home

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 0 0 1 * *: invalid bit

Cursor Home mengembalikan cursor ke posisi semula (address 0).


(31)

DD RAM jangan diubah. Jika cursor sedang ON, maka akan kembali ke sebelah kiri.

3. Entry Mode Set

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 0 1 I/D S

Entry Mode Set diset untuk menunjukkan perpindahan cursor dan

apakah display akan diubah :

a. I/D

 Ketika I/D = 1, alamat akan ditambah satu dan cursor berpindah ke kanan.

 Ketika I/D = 0, alamat akan berkurang satu dan cursor berpindah ke kiri.

b. S

 Ketika S = 1 dan I/D = 1, display berpindah ke kiri.  Ketika S = 1 dan I/D = 0, display berpindah ke kanan.  Ketika S = 0, display tak berpindah.

4. Display ON/OFF Control

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 1 D C B

Display ON/OFF Control mengembalikan total display dan cursor

ON dan OFF, dan membuat posisi cursor mulai berkedip.

a. D

 Ketika D = 1, display ON  Ketika D = 0, display OFF


(32)

b. C

 Ketika C = 1, cursor ditampilkan

Gambar 2.4. Penampakan Cursor Pada LCD Ketika C = 1  Ketika C = 0, cursor tidak ditampilkan

c. B

 Ketika B = 1, karakter pada posisi cursor berkedip

Gambar 2.5. Penampakan Cursor Pada LCD Ketika B = 1  Ketika B = 0, karakter pada posisi cursor tidak berkedip 5. Cursor/Display Shift

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 1 S/C R/L * *

*: invalid bit

Cursor Display Shift memindah cursor dan mengubah display

tanpa mengubah isi dari DD RAM. Berikut ini tabel penunjukkan cursor, yaitu :

Tabel 2.4. Penunjukkan Cursor

S/C R/L Operasi

0 0 Posisi cursor dipindah ke kiri 0 1 Posisi cursor dipindah ke kanan


(33)

S/C R/L Operasi

1 0 Semua display dipindah ke kiri dengan cursor 1 1 Semua display dipindah ke kanan dengan cursor

6. Function Set

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 1 DL 1 * * * *: invalid bit

Function Set digunakan untuk mengeset pemisahan data length.

DL : ketika DL = 1, data length diset untuk 8 bit (DB7 sampai DB0). Ketika DL = 0, data length diset untuk 4 bit (DB7 sampai DB4). Untuk bit atas ditransfer lebih dulu, kemudian dilanjutkan bit bawah.

Tabel 2.5. Posisi Karakter Pada LCD Karakter 2x16

80  81  82  83  84  85  86  87  88  89  8a  8b  8c  8d  8e  8f  C0  C1  C2  C3  C4  C5  C6  C7  C8  C9  Ca  Cb  Cc  Cd  Ce  Cf 

2.5. Sensor Suhu LM35

Sensor suhu LM35 berfungsi untuk mengkonversi besaran panas yang ditangkap menjadi besaran tegangan. Jenis sensor suhu yang digunakan dalam sistem ini adalah IC LM35, sensor ini memiliki presisi tinggi. Sensor ini sangat sederhana dengan hanya memiliki 3 buah kaki. Kaki pertama, IC LM35 dihubungkan ke sumber daya. Kaki kedua sebagai output. Dan kaki ketiga dihubungkan ke Ground. Adapun gambar dari IC LM35 adalah sebagai berikut :


(34)

Gambar 2.6. Karakteristik LM35 Karakteristik dari IC LM35 adalah sebagai berikut : 1. Dapat dikalibrasi langsung ke dalam besaran Celcius. 2. Faktor skala linier +10mV/0C.

3. Tingkat akurasi 0,50C. Saat suhu kamar (250C). 4. Jangkauan suhu antara -550C sampai 1500C. 5. Bekerja pada tegangan 4 Volt hingga 30 Volt. 6. Arus kerja kurang dati 60µA.

7. Impedansi keluaran rendah 0,1Ω untuk beban 1 mA.

Sensor LM35 bekerja dengan mengubah besaran suhu menjadi besaran tegangan. Tegangan ideal yang keluar dari LM35 mempunyai perbandingan 1000C setara dengan 1 Volt. Sensor ini mempunyai pemanasan diri (self heating) kurang dari 0,10C, dapat dioperasikan dengan menggunakan power supply tunggal dan dapat dihubungkan antar nuka (interface) rangkaian kontrol yang sangat mudah. (Sumber [11])

2.6. RTC DS1307

Real Time Clock (RTC) merupakan suatu chip (IC) yang memiliki fungsi

sebagai penyimpan waktu dan tanggal. RTC DS1307 merupakan Real Time Clock (RTC) menggunakan jalur paralel yang dapat menyimpan data-data detik, menit, jam, tanggal, bulan, hari dalam seminggu, dan tahun valid hingga 2100.


(35)

RTC DS1307 merupakan Real Time Clock (RTC) menggunakan jalur paralel yang memiliki antarmuka serial Two-wire (I2C), sinyal luaran gelombang kotak terprogram (Programmable Squarewave), deteksi otomatis kegagalannya (power-fail) dan rangkaian switch, konsumsi daya kurang dari 500nA

menggunakan mode baterai cadangan dengan operasional osilator. Tersedia fitur industri dengan ketahanan suhu -400C hingga +850C. Tersedia dalam kemasan 8 pin DIP atau SOIC.

  

Gambar 2.7. RTC DS1307

Sedangkan daftar pin DS1307 adalah sebagai berikut : 1. VCC : Primary Power Supply

2. X1, X2 : 32.768kHz Crystal Connection 3. VBAT : +3V baterai input

4. GND : Ground

5. SDA : Serial Data 6. SCL : Serial Clock

7. SQW/Out : Square Wave/Output Driver

Berikut adalah gambar diagram pin DS1307 :


(36)

Untuk masing-masing pin akan dijelaskan sebagai berikut :

1. X1 merupakan pin yang digunakan untuk dihubungkan dengan X2.

2. X2 berfungsi sebagai keluaran/output dari crystal yang digunakan dan terhubung juga dengan X1.

3. VBAT merupakan backup supply serial RTC dalam menjalankan fungsi waktu dan tanggal. Besarnya adalah 3V dengan menggunakan jenis Lithium Cell atau sumber energi lain. Jika pin ini tidak digunakan maka

harus terhubung dengan Ground. Sumber tegangan dengan 48mAH atau lebih besar dapat digunakan sebagai cadangan energi sampai lebih dari 10 tahun, namun dengan persyaratan untuk pengoperasian dalam suhu 250C. 4. GND berfungsi sebagai Ground.

5. SDA berfungsi sebagai masukan/keluaran (I/O) untuk I2C serial interface. Pin ini bersifat open drain, oleh sebab ini membutuhkan external pull up resistor.

6. SCL berfungsi sebagai clock untuk input ke I2C dan digunakan untuk mensinkronisasi pergerakan data dalam serial interface. Bersifat open drain, oleh sebab itu membutuhkan external pull up resistor.

7. SWQ/OUT sebagai squafe wave/output driver. Jika diaktifkan, maka akan menjadi 4 frekuensi gelombang kotak yaitu 1kHz, 4kHz, 8kHz, 32kHz. Sifat dari pin ini sama dengan sifat pin SDA dan SCL sehingga membutuhkan external pull up resistor. Dapat dioperasikan dengan VCC

maupun dengan VBAT.

8. VCC merupakan sumber tegangan utama. Jika sumber tegangan terhubung dengan baik, maka pengaksesan data dan pembacaan data dapat dilakukan


(37)

dengan baik. Namun jika backup supply terhubung juga dengan VCC, namun besar VCC di bawah VTP, maka pengaksesan data tidak dapat dilakukan.(Sumber : [3])

2.7. IC LM358

Penguat operasi (op-amp) merupakan kumpulan puluhan transistor dan resistor dalam bentuk satu chip IC. Op-amp merupakan komponen aktif linear yang merupakan penguat gandeng langsung (direct coupling), dengan penguatan terbuka (open gain) yank sangat besar dan dapat dipakai untuk menjumlahkan,

mengalikan, membagi, mendiferensialkan, serta mengintegralkan tegangan listrik. IC op-amp sering dipakai untuk perhitungan-perhitungan analog, instrumentasi,

maupun berbagai macam aplikasi kontrol.

IC LM358 didesain secara sempurna dalam hal penggunaan dua buah op-amp secara bersamaan dalam satu chip, gambar 2.9. adalah IC LM358.

 

Gambar 2.9. Simbol diagram dan gambar fisik op-amp 358

IC Op-Amp LM358 memiliki keunggulam dalam pemakaian daya yang

lebih rendah, kemampuan penggunaan saluran input yang berkolerasi dengan saluran pentanahan, dapat dicatu menggunakan mode catu daya tunggal maupun catu daya ganda.


(38)

Tabel 2.6. Fungsional Pin LM358

No. Pin Fungsi

1. Keluaran A (output A)

2. Masukan menjungkir (input inverting)

3. Masukan tak menjungkir (input non-inverting)

4. Dihubungkan dengan terminal negatif pencatu daya (V-) 5. Masukan tak menjungkir (input non-inverting)

6. Masukan menjungkir (input inverting) 7. Keluaran B (output B)

8. Dihubungkan dengan terminal positif pencatu daya (V+) (Sumber : [10])

2.8. Motor DC

Motor listrik merupakan perangkat elektromagnetis yang mengubah energi listrik menjadi energi mekanik. Energi mekanik ini digunakan untuk, misalnya memutar impeller pompa, fan atau blower, menggerakan kompresor, mengangkat

bahan, dll. Motor listrik digunakan juga di rumah (mixer, bor listrik, fan angin) dan di industri. Motor listrik kadangkala disebut “kuda kerja”nya industri sebab diperkirakan bahwa motor-motor menggunakan sekitar 70% beban listrik total di industri.

Motor DC memerlukan suplai tegangan yang searah apda kumparan medan untuk diubah menjadi energi mekanik. Kumparan medan pada motor DC disebut stator (bagian yang tidak berputar) dan kumpran jangkar disebut rotor (bagian yang berputar). Jika terjadi putaran pada kumparan jangkar dalam pada medan magnet, maka akan timbul tegangan (GGL) yang berubah-ubah arah pada setiap setengah putaran, sehingga merupakan tegangan bolak-balik. Prinsip kerja dari arus searah adalah membalik phasa tegangan dari gelombang yang mempunyai nilai positif dengan menggunakan komutator, dengan demikian arus yang berbalik arah dengan kumparan jangkar yang berputar dalam medan magnet.


(39)

Bentuk motor paling sederhana memiliki kumparan satu lilitan yang bisa berputar bebas di antara kutub-kutub magnet permanen.

Gambar 2.10. Motor DC Sederhana

Catu tegangan DC dari baterai menuju lilitan melalui sikat yang menyentuh komutator, dua segmen yang terhubung dengan dua ujung lilitan. Kumparan satu lilitan pada gambar di atas disebut angker dinamo. Angker dinamo adalah sebutan untuk komponen yang berputar di antara medan magnet.

2.8.1. Prinsip Dasar Cara Kerja

Jika arus lewat pada suatu konduktor, timbul medan magnet di sekitar konduktor. Arah medan magnet ditentukan oleh arah arus pada konduktor.

Gambar 2.11. Medan magnet yang membawa arus mengelilingi konduktor Aturan genggaman tangan kanan bisa dipakai untuk menentukan arah garis fluks di sekitar konduktor. Genggam konduktor dengan tangan kanan dengan jempol mengarah pada aliran arus, maka jari-jari anda akan menunjukkan arah garis fluks.


(40)

Mekanisme kerja untuk seluruh jenis motor secara umum, yaitu : 1. Arus listrik dalam medan akan memberikan gaya.

2. Jika kawat yang membawa arus dibengkokkan menjadi sebuah lingkaran/loop, maka kedua sisi loop, yaitu pada sudut kanan medan magnet, akan mendapatkan gaya pada arah yang berlawanan.

3. Pasangan gaya menghasilkan tenaga putar/torque untuk memutar kumparan.

4. Motor-motor memiliki beberapa loop pada dinamonya untuk memberikan tenaga putaran yang lebih seragam dan medan magnetnya dihasilkan oleh susunan elektromagnetik yang disebut kumparan medan.

Pada motor DC, daerah kumparan medan yang dialiri arus listrik akan menghasilkan medan magnet yang melingkupi kumparan jangkar dengan arah tertentu. Konversi dari energi listrik menjadi energi mekanik (motor) maupun sebaliknya berlangsung melalui medan magnet, dengan demikian medan magnet disini selain berlangsungnya proses perubahan energi, daerah tersebut dapat dilihat pada gambar di bawah ini :


(41)

Agar proses perubahan energi mekanik dapat berlangsung secara sempurna, maka tegangan sumber harus lebih besar daripada tegangan gerak yang disebabkan reaksi lawan. Dengan memberi arus pada kumparan jangkar yang dilindungi oleh medan maka menimbulkan perputaran pada motor. (Sumber [12])

2.9. Heater

Secara umum ikan telah beradaptasi untuk hidup pada kisaran suhu tertentu. Kisaran ini bervariasi dari satu spesies ke spesies lainnya. Meskipun beberapa spesies dapat mentolelir perbedaan lintang tertentu. Sehingga, misalnya, memungkinkan ikan-ikan daerah tropis yang memiliki persyaratan hidup berbeda digabungkan dalam satu akuarium, akan tetapi pengawasan ekstra hati-hati tetap diperlukan. Suhu rendah dibawah normal dapat menyebabkan ikan mengalami lethargi, kehilangan nafsu makan, dan menjadi lebih rentan terhadap penyakit. Ikan jangan dibiarkan berada dalam suhu yang terlalu dingin hanya karena alasan untuk menghemat listrik. Sebaliknya pada suhu yang terlalu tinggi ikan dapat mengalami stress pernapasan dan bahkan dapat menyebabkan kerusakan insang permanen.

Peningkatan suhu kadang-kadang diperlukan untuk meningkatkan laju metabolisma ikan sehingga perlakuan tersebut diharapkan dapat menolong mempercepat proses penyembuhan suatu penyakit, dan atau mempercepat siklus hidup suatu parasit sehingga parasit tersebut dapat segera dienyahkan. Meskipun demikian, perlu diperhatikan bahwa semakin hangat air maka oksigen terlarut akan semakin sedikit. Oleh karena itu, intensitas aerasi perlu ditingkatkan.


(42)

Perubahan suhu mendadak dapat menyebabkan ikan mengalami “shock”. Hal ini kerap terjadi terutama pada saat memasukan ikan baru kedalam suatu akuarium dimana usaha penyesuaian suhu tidak dilakukan dengan baik, atau pada saat menambahkan air baru yang memiliki temperatur tidak sama.

Penurunan suhu secara perlahan, seperti terjadi apabila heater tidak berfungsi, jarang menimbulkan shock, meskipun demikian temperatur hendaknya dikembalikan ke kondisi semula secara perlahan-lahan dalam waktu satu jam atau lebih.

Dalam kasus temperatur terlalu panas, seperti akibat termostat yang tidak berfungsi dengan baik, maka intensitas aerasi hendaknya ditingkatkan untuk mengkompensasi kadar iksigen terlarut yang rendah, dan biarkan temperatur akuarium dingin secara alami. Apabila suhu meningkat sampai melebihi 320C, dan apabila ikan masih bertahan hidup, maka penggantian air sebanyak 20% dengan air dingin bisa dilakukan. Pengembalian air hendkanya dilakukan secara perlahan dengan cara disiphon plus peningkatan aerasi.

2.9.1. Penyesuaian Suhu

Suhu dapat diturunkan atau ditingkatkan sesuai dengan kebutuhan dengan menggunakan perangkat tertentu. Untuk meningkatkan suhu dapat digunakan heater yang telah dirancang secara khusus untuk akuarium. Heater hendaknya selalu terendam air, heater yang ter-ekspos ke udara terbuka secara tidak sengaja seperti pada saat penggantian air dapat menyebabkan kerusakan fatal pada heater tersebut, dan bahkan bisa menimbulkan shock listrik. Untuk itu matikan heater sebelum melakukan


(43)

penggantian air atau sebelum melakukan kegiatan apapun yang menyebabkan terjadinya penurunan ketinggian air akuarium.

Untuk menurunkan suhu air dan mempertahankannya pada suhu rendah, seperti untuk keperluan akuarium tanaman dan koral, dapat digunakan chiller. Chiller merupakan alat yang akan menyerap panas dari air dan membebaskannya ke udara. Prinsip kerjanya kurang lebih sama dengan prinsip kerja alat pendingin ruangan atau lemari pendingin. (Sumber [13])

2.10. Sensor Ketinggian

Pada akuarium diperlukan suatu mekanisme untuk mengetahui ketinggian permukaan air. Seringkali mekanisme tersebut masih berupa cara-cara manual, semisal dengan melihat dan melakukan pengukuran secara langsung pada air yang ada pada akuarium tersebut. Mungkin cara tersebut merupakan cara yang paling sederhana dan gampang, tetapi akan sedikit repot jika untuk mengetahui ketinggian air harus di ukur terlebih dahulu.

Maka dari itu diperlukan suatu mekanisme pengukur ketinggian permukaan air secara otomatis, salah satunya dengan membuat semacam sensor pengukur ketinggian air. Sensor ini kemudian dipasangkan pada penampung air teresebut. Tampilan untuk melihat hasil pengukuran sensor tersebut tidak perlu dekat dengan sensor, dapat ditempatkan di tempat lain sesuai kebutuhan, sehingga hasil pengukuran dapat dilihat setiap saat dengan mudah.


(44)

2.11. Auto Feeder

Auto Feeder merupakan alat pemberi makan pada ikan secara otomatis

untuk akuarium. Alat ini sangat cocok untuk seseorang yang tidak bisa memberi makan secara tepat waktu. Selain itu alat ini juga tergolong murah harganya, alat ini juga dapat membantu meringankan pekerjaan kita dalam pemberian pakan pada ikan. Pada Auto Feeder ini juga terdapat palet yang cukup bagus dan penggunaan interval waktu yang cukup baik. Banyak sedikit pemberian pakan dapat kita tentukan sendiri dengan mengatur waktu pemberian pakan dan menentukan banyak sedikitnya porsi pakan yang akan diberikan. Cara mengatur banyak sedikitnya porsi makan dapat kita tentukan pada besar bukaan.


(45)

Pada bab ini akan dibahas mengenai beberapa hal dasar tentang bagaimana perancangan Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler, komponen-komponen apa saja yang dibutuhkan, bagaimana cara merancang Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler, flowchart, blok diagram dan analisis.

3.1. Perancangan

Dalam pembuatan Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler ini perlu diperhatikan beberapa aspek yang dibutuhkan, yaitu :

3.1.1. Pemberian Pakan Ikan

Dalam hal pemberian pakan perlu diperhatikan aspek-aspek yang dibutuhkan, yaitu :

1. Sistem ini dirancang agar dapat memberikan pakan ikan secara otomatis disaat pemilik tidak berada dirumah.

2. Sistem ini dirancang agar jadwal pemberian pakan bisa diatur oleh pemilik

3. Sistem ini dirancang dengan menggunakan auto feeder sebagai tempat pakannya ikan dan akan berputar sesuai dengan waktu yang


(46)

telah ditentukan. Misalkan 5 detik, maka auto feeder akan berputar selama 5 detik untuk memberikan pakan.

3.1.2. Pengukuran Suhu

Dalam hal pengukuran suhu perlu diperhatikan aspek-aspek yang dibutuhkan, yaitu :

1. Sistem ini dirancang untuk mengukur suhu menggunakan sensor suhu dengan tipe LM35, IC LM358 dan heater.

2. Sistem ini dirancang untuk mengetahui suhu air dalam akuarium. 3. Sistem ini dirancang dengan set temp sebesar 260C.

4. Sistem ini akan bekerja ketika suhu pada air dalam akuarium menunjukkan suhu sebesar 250C ke bawah.

5. Sistem ini dikatakan bekerja dengan melihat lampu pada heater menyala.

6. Sistem ini dikatakan tidak bekerja ketika lampu pada heater mati dan suhu air dalam akuarium menunjukkan suhu 260C ke atas.

3.1.3. Ketinggian Air

Dalam hal ketinggian air perlu diperhatikan aspek-aspek yang dibutuhkan, yaitu :

1. Sistem ini dirancang untuk proses pergantian air.

2. Sistem ini dirancang dengan menggunakan 2 sensor ketinggian, yaitu sensor ketinggian batas atas dan sensor ketinggian batas bawah.


(47)

3. Sistem ini dirancang juga dengan menggunakan 2 pompa air, yaitu pump in (pompa isi air) dan pump out (pompa kuras air).

4. Sistem ini dirancang dengan pump timer setiap 72 jam sekali.

5. Sistem ini dirancang ketika waktu telah menunjukkan 72 jam, pompa kuras air akan bekerja sampai sebatas sensor ketinggian air batas bawah.

6. Sistem ini dirancang ketika air telah sebatas sensor ketinggian air batas bawah, pompa isi air akan bekerja sampai sebatas sensor ketinggian batas atas.


(48)

3.2. Flowchart

 

Gambar 3.1. Alur Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler


(49)

Pada Gambar 3.1. dapat dijelaskan alur flowchart sebagai berikut, Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler ini dimulai dengan inisialisasi timer, LCD 16x2, dan RTC DS1307. Semua inisialisasi tersebut kemudian dikirim ke mikrokontroler AT89S52. Setelah semua inisialisasi selesai, maka didapat tampilan awal yang berupa inisialisasi-inisialisasi tersebut yang kemudian dapat membaca suhu dari ADC.

Didalam ADC tersebut, set temp sebesar 260C. Jika suhu < set temp, maka Relay heater ON. Relay heater ON dikarenakan suhu air dalam akuarium dibawah 260C yang berarti suhu air dalam akuarium turun. Sehingga suhu air dalam akuarium dinormalkan kembali menjadi 260C. Tetapi jika suhu ≥ 260C, maka Relay heater OFF dikarenakan suhu air dalam akuarium sudah normal. Proses tersebut berlangsung secara terus-menerus setiap hari.

Setelah membaca suhu, dilanjutkan dengan membaca Feed Timer, Pump Timer or RTC. Untuk Feed Time di-set 8 jam selama 24 jam setiap hari. Jika Feed Timer = Feed Time, maka Relay Feed ON. Ketika Relay Feed ON maka auto feeder berputar selama 5 detik (sesuai keinginan user) untuk mengeluarkan pakan ikan. Proses tersebut akan bekerja selama Feed Time = Ø. Jika Feed Timer ≠ Feed Time, maka akan lanjut ke proses berikutnya, yaitu mengganti air kolam.

Untuk Pump Timer di-set setiap 72 jam sekali, dikarenakan kondisi air sudah terlihat keruh sehingga perlu pergantian air. Dalam akuarium terdapat 2 pompa, yaitu Pump Out yang berfungsi sebagai pompa kuras air


(50)

dan Pump In yang berfungsi sebagai pompa isi air. Selain terdapat 2 pompa, terdapat juga 2 sensor ketinggian yaitu LS UP sebagai sensor ketinggian batas atas dan LS DN sebagai sensor ketinggian batas bawah.

Jika Pump Timer = Pump Time, maka Relay Pump Out ON. Jika LS UP = OFF dan LS DN = OFF, maka Relay Pump In ON dan Relay Pump Out OFF. Tetapi jika tidak maka Relay Pump Out tetap ON.Jika LS UP = ON dan LS UP = ON, maka Relay Pump In OFF. Tetapi jika tidak maka Relay Pump In ON dan Relay Pump Out OFF. Proses tersebut akan bekerja selama Pump Time = Ø.

Pompa kuras air akan bekerja ketika waktu telah menunjukkan waktu yang telah di-set oleh user yaitu 72 jam dan akan berhenti ketika air telah sebatas sensor batas bawah. Setelah air sudah sebatas sensor bawah, maka pompa isi air yang bekerja dan akan berhenti ketika air sebatas sensor batas atas.

Pada Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler ini, terdapat 3 tombol yaitu tombol 1, tombol 2, dan tombol 3. Jika user memilih tombol 1, maka pada LCD akan muncul tampilan feed timer, pump timer, temp heater dan setting time. Pada tampilan tersebut, dapat melihat waktu pemberian pakan, waktu pergantian air, berapa lama auto feeder akan berputar, suhu, dan setting time.

Jika tidak, maka user dapat memilih tombol 2. Jika user memilih tombol 2, maka Relay Feed ON secara manual tanpa sesuai dengan feed timer. Tetapi proses feed time sama seperti feed timer yang sesuai dengan


(51)

waktu yang telah di-set. Proses tersebut akan bekerja selama Feed Time = Ø.

Jika tidak, maka user dapat memilih tombol 3. Jika user memilih tombol 3, maka Relay Pump Out ON secara manual tanpa sesuai dengan pump timer. Tetapi proses pump time sama seperti pump timer yang sesuai dengan waktu yang telah di-set. Proses tersebut akan bekerja selama Pump Time = Ø. Jika user tidak memilih tombol manapun, maka proses ini akan kembali lagi untuk membaca suhu dari ADC.


(52)

3.3. Blok Diagram

LS DOWN

LCD 16x2 LS UP Air Pump

 

Gambar 3.2. Blok Diagram

ADC ADS7822

LM35 Sensor Suhu 

IC LM358 Penguat 10x  3V Battery

CR2032 

Mikrokontroler

 

AT89S52

 

 

Relay Relay Relay Relay

RTC DS1307


(53)

Penjelasan dari Gambar 3.2. ini adalah penjelasan blok diagram dari perangkat keras dalam Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler yank menggunakan satu buah mikrokontroler.

Tugas mikrokontroler adalah sebagai penerima input langsung dari user, menyimpan data inputan dari user tersebut, sebagai pengkoordinasi waktu dengan menggunakan RTC DS1307, sebagai pewaktu dan pengontrol pemberian pakan ikan. Selain itu juga, RTC DS1307 digunakan sebagai penyimpan data dikarenaka jumlah RAM Internal pada mikrokontroler kurang mencukupi, selain itu juga memori yang ada pada RTC DS1307 bersifat non-volatile, sehingga nilai yang telah ditentukan untuk setiap parameter akan tetap tersimpan walaupun listrik padam.

Selain tugas tersebut, mikrokontroler juga memiliki tugas sebagai penerima inputan dari peralatan luar sebagai pembaca keadaan akuarium seperti sensor-sensor dan sekaligus sebagai pengontrol peralatan akuarium seperti pompa air. Mikrokontroler tersebut menggunakan komunikasi serial.

3.4. Kebutuhan Perancangan Hardware

Dalam pembuatan Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler ini komponen-komponen yang dibutuhkan adalah sebagi berikut:

1. LCD Dot Matrix 2. RTC DS1307


(54)

3. Sensor Suhu LM35 4. IC LM358

5. Heater 6. Air Pump

7. Pompa Kuras Air 8. Pompa Isi Air 9. Motor DC 10. Auto Feeder 11. Akuarium

12. Battery Lithium 3V CR 2032 13. Sensor Ketinggian Batas Atas 14. Sensor Ketinggian Batas Bawah 15. Relay

16. ADC ADS7822

17. Mikrokontroler AT89S52

3.5. Cara Merancang

Merancang Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler bukanlah suatu hal yang mudah dan tidak dapat dilakukan oleh banyak kalangan. Dalam menjalani Tugas Akhir ini penulis ingin memaparkan bagaimana cara merancang sistem ini, yaitu sebagai berikut :

1. Merancang dan menyusun akuarium dan pelengkap pendukungnya. 2. Merancang dan membuat perangkat keras Real Time Clock System.


(55)

3. Merancang dan membuat perangkat keras sistem pengontrol peralatan akuarium.

4. Merancang dan membuat perangkat lunak sistem pemeliharaan ikan hias air tawar berbasis mikrokontroler.

3.6. Analisis Perancangan

Analisis perancangan pada Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler ini dibagi menjadi 3 bagian, yaitu :

3.6.1. Analisis Perancangan Pemberian Pakan Ikan

Untuk pemberian pakan diperlukan auto feeder untuk menyimpan pakan ikan. Untuk mengeluarkan pakan tersebut dengan cara membuka sebagian penutup katup sesuai dengan keinginan pemilik dan banyaknya ikan dalam akuarium.

Perancangan untuk pemberian pakan ikan dilakukan setiap 8 jam sekali. Proses pemberian pakan ini menggunakan auto feeder. Setiap 8 jam sekali tersebut, auto feeder berputar selama 5 detik karena terdapat Motor DC pada auto feeder yang berfungsi agar auto feeder dapat berputar untuk mengeluarkan pakan ikan.

3.6.2. Analisis Perancangan Pergantian Air

Pergantian air dilakukan setiap 72 jam sekali. Proses pergantian air ini menggunakan 2 pompa air, yaitu pompa isi air dan pompa kuras air.


(56)

Dan juga menggunakan 2 sensor ketinggian, yaitu sensor ketinggian batas atas dan sensor ketinggian batas bawah.

Ketika pump time = 72 jam, maka pompa kuras air bekerja untuk membuang air sebatas sensor batas bawah. Setelah air telah mencapai sensor ketinggian batas bawah, maka pompa kuras air akan berhenti untuk membuang air. Kemudian digantikan dengan pompa isi air yang bekerja untuk mengisi air ke dalam akuarium sebatas sensor ketinggian batas atas. Setelah air mencapai sensor ketinggian batas atas, maka pompa isi air akan berhenti untuk mengisi air ke dalam akuarium. Proses tersebut bekerja setiap 72 jam sekali.

3.6.3. Analisis Perancangan Pengukuran Suhu

Suhu air dalam akuarium di-set sebesar 260C. Untuk mengukur suhu diperlukan sensor suhu LM35 untuk mengetahui suhu air dalam akuarium, IC LM358 sebagai penguat sensor suhu dan heater.

Proses ini akan bekerja ketika suhu air dalam akuarium menunjukkan dibawah 260C, maka heater akan bekerja untuk menormalkan suhu air dalam akuarium menjadi 260C. Heater dikatakan bekerja dengan adanya tanda lampu pada heater berwarna merah menyala. Ketika lampu pada heater telah padam, maka suhu air dalam akuarium telah normal dan berhenti bekerja. Biasanya suhu air dalam akaurium akan turun dibawah 260C ketika setelah pergantian air.


(57)

3.7. Rancangan dan Analisis Sistem

Berikut ini cara kerja Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler saat dijalankan.

3.7.1. Rancangan Pemberian Pakan

Proses pemberian pakan, auto feeder akan berputar dengan bantuan motor DC selama 5 detik untuk mengeluarkan pakan ikan. Agar pakan ikan tersebut dapat keluar, maka katup pada auto feeder dibuka sebagian dengan menyesuaikan banyak ikan yang ada dalam akuarium. Proses ini, akan bekerja setiap 8 jam sekali setiap harinya.

Gambar 3.3. Pemberian Pakan

Rancangan pemberian pakan ini diperlukan auto feeder sebagai tempat menyimpan pakan ikan. Pada auto feeder terdapat katup pembuka dan penutup untuk menyesuaikan banyaknya pakan ikan yang akan dikeluarkan. Selain auto feeder, rancangan diperlukan feeding timer dan valve timer. Feeding timer, berfungsi sebagai waktu pemberian pakan


(58)

setiap 8 jam sekali. Sedangkan valve timer, berfungsi sebagai perputaran auto feeder selama 5 detik. Sehingga rancangan pemberian pakan ikan akan bekerja setiap 8 jam sekali dan berputar selama 5 detik.

  3.7.2. Rancangan Pengukuran Suhu

Dalam perancangan pengukuran suhu, digunakan sensor suhu LM35. Sensor ini memiliki respon yang linier terhadap perubahan suhu, yaitu +10 mV/0C, dengan output -550 mV pada suhu -550C dan 1500 mV pada suhu 1500C. Sensor suhu LM35 ini berfungsi untuk mengetahui suhu air. Untuk perancangan pengukuran suhu, telah ditetapkan suhu normal sebesar 260C.


(59)

Gambar 3.5. Heater Selesai Bekerja

Pada Gambar 3.4., suhu dibawah 260C, maka akan menyalakan pemanas (heater), namun apabila suhu telah mencapai 260C atau lebih, maka pemanas (heater) akan mati, seperti pada Gambar 3.5..

3.7.3. Rancangan Pergantian Air

Proses pergantian air dengan menggunakan 2 pompa air, yaitu pompa isi air dan pompa kuras air. Proses ini bekerja ketika pump timer menunjukkan waktunya yaitu 72 jam. Pompa kuras air akan membuang air dalam akuarium sebatas sensor ketinggian air batas bawah. Ketika air sudah sebatas sensor ketinggian batas bawah, maka pompa isi air yang bekerja untuk mengisi air ke dalam akuarium. Proses ini akan bekerja setiap 72 jam sekali.


(60)

Gambar 3.6. Proses Pembuangan air

Gambar 3.7. Proses Pengisian air

Keadaan awal saat pergantian air, air dalam ketinggian sebatas sensor ketinggian batas atas, yang kemudian pompa kuras bekerja untuk membuang air sebanyak sepertiga dari volume air awal atau sebatas sensor batas bawah (seperti Gambar 3.6.). Setelah air dibuang sampai sensor ketinggian batas bawah, maka pompa isi mulai bekerja untuk mengisi air bersih sampai sensor ketinggian batas atas (seperti Gambar 3.7.).


(61)

3.8. Rancangan Komponen

Perencanaan perangkat keras pada tugas akhir ini menggunakan Mikrokontroler AT89S52 sebagai sistem kontrol utama pada Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler. Dan dihubungkan dengan perangkat luar antara lain rangkaian sensor suhu LM35 dengan menggunakan IC LM358 untuk mengetahui suhu air dalam akuarium, rangkaian sensor ketinggian dengan menggunakan 2 sensor ketinggian yaitu sensor ketinggian batas atas dan sensor ketinggian batas bawah, dan rangkaian auto feeder dengan menggunakan motor DC dan relay. Gambar 3.8. merupakan rancangan komponen yang dibutuhkan untuk pembuatan Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler.


(62)

             

Gambar 3.8. Rancangan Komponen PCB 

 

  LCD 16x2

   

 

Mikrokontroler  AT89S52 

Level Sensor  Atas Level Sensor 

Bawah Relay 

Pompa Kuras Air  Pompa Isi Air 

Auto Feeder  Heater 100W  Relay 

Relay  Relay  3V Battery 

CR 2032 LM35 

Sensor Suhu 

IC LM358  Penguat 10x

ADC  ADS7822

RTC DS1307

PSU 12 V V Reg 5V  L7805 Air Pump 


(63)

pada Gambar 3.8. adalah : 3.8.1. LCD Dot Matrix

LCD Dot Matrix merupakan perangkat yang berfungsi untuk menampilkan setting timer, pumping time (PT), set temperature (ST), feeding time (FT), dan valve time (VT) yang ada pada program.

3.8.2. ADC ADS7822

ADC ADS7822 merupakan perangkat yang berfungsi untuk menghubungkan sensor suhu LM35 yang diperkuat dengan IC LM358 ke Mikrokontroler AT89S52 yang digunakan untuk membaca suhu air dalam akuarium.

3.8.3. Sensor Suhu LM35

Sensor suhu LM35 merupakan perangkat yang berfungsi untuk mengukur suhu dalam akuarium.

3.8.4. IC LM358

IC LM 358 merupakan perangkat tambahan untuk sensor suhu, dimana IC LM358 tersebut berfungsi sebagai penguat (Gain) setelah menerima masukan dari sensor suhu.

3.8.5. Battery Lithium 3V CR2032

Pada rangkaian ini, diperlukan Battery Lithium 3V CR2032 yang digunakan sebagai pendukung ADC ADS7822 untuk membantu membaca suhu air dalam akuarium.


(64)

3.8.6. Mikrokontroler AT89S52

Mikrokontroler itu sendiri merupakan chip yang berfungsi sebagai control utama pada Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler.

3.8.7. Heater

Heater ini merupakan perangkat tambahan yang berfungsi sebagai penghangat air dalam akuarium. Jika suhu air dalam akuarium dibawah 260C, maka heater mulai bekerja.

3.8.8. Auto Feeder

Food feeder ini merupakan perangkat tambahan yang berfungsi sebagai tempat penyimpan pakan. Selain itu juga dapat berfungsi untuk mengeluarkan pakan secara otomatis ketika set feed tepat pada waktu default-nya yaitu 8 jam sekali.

3.8.9. Pompa Kuras Air

Pompa kuras air merupakan perangkat tambahan yang berfungsi sebagai pompa pembuangan air. Ketika pump timer (72 jam) maka pompa kuras air ini mulai bekerja untuk membuang air yang ada dalam akuarium sebatas sensor batas bawah. Ketika air sudah mencapai sensor batas bawah, maka pompa kuras air ini berhenti.

3.8.10.Pompa Isi Air

Pompa isi air merupakan perangkat tambahan yang berfungsi sebagai pompa pengisian air. Pompa ini mulai bekerja, ketika air yang dibuang telah mencapai sensor batas bawah yang kemudian pompa ini mengisi air ke dalam akuarium sampai batas sensor batas atas.


(65)

3.8.11.Air Pump 

Air pump merupakan perangkat tambahan yang berfungsi sebagai perputaran oksigen dalam akuarium. 


(66)

4.1. Kebutuhan Sistem

Dalam pengerjaan sistem pengendalian ruang budidaya dan pemberian pakan ikan secara otomatis berbasis mikrokontroler ini ada dua hal penting yang perlu disiapkan yaitu kebutuhan software dan kebutuhan hardware yang digunakan untuk membuat dan menjalankan program ini.

4.1.1. Perangkat Sistem

Perangkat yang dibutuhkan dalam pembuatan sistem pengendalian ruang budidaya dan pemberian pakan ikan secara otomatis berbasis mikrokontroler dengan menggunakan mikrokontroler AT89S52 ini termasuk dalam pembuatan laporan adalah perangkat keras (hardware) dan perangkat lunak (software). Penggunaan hardware yang baik akan lebih memudahkan dalam menjalankan dan pembuatan program, untuk itu diperlukan seperangkat komputer dengan spesifikasi sebagai berikut : 1. Prosessor Intel Core 2

2. Hard disk 1.5 GB

Untuk membuat dan menjalankan program ini maka diperlukan software pendukung, yaitu :

1. Sistem operasi Microsoft Windows 7 Professional. 2. Notepad.


(67)

3. Easy Assembler

4.2. Prosedur Pemasangan

Ada beberapa cara yang harus dilakukan sebelum program dibuat dan dimasukkan ke dalam chip, yaitu :

1. Buka software Easy Assembler, setelah itu buka file yang disimpan dengan format .txt.

2. File tersebut masih dalam bentuk Binary File.

Gambar 4.1. Format Binary File

3. File tersebut harus diubah menjadi Intel-HEX File, dengan cara mengubah

output format.

4. Pilih output format kemudian pilih Intel-HEX File, seperti pada gambar


(68)

Gambar 4.2. Proses Pengubahan dari Binary File menjadi Intel-HEX File 5. Setelah format output diubah menjadi Intel-HEX File, kemudian di-compile

dengan menekan tombol F9 pada keyboard atau dengan cara seperti pada gambar dibawah ini.

Gambar 4.3. Proses compile

6. Setelah proses compile dan tidak terdapat error, maka proses tersebut dinyatakan sukses.


(69)

Gambar 4.4. Proses compiler sukses

4.3. Penjelasan Program

Pada penjelasan program kali ini akan dibahas tentang implementasi program yang merupakan hasil dari analisa dan perancangan sistem pada bab sebelumnya. Implementasi program ini ditujukan untuk penggemar ikan hias yang memelihara akan dalam berinteraksi dengan sistem yang dihasilkan.

Sebelum memulai penjelasan harus melewati beberapa tahap untuk dapat menyelesaikan sistem ini. Adapun tahap yang harus dilalui adalah mengisi data Mikrokontroler AT89S52.

Mikrokontroler sebagai IC atau pengendali dari alat-alat yang lain sehingaa IC didalam mkrokontroler membtutuhkan perintah-perintah yang akan digunakan untuk menjalankan perangkat tambahan. Untuk mengisi data ke mikrokontroler menggunakan bahasa pemrograman Easy Assembler.


(70)

Penggunaan mikrokontroler harus memenuhi semua alat yang dibutuhkan, apabila terdapat salah satu alat yank tidak berfungsi maka sistem ini tidak dapat bekerja dengan sempurna.

4.4. Implementasi

Pada tahapan ini akan dibahas mengenai implementasi program dan perangkat dari perancangan sistem yang telah dibahas sebelumnya.

4.4.1. Implementasi Program

Dalam implementasi program ini akan ditampilkan sebagian dari coding untuk membuat Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler. Setelah coding tersebut dibuat, kemudian coding tersebut dimasukkan ke dalam

chip agar dapat menjalankan perintah-perintah untuk sistem ini. Berikut

merupakan cuplikan dari sebagian coding : 1. Deklarasi Konstanta

a. Deklarasi waktu untuk jadwal pemberian pakan.

TFeedDef_C EQU 8 ; dalam jam 

b. Deklarasi waktu untuk jadwal pergantian air.

TPumpDef_C EQU 72 ; dalam jam

c. Deklarasi waktu untuk perputaran auto feeder.


(71)

d. Deklarasi suhu.

SPTempDef_C EQU 26 ; dalam derajat celcius

2. Pendefinisian data bit pada port Mikrokontroler AT89S52

Pump1_P BIT p2.0 ; act HI, pump out

Pump2_P BIT p2.1 ; act HI, pump in

Heater_P BIT p2.2 ; heater

Feeder_P BIT p2.3 ; act LO

LSUp_P BIT p2.4 ; level sensor atas

LSDn_P BIT p2.5 ; level sensor bawah

ADCClk_P BIT p1.0 ; pin 7 (DClock) ADC

ADCData_P BIT p1.1 ; pin 6 (Data) ADC

ADCCS_P BIT p1.2 ; pin 5 (CS) ADC

button1_P BIT p1.5 ; tombol inisialisasi timer

button2_P BIT p1.6 ; tombol feeding

button3_P BIT p1.7 ; tombol pumping

LCDBL_P BIT p2.7 ; pin 15 (BL) LCD

LCDRS_P BIT p0.0 ; pin 4 (RS) LCD

LCDCS_P BIT p0.1 ; pin 6 (EN) LCD

LCDData4_P BIT p0.2 ; pin 11 (Data4) LCD

LCDData5_P BIT p0.3 ; pin 12 (Data 5) LCD

LCDData6_P BIT p0.4 ; pin 13 (Data 6) LCD

LCDData7_P BIT p0.5 ; pin 14 (Data 7) LCD

tX_P BIT p3.2 ; pengirim data

RX_P BIT p3.3 ; penerima data

SCL_P BIT p0.6 ; pin 6 (SCL) RTC


(72)

3. Pendefinisian konstanta pada memori

FeedSec_M EQU 2Dh ; waktu feeding dalam detik

FeedMin_M EQU 2Eh ; waktu feeding dalam menit

FeedHour_M EQU 2Fh ; waktu feeding dalam jam

PumpSec_M EQU 45h ; waktu pumping dalam detik

PumpMin_M EQU 46h ; waktu pumping dalam menit

PumpHour_M EQU 47h ; waktu pumping dalam jam

TFeeding_M EQU 4Bh ; time feeding

TPumping_M EQU 4Ch ; time pumping

TValve_M EQU 4Dh ; time valve

4. Pendefinisian data bit pada bit memori

LSUp_F BIT 00h ; level sensor atas

LSDn_F BIT 01h ; level sensor bawah

Button1_F BIT 02h ; tombol inisialisasi timer

Button2_F BIT 03h ; tombol feeding

Button3_F BIT 04h ; tombol pumping

HEater_F BIT 06h ; heater

Feeding_F BIT 07h ; feeding

Pumping_F BIT 08h ; pumping

FeedOK_F BIT 0Bh ; hasil feeding

5. Cek default byte a. Load Setting

Load_Setting

MOV b,#TFeedingAddr_C ; #TFeedingAddr_C = 10h

MOV r0,#0

MOV r1,#1101b

LCALL Read_I2C ; panggil prosedur Read_I2C


(73)

MOV b,#TPumpingAddr_C ; #TPumpingAddr_C = 11h

LCALL Read_I2C ; panggil prosedur Read_I2C

MOV TPumping_M,a

MOV b,#TValveAddr_C ; #TValveAddr_C = 12h

LCALL Read_I2C ; panggil prosedur Read_I2C

MOV TValve_M,a

MOV b,#SPTempAddr_C ; #SPTempAddr_C = 0Fh

LCALL Read_I2C ; panggil prosedur Read_I2C

MOV SPTemp_M,a

RET ; kembali

b. Load Feed Time

Load_Feed_Time

MOV b,#FeedTimeAddr_C ; # FeedTimeAddr_C = 09h

MOV r0,#0

MOV r1,#1101b

ACALL Read_I2C ; panggil prosedur Read_I2C

MOV FeedHour_M,a

INC b

ACALL Read_I2C ; panggil prosedur Read_I2C

MOV FeedMin_M,a

INC b

ACALL Read_I2C ; panggil prosedur Read_I2C

MOV FeedSec_M,a

RET ; kembali

c. Load Pump Time

Load_Pump_Time

MOV b,#PumpTimeAddr_C ; #PumpTimeAddr_C = 0Ch

MOV r0,#0

MOV r1,#1101b

ACALL Read_I2C ; panggil prosedur Read_I2C

MOV PumpHour_M,a

INC b


(74)

MOV PumpMin_M,a

INC b

ACALL Read_I2C ; panggil prosedur Read_I2C

MOV PumpSec_M,a

RET ; kembali

d. Save Setting

Save_Setting

MOV b,#TFeedingAddr_C ; #TFeedingAddr_C = 10h

MOV r0,#0

MOV r1,#1101b

MOV a,TFeeding_M

LCALL write_I2C ; panggil prosedur Write_I2C

MOV b,#TPumpingAddr_C ; #TPumpingAddr_C = 11h

MOV a,TPumping_M

LCALL Write_I2C ; panggil prosedur Write_I2C

MOV b,#TValveAddr_C ; #TValveAddr_C = 12h

MOV a,TValve_M

LCALL Write_I2C ; panggil prosedur Write_I2C

MOV b,#SPTempAddr_C ; #SPTempAddr_C = 0Fh

MOV a,SPTemp_M

LCALL Write_I2C ; panggil prosedur Write_I2C

RET ; kembali

e. Save Feed Time

Save_Feed_Time

MOV b,#FeedTimeAddr_C ; # FeedTimeAddr_C = 09h

MOV r0,#0

MOV r1,#1101b

MOV a,FeedHour_M

ACALL Write_I2C ; panggil prosedur Write_I2C

MOV a,FeedMin_M

INC b

ACALL Write_I2C ; panggil prosedur Write_I2C


(75)

INC b

ACALL Write_I2C ; panggil prosedur Write_I2C

RET ; kembali

f. Save Pump Time

Save_Pump_Time

MOV b,#PumpTimeAddr_C ; #PumpTimeAddr_C = 0Ch

MOV r0,#0

MOV r1,#1101b

MOV a,PumpHour_M

ACALL Write_I2C ; panggil prosedur Write_I2C

MOV a,PumpMin_M

INC b

ACALL Write_I2C ; panggil prosedur Write_I2C

MOV a,PumpSec_M

INC b

ACALL Write_I2C ; panggil prosedur Write_I2C

RET ; kembali

g. Cek level sensor ketinggian batas atas

Check_LS ; cek sensor ketinggian

JB Pumping_F,CLSJ1

RET ; kembali

CLSJ1

; --- limit switch up (batas atas)

JB LSUp_P,CLJ1

JB LSUp_F,CLJ1a

MOV r6,#250

CL1J2 MOV r7,#250

CL1J1 JB LSUp_P,CLJ1

DJNZ r7,CL1J1 ; kurangi R7 dgn 1, jika blm = 0

; loncat ke prosedur CL1J1

DJNZ r6,CL1J2 ; kurangi R6 dgn 1, jika blm = 0

; loncat ke prosedur CL1J2


(76)

; LS UP ON -> ada air

MOV a,PumpState_M

CJNE a,#1,LS1J1 ; jika ≠ 1, lompat ke LS1J1

CLR Pump2_P

CLR Pumping_F

MOV dptr,#PumpingOK_SMS

CLR a

MOVC a,@a+dptr

MOV SMSLength_M,a

INC dptr

MOV r0,#SMSBuff_M

LCALL Put_Text_Buff

MOV a,Temp_M

MOV r0,#SMSBuff_M+14

LCALL Put_2_Digit_Buff

LCALL Send_SMS

RET ; kembali

LS1J1

RET ; kembali

CLJ1 JNB LSUp_F,CLJ1a

MOV r6,#250

CL1J4 MOV r7,#250

CL1J3 JNB LSUp_P,CLJ1a

DJNZ r7,CL1J3 ; kurangi R7 dgn 1, jika blm = 0

; loncat ke prosedur CL1J3

DJNZ r6,CL1J4 ; kurangi R6 dgn 1, jika blm = 0

; loncat ke prosedur CL1J4

CLR LSUp_F

; LS UP OFF -> tidak ada air

CLJ1a 

h. Cek level sensor ketinggian batas bawah ; --- Limit switch down

JB LSDn_P,CLJ2

JB LSDn_F,CLJ2a

MOV r6,#250


(77)

CL2J1 JB LSDn_P,CLJ2

DJNZ r7,CL2J1 ; kurangi R7 dgn 1, jika blm = 0

; loncat ke prosedur CL2J1

DJNZ r6,CL2J2 ; kurangi R6 dgn 1, jika blm = 0

; loncat ke prosedur CL2J2

SETB LSDn_F

; LS DN ON -> ada air

RET ; kembali

CLJ2 JNB LSDn_F,CLJ2a

MOV r6,#250

CL2J4 MOV r7,#250

CL2J3 JNB LSDn_P,CLJ2a

DJNZ r7,CL2J3 ; kurangi R7 dgn 1, jika blm = 0

; loncat ke prosedur CL2J3

DJNZ r6,CL2J4 ; kurangi R6 dgn 1, jika blm = 0

; loncat ke prosedur CL2J4

CLR LSDn_F

; LS DN OFF -> tidak ada air

MOV a,PumpState_M

CJNE a,#0,LS2J1 ; jika ≠ 0, lompat ke LS2J1

MOV PumpState_M,#1

CLR Pump1_P

SETB Pump2_P

LS2J1

CLJ2a

RET ; kembali

i. Cek button 1 (inisialisasi timer)

; --- Button 1 (inisialisasi timer)

JB Button1_P,CBJ1

JB Button1_F,CBJ1a

MOV r6,#200

CB1J2 MOV r7,#100


(78)

DJNZ r7,CB1J1 ; kurangi R7 dgn 1, jika blm = 0 ; loncat ke prosedur CB1J1

DJNZ r6,CB1J2 ; kurangi R6 dgn 1, jika blm = 0

; loncat ke prosedur CB1J2

SETB Button1_F

; Button 1 pressed

MOV BLTick_M,#0

CLR LCDBL_P

MOV a,Mode_M

CJNE a,#ShowTime_Md,B1J1 ; #ShowTime_Md = 0

; jika ≠ 0, lompat ke B1J1

MOV Mode_M,#ShowStat_Md

LCALL Clr_Screen

LCALL Init_Mode

RET ; kembali

B1J1 CJNE a,#ShowStat_Md,B1J2 ; #ShowStat_Md = 1

; jika ≠ 1, lompat ke B1J2

MOV Mode_M,#ShowSet_Md

LCALL Init_Mode

RET ; kembali

B1J2 CJNE a,#ShowSet_Md,B1J3 ; #ShowSet_Md = 2

; jika ≠ 2, lompat ke B1J3

MOV Mode_M,#ShowTime_Md

LCALL INit_Mode

RET ; kembali

B1J3

RET ; kembali

CBJ1 JNB Button1_F,CBJ1a

MOV r6,#200

CB1J4 MOV r7,#100

CB1J3 JNB Button1_P,CBJ1a

DJNZ r7,CB1J3

DJNZ r6,CB1J4

CLR Button1_F

; Button 1 released


(79)

j. Cek button 2 (perintah feeding) ; --- Button 2

JB Button2_P,CBJ2

JB Button2_F,CBJ2a

MOV r6,#200

CB2J2 MOV r7,#100

CB2J1 JB Button2_P,CBJ2

DJNZ r7,CB2J1 ; kurangi R7 dgn 1, jika blm = 0

; loncat ke prosedur CB2J1

DJNZ r6,CB2J2 ; kurangi R6 dgn 1, jika blm = 0

; loncat ke prosedur CB2J2

SETB Button2_F

; Button 2 pressed

MOV BLTick_M,#0

CLR LCDBL_P

LCALL Do_Feeding ; panggil prosedur Do_Feeding

RET ; kembali

CBJ2 JNB Button2_F,CBJ2a

MOV r6,#200

CB2J4 MOV r7,#100

CB2J3 JNB Button2_P,CBJ2a

DJNZ r7,CB2J3 ; kurangi R7 dgn 1, jika blm = 0

; loncat ke prosedur CB2J3

DJNZ r6,CB2J4 ; kurangi R6 dgn 1, jika blm = 0

; loncat ke prosedur CB2J4

CLR Button2_F

; Button 2 released

CBJ2a

k. Cek button 3 (perintah pumping) ; --- Button 3

JB Button3_P,CBJ3

JB Button3_F,CBJ3a

MOV r6,#200

CB3J2 MOV r7,#100


(80)

DJNZ r7,CB3J1 ; kurangi R7 dgn 1, jika blm = 0 ; loncat ke prosedur CB3J1

DJNZ r6,CB3J2 ; kurangi R6 dgn 1, jika blm = 0

; loncat ke prosedur CB3J2

SETB Button3_F

; Button 3 pressed

MOV BLTick_M,#0

CLR LCDBL_P

LCALL Do_Pumping ; panggil prosedur Do_Pumping

RET ; kembali

CBJ3 JNB Button3_F,CBJ3a

MOV r6,#200

CB3J4 MOV r7,#100

CB3J3 JNB Button3_P,CBJ3a

CB3J3 JNB Button3_P,CBJ3a

DJNZ r7,CB3J3 ; kurangi R7 dgn 1, jika blm = 0

; loncat ke prosedur CB3J3

DJNZ r6,CB3J4 ; kurangi R6 dgn 1, jika blm = 0

; loncat ke prosedur CB3J4

CLR Button3_F

; Button 3 released

CBJ3a

RET ; kembali

l. Proses feeding

Do_Feeding

MOV FeedHour_M,#0

MOV FeedMin_M,#0

MOV FeedSec_M,#0

LCALL Save_Feed_Time ; panggil prosedur penyimpanan

; waktu feeding

SETB Feeding_F

CLR Feeder_P

MOV FTick_M,#0

MOV FSec_M,#0


(81)

m. Proses pumping

Do_Pumping

MOV PumpHour_M,#0

MOV PumpMin_M,#0

MOV PumpSec_M,#0

LCALL Save_Pump_Time ; panggil prosedur penyimpanan

; waktu pumping

SETB Pumping_F

SETB Pump1_P

CLR Pump2_P

MOV PumpState_M,#0

RET ; kembali

4.4.2. Implemantasi Perangkat

Gambar 4.5. dibawah ini merupakan gambar komponen-komponen yang dirakit pada PCB.


(82)

Setelah merangkai komponen-komponen pada PCB, tahap implementasi yang terakhir adalah menggabungkan rangkaian PCB dengan motor DC.

Berikut ini adalah gambar Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler yang telah dijadikan satu dengan motor DC. Maka dari itu, sistem ini membutuhkan beberapa perangkat tambahan agar Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler dapat bekerja. Perangkat tambahan yang dibutuhkan antara lain heater, pompa air, filter, dan auto feeder.

Gambar 4.6. Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler

Gambar 4.6. merupakan rangkaian seluruh dari Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler. Selain rangakain pada PCB, Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler ini dibutuhkan 2 pompa air, auto feeder, heater,


(1)

yaitu 260C. Heater dikatakan bekerja ketika lampu pada heater menyala, seperti pada Gambar 5.4. Lampu pada heater akan mati ketika suhu air dalam akuarium telah mencapai 260C.

Gambar 5.5. Kondisi Suhu 260C

Pada Gambar 5.5. lampu pada heater tidak menyala dikarenakan suhu air dalam akuarium mencapai 260C. Suhu tersebut sesuai dengan set temperature (ST) pada program yaitu 260C, sehingga heater tidak bekerja dikarenakan suhu sudah normal.

5.4. Hasil Pengujian Sistem Pengendalian Ruang Budidaya dan

Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler Untuk percobaan pengujian Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler dilakukan selama 7 hari untuk mendapatkan hasil pengujian sistem tersebut. Selama 7 hari tersebut, sistem dinyalakan agar semua jenis percobaannya dapat bekerja sesuai dengan fungsinya masing-masing.


(2)

74   

Tabel 5.1. Hasil Pengujian

Jenis

 

Percobaan

 

Pemberian Pakan (8 jam)  Pengukuran Suhu 

 

Tanggal 

II  III 

Pergantian Air  (72 jam) 

< 260 C  ≥ 26⁰C  29‐10‐2010 

     

−  −   

30‐10‐2010 

     

−  −   

31‐10‐2010 

     

√  −   

01‐11‐2010 

     

−  −   

02‐11‐2010 

     

−  −   

03‐11‐2010 

     

√  −   

04‐11‐2010 

     

−  −   

Tabel 5.1. merupakan hasil pengujian Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler selama 7 hari berturut-turut. Selama 7 hari berturut-turut, semua jenis percobaan dapat berjalan dengan baik, dengan kata lain sistem ini tidak mengalami kegagalan dalam pengujiannya.

     


(3)

6.1. Kesimpulan

Dari hasil uraian yang telah digambarkan, baik secara teori maupun berdasarkan hasil-hasil pengujian yang telah dilakukan pada Tugas Akhir ini, maka dapat diambil kesimpulan sebagai berikut :

1. Komponen terpenting yang dipergunakan pada Tugas Akhir Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler adalah dengan menggunakan salah satu jenis Mikrokontroler yaitu AT89S52.

2. Sistem ini dapat mempermudah penggemar ikan untuk memelihara ikan tetapi penggemar ikan tersebut sering bepergian jauh dengan waktu yang cukup lama.

3. Sistem ini dapat bekerja untuk memberi pakan ikan secara otomatis setiap 8 jam sekali.

4. Sistem ini dapat bekerja untuk mengganti air yang berkala akibat tingkat kejernihan air dalam akuarium semakin lama semakin berkurang.

5. Sistem ini dapat mengukur suhu air dalam akuarium.

6. Sistem ini dapat menghangatkan air dalam akuarium dengan adanya perangkat heater ketika air dalam akuarium menunjukkan suhu dibawah 260C.


(4)

76   

6.2. Saran

Dengan adanya kekurangan dalam kinerja dari Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler banyak hal-hal yang perlu dilakukan untuk mendapatkan sistem yang lebih baik, yaitu :

1. Pembuatan Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler ini tidak dapat dikontrol langsung oleh pemilik. Sehingga dibutuhkan juga pemberitahuan kepada pemilik setiap proses berlangsung dengan basis SMS.

2. Pembuatan Sistem Pengendalian Ruang Budidaya dan Pemberian Pakan Ikan Secara Otomatis Berbasis Mikrokontroler ini tidak menggunakan sensor kejernihan air, sehingga pemilik tidak dapat mengetahui tingkat kejernihan air dalam akuarium. Penulis berharap agar ada yang mengembangkan dengan menambahkan sensor kejernihan air agar dapat lebih memudahkan pemilik untuk mengetahui tingkat kejernihan air dalam akuarium.


(5)

[1] Budiharto, Widodo dan Sigit Firmansyah. (2005). Elektronika Digital + Mikroprosesor. Andi. Yogyakarta.

[2] S'to (sto@poboxes.com). Pemrograman Bahasa Assembly. Diakses dari :

http://www.scribd.com/doc/5368322/Pemrograman-Bahasa-Assembly. Pada : 28-09-2010/11.29

[3] S'to (sto@poboxes.com). Real Time Clock. Diakses dari : http://www.scribd.com/doc/22362718/Real-Time-Clock. Pada : 06-10-2010/13.26

[4] S'to (sto@poboxes.com). Mikrokontroler. Diakses dari : http://www.scribd.com/doc/19002390/Mikrokontroler-. Pada : 03-11-2010/20.51

[5] Pengukur Suhu Berbasis Mikrokontroler. Diakses dari :

http://www.mikron123.com/index.php/Aplikasi-Pengukuran/Pengukur-Suhu-Berbasis-Mikrokontroler.html. Pada : 03-11-2010/20.32

[6] Pemrograman AT89S51 bahasa Assembly. Diakses dari :

http://www.mikron123.com/index.php/Tutorial-MCS-51/Pemrograman-AT89S51-bahasa-Assembly.html. Pada : 03-11-2010/20.35

[7] Daftar Instruksi Bahasa Assembly MCS-51. Diakses dari : http://www.mikron123.com/index.php/Tutorial-MCS-51/Daftar-Instruksi-Bahasa-Assembly-MCS-51.html. Pada : 03-11-2010/20.41

[8] Kurniawan, Rudy. (2005). Akuarium Pintar. Universitas Kristen Petra. Surabaya.

[9] http://staff.ui.ac.id/internal/040603019/material/DCMotorPaperandQA.pdf [10] Kurniawan, Dian. Telemetri Suhu dan Kelembapan Dengan Menggunakan


(6)

[11] http://tutorial-elektronika.blogspot.com/2009/02/apa-dan-bagaimana-karakteristik-sensor.html

[12] http://staff.ui.ac.id/internal/040603019/material/DCMotorPaperandQA.pdf [13] http://www.o-fish.com/Air/temperatur.php