Anda di halaman 1dari 6

PERANCANGAN ALAT PEMBERI MAKAN IKAN OTOMATIS

DAN PEMANTAU KEADAAN AKUARIUM BERBASIS


MIKROKONTROLER ATMEGA8535
Recky Suharmon, T. Ahri Bahriun
Konsentrasi Teknik Komputer, Departemen Teknik Elektro
Fakultas Teknik Universitas Sumatera Utara (USU)
Jl. Almamater, Kampus USU Medan 20155 INDONESIA
e-mail: recky.gitu@gmail.com

Abstrak
Salah satu hobi yang banyak diminati oleh masyarakat pada saat ini adalah memelihara ikan di dalam
akuarium. Namun, bagi masyarakat yang memiliki tingkat kesibukan yang cukup padat, akan
merasakan sedikit kesulitan ketika akan meninggalakan rumah dalam waktu yang cukup lama.
Karena pemenuhan kebutuhan ikan terutama pada pemberian pakan, penjagaan regulasi air, suhu air
dan catuan daya sedikit banyaknya akan terganggu. Tulisan ini membahas tentang perancangan
sebuah alat yang dapat memberi makan ikan secara otomatis, mendeteksi pergantian catu daya, dan
mendeteksi suhu ketika berada dalam keadaan tidak normal. Pengendali utama pada alat ini
menggunakan mikrokontroler ATMega8535. Aktivitas-aktivitas yang telah dilakukan akan
diinformasikan melalui SMS menggunakan modem GSM ke satu nomor telepon tertentu. Hasil dari
proses perancangan adalah sebuah alat yang dapat memberi makan ikan secara otomatis, mendeteksi
pergantian catu daya, dan mendeteksi suhu ketika berada dalam keadaan tidak normal yang diikuti
dengan pengiriman SMS pemberitahuan oleh modem GSM.

Kata Kunci: Mikrokontroler ATMega8535, autofeeder ikan, modem GSM


1.

Pendahuluan

Salah satu hobi yang banyak diminati oleh


masyarakat pada saat ini adalah memelihara ikan
di dalam akuarium. Namun, bagi masyarakat
yang memiliki tingkat kesibukan yang cukup
padat, akan merasakan sedikit kesulitan ketika
akan meninggalakan rumah dalam waktu yang
cukup lama. Karena pemenuhan kebutuhan ikan
terutama pada pemberian pakan, regulasi air,
penjagaan suhu air dan catuan daya sedikit
banyaknya akan terganggu.
Solusi yang biasanya diambil adalah
meminta bantuan kepada tetangga atau
pembantu. Oleh karena itu dirancanglah sebuah
alat yang dapat diaplikasikan dalam proses
perawatan ikan dalam akuarium. Dengan alat ini
maka diharapkan dapat menjadi alternatif solusi
bagi masyarakat yang hobi memelihara ikan
tanpa merasa khawatir ketika meninggalkan
rumah dalam waktu yang cukup lama.

2.

Perancangan Perangkat Keras

Sistem
dikendalikan
oleh
sebuah
mikrokontroler. Mikrokontroler merupakan
sebuah sistem komputer lengkap di dalam satu
serpih (chip). Mikrokontroler bahkan lebih dari
sekadar sebuah mikroprosesor karena telah
terdiri dari ROM (Read-Only Memory), RAM
(Read-Write Memory), beberapa bandar (port)
masukan maupun keluaran.
Dalam tulisan ini mikrokontroler yang
digunakan adalah jenis AVR ATMega8535.
Pemilihan ini didasari oleh cara pemakaian yang
cukup mudah, baik itu dari segi perangkat keras
maupun perangkat lunak. Di samping itu, faktor
teknis lain yang mendasari pemilihan
mikrokontroler ini adalah ketersediaan fitur dan
fasilitas yang cukup lengkap untuk memenuhi
kebutuhan perancangan seperti interupsi,
Timer/Counter, PWM, USART, TWI, Analog
Comparator, EEPROM internal, dan ADC
internal.

minimum mikrokontroler terdiri dari rangkaian


clock dan rangkaian reset.
2.2 Rangkaian Regulator Tegangan
Regulator tegangan berfungsi untuk
menstabilkan tegangan agar tetap konstan.
Komponen
yang
harus
dicatu
yaitu
mikrokontroler ATMega8535, MAX232, DIWLM35TS, RTC DS1307, LED, motor servo,
dan LCD. Gambar 3. menunjukkan rangkaian
power supply tegangan.
TRAFO STEP DOWN
12 V

D2

V1

D1

AC

1N4007
1N4007

BAT2
12V

VCC
DIODA BRIDGE
LM7805
3
2
1
CONN-SIL2

VO

VI

R1
270

C3

GND

PS

C2

100nF

0.1uF/25V

C1

Perangkat-perangkat
peripheral
yang
dikomunikasikan
dengan
serpih
(chip)
mikrokontroler ATMega8535 diantaranya adalah
sensor DI-WLM35TS untuk mengukur suhu air
dalam akuarium, RTC (Real Time Clock) yang
berfungsi sebagai referensi waktu real bagi
mikrokontroler, relay untuk input interupsi
eksternal, motor servo sebagai penggerak wadah
pakan, LCD (Liquid Crystal Display) untuk
menampilkan hasil pemrosesan data, 4 buah
push button untuk mengkonfigurasi waktu dan
jadwal, beberapa LED indikator sebagai
simulasi dari respon sistem, rangkaian serial RS
232 serta modem GSM yang digunakan untuk
mengirimkan SMS pemberitahuan terhadap
aktivitas yang telah dilakukan oleh sistem.
Secara umum, diagram blok keseluruhan sistem
dapat dilihat pada Gambar 1.

3300uF/25V

LED1

Gambar 3. Rangkaian Regulator Tegangan


5V
2.3 Rangkaian RTC (Real Time Clock)
Gambar 1. Diagram Blok Sistem
Keseluruhan
2.1 Rangkaian Mikrokontroler ATMega8535
Gambar
2
menunjukkan
mikrokontroler ATMega8535.

rangkaian

SCK
MISO
MOSI

RS
RW
E
D4
D5
D6
D7

R9
220

R10
220

R11

SERVO

20pF

C5
20pF

14
15
16
17
18
19
20
21

RX
TX
INT0
INT1

220

C4

CRYSTAL
8MHz

VCC

13
12
9

PUSH_RST

VCC

VCC

U1
1
2
3
4
5
6
7
8

LCD

Rangkaian RTC dengan tipe DS1307


berhubungan
dengan
mikrokontroler
ATMega8535 menggunakan komunikasi I2C
(Inter-Integrated
Circuit)
seperti
yang
ditunjukkan pada Gambar 4.

PB0/T0/XCK
PB1/T1
PB2/AIN0/INT2
PB3/AIN1/OC0
PB4/SS
PB5/MOSI
PB6/MISO
PB7/SCK
PD0/RXD
PD1/TXD
PD2/INT0
PD3/INT1
PD4/OC1B
PD5/OC1A
PD6/ICP1
PD7/OC2

PA0/ADC0
PA1/ADC1
PA2/ADC2
PA3/ADC3
PA4/ADC4
PA5/ADC5
PA6/ADC6
PA7/ADC7
PC0/SCL
PC1/SDA
PC2
PC3
PC4
PC5
PC6/TOSC1
PC7/TOSC2

XTAL1
XTAL2
RESET

AREF
AVCC

40
39
38
37
36
35
34
33
22
23
24
25
26
27
28
29

TEMP

R7

R8

10k

10k

U3

R2
470

SCL
SDA
IND PLN

6
5

SCL
SDA

LED2
INDIKATOR

MENU
UP
DOWN
SUHU

C6
100nF

BAT1

SCL
SDA

X1

CRYSTAL
32.768KHz

SOUT
VBAT X2

DS1307

3V

32
30

Gambar 4. Rangkaian RTC (Real Time Clock)

ATMEGA8535
VCC

J5

R3
D3
RESET

MOSI

1k
PUSH_RST

1N4148

PB1

RESET
SCK
MISO

1
2
3
4
5

10
9
8
7
6

RX
TX

CONN-DIL10

C7
100nF

Gambar 2. Rangkaian Mikrokontroler AVR


ATMega8535 dan Hubungan I/O PORT
Rangkaian sistem minimum mikrokontoler
ATMega8535 terdiri dari rangkaian sistem
minimum dan rangkaian I/O. Rangkaian

2.4 Rangkaian Modul LCD


LCD digunakan untuk menampilkan
pengaturan jadwal pemberian pakan dan waktu
real. LCD yang digunakan adalah LCD 2x16
dengan lebar display 2 baris dan 16 kolom.
Hubungan antara mikrokontroler dan LCD
diperlihatkan pada Gambar 5.

LCD
1602ZFA

D6

RW

D5

D4

Gambar 5. Rangkaian Modul LCD


2.5 Rangkaian Pendeteksi Pergantian Catu
Daya
Rangkaian pendeteksi pergantian catu daya
dirancang untuk mengetahui catu daya mana
yang sedang digunakan oleh sistem. Rangkaian
ini dirancang dengan sebuah relay 12V DC dan
sebuah resistor pull down sebesar 1 K (R5).
Resistor pull down dipasang agar logika default
yang diterima oleh mikrokontroler adalah 0
(low). Rangkaian pendeteksi pergantian catu
daya dapat dilihat pada Gambar 6.
12 V

2.7 Rangkaian Sensor Suhu


Gambar 8 menunjukkan rangkaian sensor
suhu DI-WLM35TS. Rangkaian sensor suhu
terdiri dari sensor suhu DI-WLM35TS dan 2
buah kapasitor 100 nF (C12 dan C13).
VCC

LM35
1

RS

+Vs

D7

1K

C12

Vout

100nF

TEMP

GND

RV1

C13
100nF

D0
D1
D2
D3
D4
D5
D6
D7
7
8
9
10
11
12
13
14

RS
RW
E
4
5
6

1
2
3

VSS
VDD
VEE

VCC

mengatur waktu (jam dan menit). Push button


yang digunakan sebanyak 4 buah. Tiga buah
push button pertama digunakan untuk mengatur
jadwal pemberian pakan dan waktu real.
Sedangkan push button keempat sebagai
tambahan yang digunakan untuk mengetahui
besar suhu air dalam akuarium yang kemudian
akan ditampilkan pada LCD.

VCC

Gambar 8. Rangkaian Sensor Suhu

RELAY
DC12V

2.8 Rangkaian Motor Servo


INT0

R5
1k

Gambar 6. Rangkaian Pendeteksi Pergantian


Catu Daya
2.6 Rangkaian Push Button

Rangkaian motor servo hanya terdiri dari


motor servo seperti yang terlihat pada Gambar 9.
Hal ini disebabkan karena dalam penggunaannya
motor servo dikendalikan dengan metode PWM
(Pulse Width Modulation). Sehingga untuk
mengaktifkannya tidak diperlukan komponen
atau rangkaian tambahan.
VCC
Motor Servo

Hubungan
push
button
dengan
mikrokontroler secara berurutan dihubungkan ke
pena PORTC.4-7 tampak pada Gambar 7.
U6
1
2
3
4
5
6
7
8
14
15
16
17
18
19
20
21
13
12
9

PB0/T0/XCK
PB1/T1
PB2/AIN0/INT2
PB3/AIN1/OC0
PB4/SS
PB5/MOSI
PB6/MISO
PB7/SCK
PD0/RXD
PD1/TXD
PD2/INT0
PD3/INT1
PD4/OC1B
PD5/OC1A
PD6/ICP1
PD7/OC2
XTAL1
XTAL2
RESET

PA0/ADC0
PA1/ADC1
PA2/ADC2
PA3/ADC3
PA4/ADC4
PA5/ADC5
PA6/ADC6
PA7/ADC7
PC0/SCL
PC1/SDA
PC2
PC3
PC4
PC5
PC6/TOSC1
PC7/TOSC2
AREF
AVCC

2.9 Rangkaian Serial USART

MENU
UP
DOWN

32
30

+88.8

Gambar 9. Rangkaian Motor Servo

40
39
38
37
36
35
34
33
22
23
24
25
26
27
28
29

SERVO

SUHU

ATMEGA8535

Gambar 7. Rangkaian Push Button


Rangkaian push button digunakan untuk
mengatur jadwal pemberian pakan (feeding) dan

Komunikasi serial digunakan agar sistem


minimum mikrokontroler dapat berkomunikasi
dengan modem GSM untuk mengirim SMS.
Rangkaian ini terdiri dari IC MAX232 sebagai
pengubah level tegangan dan 4 buah kapasitor
dengan besar 1uF/16 V seperti yang terlihat pada
Gambar 10.

Y2
CONN-D9M

1
6
2
7
3
8
4
9
5

C8
1uF/16V

TX
RX

11
12
10
9

C1+

C1-

T1IN
R1OUT
T2IN
R2OUT

T1OUT
R1IN
T2OUT
R2IN

U4

VS+
VSC2+
4

VCC
14
13
7
8
2
6

C2-

C9

C10
1uF/16V

C11
1uF/16V

5 MAX232

1uF/16V

Gambar 10. Rangkaian Serial USART


3.

Perancangan Perangkat Lunak

Diagram alir program utama dapat dilihat


pada Gambar 11.

dilanjutkan dengan mengirimkan SMS ke nomor


pemilik akuarium bahwa pemberian pakan telah
dilakukan.
Kemudian program akan melakukan
pembacaan push button sebagai pengaturan
menu. Pengaturan menu terdiri dari pengaturan
waktu real dan jadwal pemberian pakan.
Jika pengaturan menu tidak dilakukan,
sistem akan masuk pada pembacaan suhu.
Ketika suhu lebih besar dari batas yang telah
ditentukan, maka sistem akan menghidupkan
LED indikator pendingin air yang dilanjutkan
dengan mengirimkan SMS pemberitahuan.
Ketika suhu berada di antara batas atas dan
bawah, maka sistem akan mematikan semua
LED indikator perubahan suhu. Ketika suhu
lebih kecil dari batas yang telah ditentukan,
maka sistem akan menghidupkan LED indikator
pemanas air serta mengirimkan SMS
pemberitahuan.
3.1 Proses Pengaturan Waktu dan Jadwal
Pakan (Menu)
Push button pertama dirancang untuk
masuk ke dalam mode menu. Dalam mode
menu, terdapat dua pilihan yaitu pengaturan
waktu dan jadwal. Pengaturan waktu dilakukan
dengan menekan push button kedua. Sedangkan
untuk pengaturan jadwal dilakukan dengan
menekan push button ketiga. Di dalam pilihan
pengaturan jadwal, terdapat 3 pilihan jadwal
pemberian pakan yaitu 1 kali, 2 kali, dan 3 kali
dengan waktu yang telah diatur dalam
pemrograman. Variabel data jadwal kemudian
disimpan dalam EEPROM internal.
3.2 Proses Pemberian Pakan

Gambar 11. Diagram Alir Program Utama


Program diawali dengan menampilkan
tanggal dan waktu pada LCD. Lalu program
akan melakukan penyamaan data jadwal
pemberian pakan dengan waktu sebenarnya
(real time). Jika waktu real yang ditampilkan
pada LCD sama dengan jadwal pemberian pakan
yang telah diatur sebelumnya, maka sistem akan
mengaktifkan motor servo sebagai penggerak
wadah pakan selama beberapa saat. Kemudian

Proses pemberian pakan dilakukan dengan


membaca nilai variabel data jadwal pada
EEPROM. Jika waktu real dari RTC yang
ditampilkan pada LCD sama dengan variabel
data jadwal di EEPROM, maka sistem akan
mengaktifkan motor servo untuk memutar
wadah pakan.
3.3 Proses Deteksi Suhu Air
Pengukuran nilai suhu dilakukan oleh
sensor DI-WLM35TS. Sensor ini akan
menghasilkan data berupa tegangan input
analog. Data analog ini akan diproses oleh
mikrokontroler dengan fasilitas ADC (Analogto-Digital Converter) menjadi data digital.

Setelah proses koversi nilai tegangan input


analog menjadi nilai digital dilakukan, maka
langkah selanjutnya adalah memasukkan nilai
digital tersebut ke dalam rumus perhitungan
suhu. Jika suhu sebenarnya di atas atau di bawah
nilai threshold, maka indikator LED akan hidup
diikuti dengan pengiriman SMS pemberitahuan.
3.4 Proses Deteksi Pergantian Catuan Daya
Diagram alir pendeteksian pergantian catu
daya dapat dilihat pada Gambar 12.

dilakukan dengan mengkonfigurasi PORTC.2


sebagai keluaran untuk mengaktifkan sebuah
LED dan PORTA.0 sebagai masukan analog dari
Vout sensor suhu.
Untuk pengujian rangkaian reset dilakukan
dengan cara menanamkan program yang dapat
menghidupkan 4 buah LED secara bergantian
masing-masing 1 detik. Lalu tombol reset
ditekan saat program sedang dijalankan.
4.2 Pengujian Komunikasi Serial RS232
Pengujian dilakukan dengan 2 cara yakni
pengujian pengiriman data dari sistem dengan
PC dan pengujian pengiriman SMS dari
software Teraterm pada PC yang dihubungkan
dengan modem GSM Wavecom M1306B
Q2406B.
4.3 Pengujian Rangkaian Sensor Suhu
Pengujian rangkaian sensor suhu bertujuan
untuk melihat perubahan nilai tegangan Vout
terhadap kenaikan dan penurunan suhu.
Keluaran (Vout) sensor suhu dihubungkan
dengan voltmeter digital dan menghitung nilai
tegangan awal sensor suhu. Lalu sensor suhu
didekatkan dengan solder yang diikuti dengan
pengamatan hasil perubahan suhu pada LCD.
4.4 Pengujian Rangkaian RTC

Gambar 12. Diagram Alir Pendeteksi


Pergantian Catu Daya
Ketika terjadi pergantian catu daya dari catu
daya utama ke baterai, maka logika yang
diterima oleh PIND.2 berubah menjadi 1 (high).
Lalu
sistem
akan
menjalankan
rutin
menghidupkan LED sebagai indikator aerator
cadangan telah aktif. Begitu juga ketika terjadi
perubahan dari baterai ke catu daya utama, maka
logika PIND.2 kembali berubah menjadi 0 (low).
Lalu sistem akan menjalankan rutin mematikan
LED sebagai indikator aerator cadangan telah
dimatikan.
4. Pengujian
4.1 Pengujian Rangkaian Mikrokontroler
AVR ATMega8535
Pengujian meliputi pengujian PORT dan
pengujian rangkaian reset. Pengujian port

Pengujian rangkaian RTC dilakukan dengan


menghubungkan pena SCL dan SDA pada RTC
masing-masing ke PORTC pena 0 dan 1. Untuk
menampilkan data yang diterima dari RTC,
maka LCD dihubungkan ke bandar B. Data RTC
akan tampil pada LCD berupa tanggal dan jam.
4.5 Pengujian
Rangkaian
Pergantian Catu Daya

Pendeteksi

Pengujian
diimplementasikan
dengan
memasang sebuah saklar ON/OFF pada catu
daya utama. Ketika saklar berpindah dari ON ke
OFF atau sebaliknya, maka sumber catu daya
berganti. Indikatornya ditandai dengan sebuah
LED yang hidup ketika catu daya berpindah ke
baterai dan LED akan mati ketika catu daya
utama kembali ON.
4.6 Pengujian Rangkaian Push Button
Pengujian rangkaian push button bertujuan
untuk melihat kemampuan rangkaian sebagai
sinyal input. Pengujian diimplementasikan

dengan menanamkan 4 buah program yang


berbeda. Setiap push button akan mengaktifkan
1 program yang berbeda dari yang lain.
4.7 Pengujian Rangkaian Motor Servo
Pengujian rangkaian motor servo bertujuan
untuk melihat kemampuan motor servo untuk
menggerakkan wadah pakan. Program yang
ditanamkan ke dalam mikrokontroler yakni
menggerakkan motor servo dari 90o ke 180o
sebanyak 5 kali.
4.8 Pengujian Secara Keseluruhan
Pengujian keseluruhan sistem dilakukan
setelah semua rangkaian dan perangkat lunak
diintegrasikan menjadi satu sistem. Pengujian ini
bertujuan
untuk
menunjukkan
bahwa
perancangan sesuai dengan target awal
pembuatannya.

3. Pendeteksian suhu air dapat dilakukan


dengan baik ketika mengalami kenaikan
maupun penurunan suhu.
4. Pendeteksian pergantian catu daya dari catu
daya utama ke baterai dan sebaliknya dapat
dilakukan dengan baik.
5. Karena data jadwal pemberian pakan
disimpan pada EEPROM internal, maka
data tersebut tidak akan terhapus walaupun
sistem di-reset.
6. Sistem dapat mengirimkan SMS dengan
baik tanpa ada kesalahan isi SMS.
7. Modem GSM Wavecom M1306B Q2406B
dapat menjadi salah satu alternatif pilihan
bagi sistem yang dirancang dengan fasilitas
SMS.
Daftar Pustaka
1.

4.9 Hasil Pengujian


Hasil pengujian menunjukkan bahwa sistem
dapat memberi pakan ikan sesuai dengan jadwal
yang telah dilakukan pada semua pilihan jadwal
serta berhasil mengirimkan SMS pemberitahuan.
Untuk pendeteksian suhu juga berhasil
dilakukan oleh sistem baik saat kenaikan
ataupun penurunan suhu. Ketika suhu di atas
batas normal, sistem akan menjalankan subrutin
menghidupkan LED di PORTD.7. Begitu juga
ketika suhu di bawah batas normal, sistem akan
menjalankan subrutin menghidupkan LED di
PORTC.3.
Pada pendeteksian pergantian catu daya
dari catu daya utama ke baterai dan sebaliknya
juga berhasil dilakukan. Ketika catu daya
berpindah ke baterai, maka LED indikator di
PORTC.2 hidup dan sebaliknya ketika catu daya
berpindah ke catu daya utama, maka LED
indikator di PORTC.2 mati.
5.

2.

3.
4.
5.

6.
7.
8.

Kesimpulan

Setelah melakukan perancangan dan


pengujian sistem, dapat disimpulkan beberapa
hal, antara lain:
1. Perangkat dapat memberi pakan ikan secara
otomatis dan memantau keadaan akuarium
sesuai dengan hasil yang diinginkan.
2. Perangkat dapat memberi pakan ikan sesuai
dengan pilihan jadwal yang telah diatur
sebelumnya.

9.

Andrianto, Heri. 2008.


Pemrograman
Mikrokontroler
AVR
ATMega16
Menggunakan Bahasa C (CodeVisionAVR).
Bandung: Informatika.
Bejo, Agus. 2008. C & AVR, Rahasia
Kemudahan
Bahasa
C
Dalam
Mikrokontroler ATMega8535. Yogyakarta:
Graha Ilmu.
Budiharto, Widodo. 2008. 10 Proyek Robot
Spektakuler.
Jakarta:
Elex
Media
Komputindo.
Floyd, Thomas L. 2002.
Electronic
Devices. New Jersey: Pearseon Education,
Inc.
Gunawan, Ferry, 2003. Membuat Aplikasi
SMS Gateway Server dan Client dengan
Java dan PHP. Jakarta: Elex Media
Komputindo.
Suyadhi, Taufiq D. 2008. Build Your Own
Line Follower Robot. Yogyakarta: Andi
Offset.
Tarigan, Pernantin. 2011. Sistem Tertanam.
Yogyakarta: Graha Ilmu.
Wardhana, Lingga. 2006. Belajar Sendiri
Mikrokontroler AVR Seri ATMega8535,
Simulasi,
Hardware,
dan
Aplikasi.
Yogyakarta: Andi Offset.
Widodo, Romy B. 2009. Embedded System
Menggunakan
Mikrokontroler
dan
Pemrograman C. Yogyakarta: Andi Offset.

Anda mungkin juga menyukai