• Tidak ada hasil yang ditemukan

Pengendalian PH Pada Sistem Pemupukan Tanaman Hidroponik Berbasis Mikrokontroler AVR ATMega 16.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengendalian PH Pada Sistem Pemupukan Tanaman Hidroponik Berbasis Mikrokontroler AVR ATMega 16."

Copied!
37
0
0

Teks penuh

(1)

PENGENDALIAN PH PADA SISTEM PEMUPUKAN TANAMAN

HIDROPONIK BERBASIS MIKROKONTROLER AVR ATMEGA16

Disusun Oleh :

Nama : Adi Christ Tamba Tua

Nrp

: 0422024

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha,

Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia.

Email : adichrist77@gmail.com

ABSTRAK

Semakin sempitnya lahan pertanian, sehingga manusia mulai mencari cara

yang lebih efisien dalam mengembangkan bidang pertanian dengan lahan yang

terbatas. Metode baru pada pertanian yang dikenal dengan budidaya sistem

hidroponik menjadi solusi bagi para petani untuk bercocok tanam pada lahan yang

sempit.

Pada tugas akhir ini telah direalisasikan sebuah perangkat dengan

menggunakan mikrokontroler ATMega16 sebagai pengendali utama yang dapat

melakukan pengendalian PH pada sistem pemupukan tanaman hidroponik dengan

frekuensi waktu yang tetap. Waktu acuan berdasarkan data waktu dari RTC(

Real

Time Clock

). Sensor PH digunakan untuk membaca nilai PH.

Solenoid Valve

digunakan untuk mengatur masukan larutan asam dan basa pada tangki

penampungan larutan nutrisi.

Dari hasil uji coba, perangkat pengendali dapat menjalankan tugasnya

dengan melakukan pemupukan secara teratur dan menjaga PH larutan nutrisi pada

batas yang diinginkan, yaitu 5,5-6,5.

(2)

PH CONTROL FOR HYDROPONIC PLANTS FERTILIZATION

SYSTEM BASED ON AVR ATMEGA16 MICROCONTROLLER

Composed By :

Name : Adi Christ Tamba Tua

Nrp

: 0422024

Electrical Engineering, Faculty of Engineering, Kristen Maranatha University,

Prof. drg. Suria Sumantri, MPH Street, No. 65th, Bandung, Indonesia.

Email : adichrist77@gmail.com

ABSTRACT

The limited of agricultural land, so that people start looking for more

efficient ways to develop agriculture with limited land. New methods in

agriculture known as hydroponic cultivation system be the solution for farmers to

grow crops on land that is narrow.

In this final project has been realized a device using ATMega16

microcontroller as the main controller to perform PH control in hydroponic

fertilization systems with frequency fixed time. PH sensor is use to read the PH

value. Solenoid Valve is use to regulate the input of acid solution and alkaline

solution in the nutrient solution holding tank.

From the test results, the controller can do its job by conducting regular

fertilizing and keeping the PH of the nutrient solution at the desired limit, is

5.5-6.5.

(3)
(4)

DAFTAR ISI

Halaman

ABSTRAK ...

i

ABSTRACT ...

ii

KATA PENGANTAR ...

iii

DAFTAR ISI ...

v

DAFTAR TABEL ...

vii

DAFTAR GAMBAR ...

viii

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah ...

1

1.2 Perumusan Masalah ...

2

1.3 Tujuan ...

2

1.4 Pembatasan Masalah ...

2

1.5 Spesifikasi Alat Yang Digunakan ...

2

1.6 Sistematika Penulisan ...

3

BAB II LANDASAN TEORI

2.1 Pengantar Hidroponik ...

4

2.1.1 Kelebihan dan kekurangan Hidroponik ...

4

2.1.2 Teknik Penanaman Hidroponik...

5

2.1.3 Faktor Lingkungan Pada Budaya Hidroponik ...

7

2.1.4 Kondisi Larutan Pupuk Hidroponik ...

8

2.1.5 Unsur Hara Pupuk Hidroponik ...

8

2.2 Mikrokontroler AVR ATMEGA16 ...

9

2.2.1 Uraian-uraian Pin ...

10

2.2.2 Pilihan-pilihan

Clock

(

Clock

) ...

14

2.2.3 Timer atau Counters ...

15

2.3 Bahasa C ...

18

(5)

2.4 PH Meter...

19

2.5

Solenoid Valve

...

21

2.6 Teori Dasar

PH

...

24

2.6.1 Dasar Pengukuran Derajat Keasaman ...

24

BAB III PERANCANGAN DAN REALISASI

3.1 Perancangan Perangkat Keras

(Hardware)

...

26

3.1.1 Dimensi

Plant

...

27

3.1.2 Rangkaian Mikrokontroler ATMEGA16 ...

28

3.1.3 Perancangan Relay Driver Pada Pompa ...

30

3.1.4 Skematik Mikrokontroler ...

31

3.2 Perancangan Software ...

32

3.2.1 Mikrokontroler ...

32

3.2.2 Setting Waktu ...

34

3.2.3 Setting Jadwal ...

39

3.3 Cara Kerja Pengendali dan Alat Keseluruhan ...

41

3.4 Realisasi

Plant

...

42

BAB IV DATA PENGAMATAN DAN ANALISIS

4.1 Pengamatan Kondisi Larutan Pada Plant Tanaman...

43

4.2

Pengamatan Terhadap Kondisi Air pada Hari Kedua

... 44

4.3 Pengamatan Terhadap Kondisi Tanaman ...

45

BAB V SIMPULAN DAN SARAN

5.1 Simpulan ...

47

5.2 Saran ...

47

DAFTAR PUSTAKA ...

48

LAMPIRAN A KODE PROGRAM

LAMPIRAN B TAMPILAN REALISASI PLANT

(6)

DAFTAR TABEL

Halaman

Tabel 3.1 Penggunaan

Port

Pada Mikrokontroler ATMEGA16 ...

28

Tabel 4.1 Tabel Perubahan PH Hari Pertama ...

43

Tabel 4.2 Tabel Perubahan PH Pada Hari Kedua... ...

44

(7)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Teknik Hidroponik

NFT

...

5

Gambar 2.2 Teknik

Hydroponic Raft System

...

6

Gambar 2.3 Teknik

Drip System

...

7

Gambar 2.4 Diagram Blok ATMEGA16 ...

12

Gambar 2.5 Konfigurasi Pin ATMEGA16 ...

13

Gambar 2.6

Clock Eksternal

...

14

Gambar 2.7 Diagram Blok

Timer/Counter0

...

17

Gambar 2.8 PH meter YK-2005WA dan Probe ...

20

Gambar 2.9 PH Probe PE-03 ...

20

Gambar 2.10 Kabel Serial RS-232 ...

21

Gambar 2.11

Solenoid Valve

...

22

Gambar 2.12 Struktur Fungsi

Solenoid Valve

...

23

Gambar 3.1 Diagram Blok Sistem ...

26

Gambar 3.2 Dimensi

Plant

. ...

27

Gambar 3.3 Rangkaian Pengendali Mikro ...

29

Gambar 3.4 Relay Driver Pada Pompa ...

30

Gambar 3.5 Skematik pada Mikrokontroler ...

31

Gambar 3.6 Flowchart Utama pada Mikrokontroler ...

33

Gambar 3.7

Fitur I2C Bus dan Koneksi pada RTC DS1307

...

34

Gambar 3.8

Flowchart Setting Waktu

...

38

Gambar 3.9

Flowchart Setting Jadwal

...

40

Gambar 3.10 Plant keseluruhan dilihat dari samping ...

42

(8)

LAMPIRAN A

(9)

/*****************************************************

This program was produced by the

CodeWizardAVR V1.25.3 Standard

Automatic Program Generator

© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com

Project :

Version :

Date : 3/22/2013

Author : Adi Christ

Company : maranatha

Comments:

Chip type : ATmega16

Program type : Application

Clock frequency : 11.059200 MHz

Memory model : Small

External SRAM size : 0

Data Stack size : 256

*****************************************************/

#include <mega16.h>

#include <delay.h>

#include <stdio.h>

// I2C Bus functions

#asm

.equ __i2c_port=0x18 ;PORTB

.equ __sda_bit=0

.equ __scl_bit=1

(10)

#include <i2c.h>

// DS1307 Real Time Clock functions

#include <ds1307.h>

unsigned char jm, mn, dt, tg, bl, th, bstr[16],test;

unsigned int jam,menit,detik;

unsigned char ph[16],lcd[32],;

unsigned int x,y,a,b,c,d,e,f,time[6],z,g,time_jdwl[2],jdwl,run,ph_new,update,new_jm,new_mn,new_dt;

// Alphanumeric LCD Module functions

#asm

.equ __lcd_port=0x15 ;PORTC

#endasm

#include <lcd.h>

#define RXB8 1

#define TXB8 0

#define UPE 2

#define OVR 3

#define FE 4

#define UDRE 5

#define RXC 7

#define FRAMING_ERROR (1<<FE)

#define PARITY_ERROR (1<<UPE)

#define DATA_OVERRUN (1<<OVR)

#define DATA_REGISTER_EMPTY (1<<UDRE)

#define RX_COMPLETE (1<<RXC)

// USART Receiver buffer

(11)

char rx_buffer[RX_BUFFER_SIZE];

#if RX_BUFFER_SIZE<256

unsigned char rx_wr_index,rx_rd_index,rx_counter;

#else

unsigned int rx_wr_index,rx_rd_index,rx_counter;

#endif

// This flag is set on USART Receiver buffer overflow

bit rx_buffer_overflow;

// USART Receiver interrupt service routine

interrupt [USART_RXC] void usart_rx_isr(void)

{

char status,data;

status=UCSRA;

data=UDR;

if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)

{

rx_buffer[rx_wr_index]=data;

if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;

if (++rx_counter == RX_BUFFER_SIZE)

{

rx_counter=0;

rx_buffer_overflow=1;

};

};

test=data;

(12)

{

x=0;

y=1;

}

if(y==1)

{

ph[x]=data;

x++;

if(x==15){ y=0;}

}

}

#ifndef _DEBUG_TERMINAL_IO_

// Get a character from the USART Receiver buffer

#define _ALTERNATE_GETCHAR_

#pragma used+

char getchar(void)

{

char data;

while (rx_counter==0);

data=rx_buffer[rx_rd_index];

if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;

#asm("cli")

--rx_counter;

#asm("sei")

return data;

}

#pragma used-

(13)

// Standard Input/Output functions

#include <stdio.h>

// Declare your global variables here

unsigned char key;

unsigned char keypad()

{

PORTA=0b11111110;

if(PINA.4==0) return ('*');

if(PINA.5==0) return ('2');

if(PINA.6==0) return ('3');

if(PINA.7==0) return ('A');

PORTA=0b11111101;

if(PINA.4==0) return ('1');

if(PINA.5==0) return ('5');

if(PINA.6==0) return ('6');

if(PINA.7==0) return ('B');

PORTA=0b11111011;

if(PINA.4==0) return ('4');

if(PINA.5==0) return ('8');

if(PINA.6==0) return ('9');

if(PINA.7==0) return ('C');

(14)

if(PINA.4==0) return ('7');

if(PINA.5==0) return ('0');

if(PINA.6==0) return ('#');

if(PINA.7==0) return ('D');

PORTA=0b11111111;

}

void main(void)

{

// Declare your local variables here

// Input/Output Ports initialization

// Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out

// State7=P State6=P State5=P State4=P State3=0 State2=0 State1=0 State0=0

PORTA=0xF0;

DDRA=0x0F;

// Port B initialization

// Func7=Out Func6=Out Func5=In Func4=In Func3=In Func2=Out Func1=In Func0=In

// State7=0 State6=0 State5=T State4=T State3=T State2=0 State1=T State0=T

PORTB=0x00;

DDRB=0xC4;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=1 State2=T State1=T State0=T

PORTC=0x08;

DDRC=0x08;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

(15)

PORTD=0x00;

DDRD=0x00;

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

// Mode: Normal top=FFh

// OC0 output: Disconnected

TCCR0=0x00;

TCNT0=0x00;

OCR0=0x00;

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer 1 Stopped

// Mode: Normal top=FFFFh

// OC1A output: Discon.

// OC1B output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer 1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=0x00;

TCCR1B=0x00;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

(16)

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer 2 Stopped

// Mode: Normal top=FFh

// OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;

// External Interrupt(s) initialization

// INT0: Off

// INT1: Off

// INT2: Off

MCUCR=0x00;

MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x00;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity

// USART Receiver: On

// USART Transmitter: Off

// USART Mode: Asynchronous

// USART Baud rate: 9600

UCSRA=0x00;

(17)

UCSRC=0x86;

UBRRH=0x00;

UBRRL=0x47;

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;

// I2C Bus initialization

i2c_init();

// LCD module initialization

lcd_init(16);

// DS1307 Real Time Clock initialization

// Square wave output on pin SQW/OUT: Off

// SQW/OUT pin state: 0

rtc_init(0,0,0);

// LCD module initialization

lcd_init(20);

/*****setup time and date*****/

// jm=15;mn=15;dt=00;

// rtc_set_time(jm,mn,dt);

// delay_ms(500);

// tg=05;bl=04;th=13;

(18)

// delay_ms(500);

/*****************************/

// Global enable interrupts

#asm("sei")

//printf("DATA %i %d %d %d",ph[0],ph[11],ph[12],ph[13]);

update=1;

while (1)

{

key=keypad();

if(ph[2]=='1')

{

a=ph[12];

b=ph[13];

c=ph[14];

}

if(ph[2]=='2')

{

d=ph[12];

e=ph[13];

f=ph[14];

}

//main progam

if(run==1)

{

lcd_clear();

(19)

sprintf(lcd,"PH=%c%c%c,SUHU=%c%c.%c",a,b,c,d,e,f);

lcd_puts(lcd);

rtc_get_time(&jm,&mn,&dt);

rtc_get_date(&tg,&bl,&th);

lcd_gotoxy(0,1);

sprintf(bstr,"Time %02d:%02d:%02d",jm,mn,dt);

lcd_puts(bstr);

delay_ms(200);

//---cek ph

ph_new= ((a-48)*100)+((b-48)*10)+(c-48);//proses mengubah data ph dari char ke int

if(ph_new<=550)

{

//alirkan larutan cuka selama 2 detik

lcd_clear();

lcd_gotoxy(0,0);

sprintf(lcd,"PH=%d",ph_new);

lcd_puts(lcd);

PORTB.6=1;

delay_ms(2000);

PORTB.6=0;

}

else if (ph_new>= 750)

{

//alirkan larutan KOH selama 2 detik

lcd_clear();

lcd_gotoxy(0,0);

sprintf(lcd,"PH=%d",ph_new);

lcd_puts(lcd);

(20)

delay_ms(2000);

PORTB.7=0;

}

//==================cek rtc

if(update == 1)

{

new_jm=jm;

new_mn=mn;

new_dt=dt;

update=0;

lcd_clear();

lcd_gotoxy(0,1);

sprintf(bstr,"set %02d:%02d:%02d",new_jm,new_mn,new_dt);

lcd_puts(bstr);

delay_ms(5000);

}

menit= new_mn+jdwl;

if( menit >= 60 ) menit= 60- (new_mn +jdwl);

if( mn == menit)

{

PORTB.2=1;

lcd_clear();

lcd_gotoxy(0,1);

sprintf(bstr,"POMPA ON");

lcd_puts(bstr);

delay_ms(10000);

PORTB.2=0;

update=1;

(21)

}

else

{

lcd_clear();

rtc_get_time(&jm,&mn,&dt);

rtc_get_date(&tg,&bl,&th);

lcd_gotoxy(0,0);

sprintf(bstr,"Time %02d:%02d:%02d",jm,mn,dt);

lcd_puts(bstr);

lcd_gotoxy(0,1);

sprintf(lcd," 3=run A=stop");

lcd_puts(lcd);

delay_ms(500);

lcd_gotoxy(0,1);

sprintf(lcd," 1=jam 2=jdwl ");

lcd_puts(lcd);

delay_ms(500);

}

if(key=='1')

//setting waktu

{

lcd_clear();

lcd_gotoxy(0,0);

sprintf(lcd,"format data");

(22)

lcd_gotoxy(0,1);

sprintf(lcd,"jm:mn:dt");

lcd_puts(lcd);

delay_ms(2000);

z=0;

//ambil data;

while (z<6)

{

key=keypad();

if(key=='0') {time[z]=0;z=z+1;};

if(key=='1') {time[z]=1;z=z+1;};

if(key=='2') {time[z]=2;z=z+1;};

if(key=='3') {time[z]=3;z=z+1;};

if(key=='4') {time[z]=4;z=z+1;};

if(key=='5') {time[z]=5;z=z+1;};

if(key=='6') {time[z]=6;z=z+1;};

// if(key=='7') {time[z]=7;z=z+1;};

// if(key=='8') {time[z]=8;z=z+1;};

// if(key=='9') {time[z]=9;z=z+1;};

jm=time[0]*10+time[1];

mn=time[2]*10+time[3];

dt=time[4]*10+time[5];

lcd_clear();

lcd_gotoxy(0,0);

sprintf(lcd,"%2d:%2d:%2d ",jm,mn,dt);

lcd_puts(lcd);

delay_ms(200);

}

rtc_set_time(jm,mn,dt);

(23)

lcd_gotoxy(0,0);

sprintf(lcd,"set time ok!");

lcd_puts(lcd);

delay_ms(500);

//tg=05;bl=04;th=13;

//rtc_set_date(tg,bl,th);

}

if(key=='2')

//setting jadwal

{

lcd_clear();

lcd_gotoxy(0,0);

sprintf(lcd,"jadwal= __menit");

lcd_puts(lcd);

delay_ms(2000);

g=0;

//ambil data;

while (g<2)

{

key=keypad();

if(key=='0') {time_jdwl[g]=0;g=g+1;};

if(key=='1') {time_jdwl[g]=1;g=g+1;};

if(key=='2') {time_jdwl[g]=2;g=g+1;};

if(key=='3') {time_jdwl[g]=3;g=g+1;};

if(key=='4') {time_jdwl[g]=4;g=g+1;};

if(key=='5') {time_jdwl[g]=5;g=g+1;};

if(key=='6') {time_jdwl[g]=6;g=g+1;};

// if(key=='7') {time[z]=7;z=z+1;};

(24)

// if(key=='9') {time[z]=9;z=z+1;};

jdwl=time_jdwl[0]*10+time_jdwl[1];

lcd_clear();

lcd_gotoxy(0,0);

sprintf(lcd,"jadwal= %1d%1dmenit",time_jdwl[0],time_jdwl[1]);

lcd_puts(lcd);

delay_ms(200);

}

time_jdwl[0]=0;

time_jdwl[1]=0;

lcd_clear();

lcd_gotoxy(0,0);

sprintf(lcd,"set jadwal ok!");

lcd_puts(lcd);

delay_ms(500);

}

if(key=='3')

//run

{

lcd_clear();

lcd_gotoxy(0,0);

lcd_putsf("RUN!!");

run=1;

}

if(key=='A')

//stop

{

lcd_clear();

lcd_gotoxy(0,0);

(25)

run=0;

}

// key=keypad();

// if(key=='1')

// {

//

// rtc_get_time(&jm,&mn,&dt);

// rtc_get_date(&tg,&bl,&th);

//

// lcd_gotoxy(0,0);

// sprintf(bstr,"Time %02d:%02d:%02d",jm,mn,dt);

//

// lcd_puts(bstr);

//

// sprintf(bstr,"Date %02d-%02d-%02d",tg,bl,th);

// lcd_gotoxy(0,1);

// lcd_puts(bstr);

// delay_ms(100);

// }

// if(key=='2')

// {

// lcd_gotoxy(0,0);

// sprintf(lcd,"PH=%c%c%c",a,b,c);

// lcd_puts(lcd);

//

// lcd_gotoxy(0,1);

// sprintf(lcd,"SUHU=%c%c.%c",d,e,f);

// lcd_puts(lcd);

// delay_ms(200);

(26)

// if(key=='3')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=3 ON");

// PORTB.2=1;

// }

// if(key=='4')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=4");

//

// }

// if(key=='5')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=5");

// }

// if(key=='6')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=6");

// }

// if(key=='7')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

(27)

// }

// if(key=='8')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=8");

// }

// if(key=='9')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=9");

// }

// if(key=='*')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=*");

// }

// if(key=='#')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=#");

// }

// if(key=='0')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=0");

(28)

// if(key=='A')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=A OFF");

// PORTB.2=0;

// }

// if(key=='B')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=B");

// }

// if(key=='C')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=C");

// }

// if(key=='D')

// {

// lcd_clear();

// lcd_gotoxy(0,0);

// lcd_putsf("keypad=D");

// }

// delay_ms(200);

};

(29)

LAMPIRAN B

(30)
(31)
(32)
(33)

Universitas Kristen Maranatha

BAB I

PENDAHULUAN

1.1

Latar Belakang

Dewasa ini perkembangan teknologi sangat maju dengan pesat.

Salah satu perkembangan teknologi yang sangat pesat adalah elektronika.

Salah satunya adalah dengan otomatisasi alat bantu manusia yang sudah

ada sekarang dapat bekerja lebih efisien dan efektif dalam meringankan

pekerjaan manusia.

Bukan hanya pada elektronika, bidang pertanian sekarang pun

sudah menjadi sangat berkembang. Hal ini dapat disebabkan karena

semakin sempitnya lahan pertanian, sehingga manusia mulai mencari cara

yang lebih efisien dalam mengembangkan bidang pertanian walaupun

lahannya semakin sempit. Perkembangan ini dapat dilihat dengan adanya

metode pertanian yang baru, salah satunya yang dikenal sebagai budi daya

sistem hidroponik.

Hidroponik berasal dari kata

hidro

yang berarti air dan

ponus

yang

berarti daya. Dengan demikian, hidroponik dapat berarti memberdayakan

air, yaitu kegunaan air sebagai dasar pembangunan tubuh tanaman dan

berperan dalam proses fisiologi tanaman. Berbeda dengan cara penanaman

biasa, bila pada penanaman biasa yang digunakan adalah media tanah,

pada tanaman hidroponik media yang digunakan bukanlah media tanah,

tetapi dapat berupa batu apung, air, arang sekam dan pasir. Keuntungan

yang diperoleh pun cukup berlimpah, diantaranya adalah tanaman menjadi

lebih bersih, tidak membutuhkan tempat yang luas, dan lain

lain.

Setiap tanaman memiliki karakteristik yang berbeda. Kebutuhan

masing-masing tanaman akan air dan pupuk (unsur hara) juga berbeda.

Pada tugas akhir ini akan dirancang suatu alat yang dapat melakukan

penyiraman dan pemberian pupuk secara otomatis sesuai dengan waktu

(34)

BAB I PENDAHULUAN

2

Universitas Kristen Maranatha

1.2

Perumusan Masalah

Perumusan masalah Tugas Akhir ini adalah bagaimana merancang

suatu sistem yang dapat melakukan pengendalian PH pada sistem

pemupukan tanaman hidroponik secara otomatis?

1.3

Tujuan

Tujuan Tugas Akhir ini adalah untuk merancang dan

merealisasikan alat yang dapat melakukan pengendalian PH pada sistem

pemupukan tanaman hidroponik secara otomatis, supaya nilai PH dapat

terjaga pada batas yang diinginkan.

1.4

Pembatasan Masalah

Untuk tidak memperluas pokok permasalahan, maka penulis

membatasi masalah sebagai berikut :

1.

Tanaman yang digunakan adalah tanaman yang dapat dibudidayakan

dengan metode hidroponik, yaitu tanaman selada.

2.

Penggunaan Mikrokontroler AVR ATMega16 sebagai pengontrol

otomatis.

3.

Pupuk yang digunakan adalah jenis pupuk khusus untuk tanaman

Hidroponik yaitu pupuk

AB Mix.

4.

Pemupukan dilakukan berdasarkan jadwal yang sudah ditentukan pada alat

pengendali.

5.

Nilai PH yang diinginkan yaitu 5,5 sampai dengan 6,5.

1.5

Spesifikasi Alat Yang Digunakan

Alat yang digunakan memiliki spesifikasi sebagai berikut :

1.

Menggunakan mikrokontroler AVR ATMega16.

2.

Menggunakan tampilan

Liquid Cristal Display

(LCD)

3.

Menggunakan1 buah pompa air.

4.

Menggunakan Relay untuk mendrive pompa

5.

Solenoide Valve

2 buah.

6.

Menggunakan RTC DS1307.

(35)

BAB I PENDAHULUAN

3

Universitas Kristen Maranatha

1.6

Sistematika Penulisan

BAB I

: PENDAHULUAN

Bab ini membahas mengenai latar belakang permasalahan,

perumusan masalah, tujuan penulisan, metode penyelesaian

masalah serta sistematika penulisan pada Tugas Akhir ini.

BAB II : LANDASAN TEORI

Bab ini membahas mengenai teori-teori penunjang yang

diperlukan dalam merealisasikan tugas akhir yaitu berupa

teori tentang cara menanam hidroponik, pengontrol mikro,

PH meter.

BAB III : PERANCANGAN DAN REALISASI

Pada bab ini diuraikan tentang perancangan sistem

otomatisasi pemupukan pada tanaman hidroponik. Diagram

blok, cara kerja alat, perangkat keras (ATMega16 dan sensor

pH) serta perangkat lunak yang dilengkapi dengan diagram

alir.

BAB IV : DATA PENGAMATAN DAN ANALISA

Bab ini menguraikan hasil dan analisa dari realisasi alat yang

telah dibuat.

BAB V : SIMPULAN DAN SARAN

(36)

47 Universitas Kristen Maranatha

BAB V

SIMPULAN DAN SARAN

V.1 Simpulan

Berdasarkan hasil pengujian pada tugas akhir ini maka dapat disimpulkan :

1.

Pengendalian PH pada sistem pemupukan tanaman dengan menggunakan

mikrokontroler ATMega16 dapat direalisasikan.

2.

Dengan menggunakan otomatisasi pengendalian PH, tingkat keasaman

atau kebasaan larutan nutrisi dapat terjaga dengan baik.

V.2

Saran

Berikut adalah saran-saran penulis untuk siapa saja yang ingin merevisi

dan mengembangkan sistem ini.

1.

Untuk pengembangan berikutnya disarankan untuk menambahkan

parameter lain seperti suhu, intensitas cahaya, kelembaban dapat

diperhatikan juga.

2.

Perlunya penambahan sensor untuk melihat kandungan nutrisi atau unsur

hara pada tanaman.

(37)

48

DAFTAR PUSTAKA

1.

Andrianto, Heri. 2008. Pemrograman Mikrokontroler AVR Atmega 16.

Bandung : INFORMATIKA Bandung.

2.

Hadian Satria Utama, Sani M.Isa, Arie Indra Gunawan, Perancangan dan

Implementasi Sistem Otomatisasi Pemeliharaan Tanaman Hidroponik,

Jurnal Teknik Elektro TESLA Vol.8 No. 1, 1-4, Maret 2006.

3.

Lutron manual book YK-2005WA.

4.

Nicholls, Richard C.

Beginning Hydroponics Soilles Gardening, Edisi

Revisi,

Semarang : Effhar Offset, 2003.

5.

http://www.avrfreaks.net/modules/FreaksFiles/files/4553/Farm_Automatio

n_report.pdf

,

Akses: 20 Oktober 2012

6.

http://en.wikipedia.org/wiki/Ph_meter.

Akses : 1 April 2013

7.

http://www.youtube.com/results?search_type=&search_query=hydroponic&aq

=f. Mei 2008.

Referensi

Dokumen terkait

Kegiatan yang dicakup dalam Jasa Hiburan dan Rekreasi meliputi seluruh kegiatan perusahaan/lembaga swasta yang bergerak dalam jasa hiburan, rekreasi dan

Hipotesis kedua (H2) yang diuji dalam penelitian ini adalah “terdapat hubungan positif antara intensitas komunikasi dengan tenaga ahli bidang kesehatan dan minat

Metode statistik yang tepat untuk melihat pengaruh kepuasan serta loyalitas pengguna Kran Air Siap Minum (KASM) di Kota Surabaya berdasarkan pengaruh servqual (service quality)

Penelitian ini dilakukan dengan pemeriksaan kadar SGOT, SGPT dan GAMMA GT antara kedua kelompok pasien talasemia mayor dengan kelasi besi deferiprone dan

Hal ini disebabkan kebanyakan anak kesulitan memahami materi pembelajaran karena kurangnya penjelasan guru, minimnya pengetahuan orang tua dalam mendampingi anak,

Membuat Iklan Animasi 2D yang diharapkan bisa memberikan pengaruh positif kepada masyarakat agar dapat mengenal produk lokal yang berkwalitas dan Penjualan Gula

Hal tersebut juga didukung oleh penelitian yang dilakukan oleh Mapet, dkk (2013) yang di dalam penelitiannya terdapat pengaruh yang signifikan antara kelompok siswa yang

Sesuai namanya, evaluasi formatif antara lain bertujuan untuk mengevaluasi bahan ajar (tujuan penelitian kedua) yang digunakan dengan melibatkan tiga kelompok ahli, yaitu