SISTEM PENGENDALIAN AQUARIUM DAN PEMBERIAN PAKAN IKAN SECARA OTOMATIS BERBASIS MIKROKONTROLER.
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
I 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