T1__BAB III Institutional Repository | Satya Wacana Christian University: Perancangan Sistem Kontrol EC pada Sistem Hidroponik untuk 10 Tanaman Konsumsi T1 BAB III
BAB III
PERANCANGAN
Pada bab ini penulis menjelaskan mengenai perancangan dan realisasi sistem
kontrol EC pada sistem hidroponik untuk 10 tanaman konsumsi.
3.1.
Gambaran Alat
Sistem yang dirancang oleh penulis adalah perancangan dan realisasi sistem
kontrol EC pada sistem hidroponik untuk 10 tanaman konsumsi. Sistem ini dapat
menambah nilai EC secara otomatis dan dapat mengurangi nilai EC jika terlalu pekat
kadar ECnya. Sistem ini juga memantau suhu dari nutrisi tersebut jika melebihi 27°C
maka buzzer akan memberi peringatan, dan dapat memantau suhu dan kelembaban
lingkungan jika melebihi nilai referensi maka akan memberikan peringatan pada LCD,
sistem ini dapat memberi peringatan saat air di bak tandon kosong atau terisi penuh.
Gambar 3.1. Blok diagram sistem.
15
3.2.
Perancangan Perangkat Keras
Perangkat keras yang dirancang adalah sistem kontrol EC pada 10 tanaman
konsumsi. Ada beberapa komponen elektronik yang digunakan yaitu :
1. Mikrokontroler jenis Arduino Mega 2560
2. Modul sensor suhu DS18B20
3. Modul sensor EC
4. Modul Sensor DHT22
5. Modul sensor SR04
6. Modul Real Time Clock
7. LCD 20×4
8. Keypad 4×4
9. Motor DC
10. Pompa air gallon
11. Buzzer
12. Relay 5V
Gambar 3.2. Sketsa Sistem Kontrol EC
16
8
4
5
10
7
2
1
1
3
9
6
Gambar 3.3. Realisasi Perangkat Keras Sistem Kontrol EC
Keterangan gambar :
1. Motor DC
2. Bak tandon nutrisi
3. Buzzer
4. Sensor DHT22
5. LCD
6. Sensor EC
7. Sensor DS18B20
8. Pompa air galon
9. Keypad 4×4
10. Sensor ultrasonik
17
3.3.
Perancangan Elektronika
Pada bagian ini menjelaskan tentang perancangan elektronika yang dipakai dalam
sistem yang dibuat.
Perancangan elektronika yang dibuat dalam sistem antara lain :
3.3.1. Arduino Mega 2560
Arduino Atmega 2560 digunakan sebagai pengendali utama dengan menggunakan
IC mikrokontroler ATmega 2560 memiliki tugas antara lain :
1. Mengolah data yang didapat dari modul sensor suhu DS18B20 untuk
mengetahui suhu larutan nutrisi.
2. Mengolah data yang didapat dari modul sensor EC untuk mengukur tingkat
kepekatan suau larutan nutrisi.
3. Mengolah data yang didapat dari modul sensor DHT22 untuk mengetahui
suhu dan kelembaban lingkungan sekitar.
4. Mengolah data yang didapat dari modul sensor ultrasonik SR04 untuk
mengukur ketinggian air.
5. Mengolah data yang didapat dari modul real time clock untuk pewaktuan.
6. Menampilkan data ke LCD.
7. Memberikan sarana user menginput data ke arduino untuk memilih menu
tanaman.
8. Memberikan inputan high atau low kepada relay sehingga motor DC dapat
menggerakan motor untuk menambah konsentrasi larutan ketika nilai dari
larutan EC kurang dari nilai referensi.
9. Menyalakan relay sehingga pompa air gallon dapat bekerja menurunkan
konsentrasi larutan ketika nilai EC lebih dari nilai referensi.
10. Memberikan inputan high atau low untuk buzzer ketika suhu larutan mencapai
28°C maka buzzer akan nyala atau high untuk memberi peringatan.
18
Tabel 3.1.Konfigurasi pin mikrokontroler Arduino Mega 2560 yang digunakan
No
Pin
Terhubung ke -
1
A0
Sensor EC
2
2
DS18B20
3
3
DHT22
4
4-9
LCD
5
24-38
Keypad
6
11
Buzzer
7
13
Relay
8
Scl
RTC
9
Sda
RTC
10
10
Motor Driver
11
50 dan 52
Sensor Ultrasonik
Gambar 3.4. Skema Rancangan Pengendali Utama.
19
3.3.2. Modul Sensor Suhu DS18B20
Sensor DS18B20 digunakan untuk memantau suhu pada larutan nutrisi pada bak
tandon. Pada tugas akhir ini digunakan sensor suhu DS18B20 karena sensor suhu
DS18B20 dapat memantau suhu dari -55ºC hingga 125ºC, dan pengunaannya sangat
mudah karena sensor DS18B20 adalah sensor ADC jadi hanya membutuhkan input dari
arduino Mega 2560.
Berikut skema konfigurasi pin modul sensor suhu DS18B20 dengan Arduino
Mega 2560 :
VCC
GND
Gambar 3.5. Wiring modul sensor DS18B20
20
3.3.3. Modul Sensor EC
Sensor EC digunakan untuk mengukur tingkat kepekatan suatu larutan. Pada
tugas akhir ini digunakan modul sensor EC karena sensor ini dapat mengukur tingkat
kepekatan mulai dari 1mS/cm hingga 20mS/cm.
Tabel 3.2 Tabel kalibrasi sensor EC
Coefficient
Voltage
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
250
260
270
280
290
300
310
ppm
ppm
137
169
207
254
302
358
409
463
522
597
658
729
814
895
986
1080
1220
1340
1490
1620
1720
1880
2030
2200
2390
2610
2840
EC(ppm/500)
0.274
0.338
0.414
0.508
0.604
0.716
0.818
0.926
1.044
1.194
1.316
1.458
1.628
1.79
1.972
2.16
2.44
2.68
2.98
3.24
3.44
3.76
4.06
4.4
4.78
5.22
5.68
3000
2500
2000
1500
1000
Coefficient
Voltage
500
(mV/C)
0
0
100
200
300
400
Gambar 3.6. Grafik coefficient voltage
terhadap ppm
21
Berikut skema konfigurasi pin modul sensor EC dengan Arduino Mega 2560 :
Gambar 3.7. Wiring modul sensor EC
3.3.4. Modul sensor DHT22
Sensor DHT22 digunakan untuk memantau suhu dan kelembaban lingkungan,
sensor ini digunakan karena dapat membaca suhu dari -40ºC hingga mencapai 125°C dan
dapat membaca kelembaban dari 0 hingga 100%.
Berikut skema konfigurasi pin modul sensor DHT22 dengan Arduino Mega 2560
:
Gambar 3.8. Wiring modul sensor DHT22
3.3.5. Modul sensor SR04
Modul sensor SR04 digunakan untuk proteksi agar air tidak melebihi bak tandon
Sensor SR04 digunakan karena sensor dapat mendeteksi air pada bak tandon.
Berikut skema konfigurasi pin modul sensor SR04 dengan Arduino Mega 2560 :
22
Gambar 3.9. Wiring modul sensor SR04
3.3.6. Modul Real Time Clock
Real time clock digunakan untuk pewaktuan. Tiap 1 jam maka alat akan
melakukan pengecekan sensor DHT22 dan sensor larutan DS18B20 dan tiap 24 jam
maka alat akan melakukan pengecekan larutan EC.
Berikut skema konfigurasi pin modul Real Time Clock dengan Arduino Mega
2560 :
Gambar 3.10. Wiring modul Real Time Clock
3.3.7. LCD 20×4
LCD 20×4 digunakan untk menampilkan data output dari arduino. Pada tugas
akhir ini LCD 20×4 digunakan karena dapat menampilkan hingga 20 karakter × 4 baris.
Berikut skema konfigurasi pin LCD 20×4 dengan Arduino Mega 2560 :
23
Gambar 3.11. Wiring LCD 20×4
3.3.8. Keypad 4×4
Keypad digunakan untuk member inputan pada menu yang ditampilkan oleh
LCD. Pengunaan keypad disini memudahkan manusia dalam berhubungan dengan arduino atau
sebutan lainnya adalah HMI(Human Machine Interface)
Berikut skema konfigurasi pin keypad 4x4 dengan Arduino Mega 2560 :
Gambar 3.12. Wiring Keypad
3.3.9. Motor DC
Motor DC digunakan untuk memberikan nutrisi kebak tandon utama. Motor yang
digunakan adalah pompa wiper. Pompa wiper akan nyala pada tegangan 12V dan
terdapat 2 flat pin untuk menyambungkan ke + dan – nya.
24
Berikut skema konfigurasi pin driver dan motor DC dengan Arduino Mega 2560 :
Gambar 3.13. Wiring Relay dan motor DC
3.3.10 Pompa air galon
Pompa air galon digunakan untuk menambah air kebak tandon ketika tingkat
kepekatan larutan nutrisi melebihi nilai referensi data base 10 tanaman konsumsi. Pompa
air lebih mudah digunakan karena memiliki baterai sendiri untuk menjalankannya dan
sangat mudah didapatkan.
Relay 5v digunakan sebagai saklar untuk menghidupkan pompa air saat tingkat
kepekatan nutrisi melebihi nilai referensi data base 10 tanaman konsumsi. Pada tugas
akhir ini relay 5v digunakan karena pemasangannya mudah dan mudah didapatkan di
toko elektronik terdekat.
Berikut skema konfigurasi pin pompa air gallon dengan Arduino Mega 2560 :
Gambar 3.14. Wiring Pompa air galon
25
3.3.11. Buzzer
Buzzer digunakan untuk memberikan peringatan ketika suhu larutan nutrisi pada
bak tandon sudah melebihi 27ºC. Pada tugas akhir ini digunakan buzzer karena buzzer
dapat bekerja pada tegangan 4-8v dan memiliki kekuatan suara maksimal hingga 85dB.
Berikut skema konfigurasi pin buzzer dengan Arduino Mega 2560 :
Gambar 3.15. Wiring buzzer
3.4.
Perancangan Perangkat lunak
Pada bagian ini akan dijelaskan mengenai perancangan perangkat lunak yang
digunakan pada rancangan tugas akhir ini yakni dibagi menjadi 2 bagian yakni program
utama dan program interupsi. Program utama berisi tentang awal dari alat ini menyala
kemudian program akan memilih tanaman kemudian terjadi prosedur pengukuran jika EC
sudah masuk range maka program ini akan selesai. Seperti ditunjukkan pada Gambar
3.16. Program interupsi berisi tentang proteksi suhu larutan suhu dan kelembaban
lingkungan, serta cek EC. Jika suhu larutan sudah melebihi 27°C maka buzzer akan
menyala, jika sensor suhu dan kelembaban sudah melebihi nilai referensi maka akan ada
peringatan pada LCD, jika EC melebihi batas nilai referensi maka pompa air galon akan
26
menyala, dan jika nilai EC kurang dari batas referensi maka motor DC akan menyala
ditunjukkan pada Gambar 3.17.
PROSEDUR
PENGUKURAN
START
PROSES PENCAMPURAN
INISIALISASI PORT I/O
INISIALISASI SQW DISET
1HZ
PENGUKURAN ULANG
TUNGGU PEMILIHAN
JENIS TANAMAN
TIDAK
TIDAK
APAKAH EC SUDAH
MASUK RANGE ?
APAKAH SUDAH
MEMILIH ?
YA
YA
TIDAK
END
APAKAH ADA
PENEKANAN TOMBOL
OK ?
YA
Gambar 3.16. Program utama
Berikut cara kerja program utama perangkat lunak :
a. Langkah pertama alat ini akan menyala/ON.
b. Langkah kedua alat ini akan menginisialisasi port I/O dan inisialisasi SQW
diset 1Hz.
c. Langkah ketiga alat ini akan menunggu pemilihan jenis tanaman yang dipakai
oleh user.
27
d. Langkah keempat apakah user sudah memilih jenis tanaman, jika ya maka akan
dimulai langkah kelima, jika tidak maka alat ini akan menunggu pemilihan
jenis tanaman.
e. Langkah kelima apakah ada penekanan tombol ok, jika ya maka akan menuju
langkah keenam, jika tidak maka akan kembali kelangkah kelima.
f. Langkah keenam alat ini akan melakukan pengukuran pada bak larutan nutrisi..
g. Langkah ketujuh alat ini akan melakukan prosedur pencampuran nutrisi.
h. Langkah kedelapan alat ini akan melakukan pengukuran ulang.
i. Langkah kesembilan apakah EC sudah masuk range, jika ya maka selesai, jika
tidak maka akan kembali kelangkah ketujuh yaitu prosedur pengukuran.
28
INTERUPSI EKSTERNAL DARI
PIN SQW RTC (1HZ)
NILAI VARIABEL
COUNTER CEK SUHU
LINGKUNGAN ++
NILAI VARIABEL
COUNTER CEK EC ++
YA
APAKAH VARIABEL NILAI
COUNTER SUHU LINGKUNGAN
=3600?
YA
BANDINGKAN DENGAN
SUHU MAKSIMAL
TANAMAN YANG
DIPILIH
CEK SUHU LINGKUNGAN
TIDAK
SUHU LINGKUNGAN
> SUHU MAKSIMAL?
TIDAK
TIDAK
NILAI COUNTER SUHU
LINGKUNGAN = 0
APAKAH NILAI VARIABEL CEK EC
=3600X24
YA
CEK SUHU LARUTAN
CEK EC
TIDAK
BANDINGKAN DENGAN
DATA BASE
IF SUHU LARUTAN
>27° C
YA
PROSEDUR
PENCAMPURAN
IF EC < REF
YA
BUZZER ON
10 DETIK
TIDAK
YA
IF EC > REF
POMPA AIR ON
TIDAK
CEK EC
TIDAK
EC = REF?
YA
POMPA AIR OFF
RETI
Gambar 3.17. Program interupsi eksternal SQW
29
TAMPILKAN WARNING
PADA LCD
Berikut penjelasan tentang program interupsi Eksternal SQW :
Program ini akan mengecek jika nilai counter suhu lingkungan =3600 maka
program ini akan mengecek suhu lingkungan dan dibandingkan dengan suhu maksimal
tanaman yang akan dipilih, jika suhu lingkungan lebih dari suhu maksimal data base
maka akan menampilkan warning pada LCD, jika tidak maka nilai counter suhu
lingkungan = 0 dan akan mengecek nilai suhu larutan, jika suhu larutan lebih dari 27°C
maka buzzer ON 10 detik, jika tidak, apakah nilai variabel EC = 3600×24? Jika ya maka
cek EC kemudian bandingkan dengan data base jika EC kurang dari nilai referensi maka
melakukan prosedur pencampuran, jika tidak apakah EC lebih dari nilai referensi? Jika ya
maka pompa air akan menyala kemudian cek EC, jika EC = nilai referensi maka pompa
air mati jika tidak pompa air menyala, dan apabila nilai EC tidak lebih dari referensi
maka return interrupt.
30
PERANCANGAN
Pada bab ini penulis menjelaskan mengenai perancangan dan realisasi sistem
kontrol EC pada sistem hidroponik untuk 10 tanaman konsumsi.
3.1.
Gambaran Alat
Sistem yang dirancang oleh penulis adalah perancangan dan realisasi sistem
kontrol EC pada sistem hidroponik untuk 10 tanaman konsumsi. Sistem ini dapat
menambah nilai EC secara otomatis dan dapat mengurangi nilai EC jika terlalu pekat
kadar ECnya. Sistem ini juga memantau suhu dari nutrisi tersebut jika melebihi 27°C
maka buzzer akan memberi peringatan, dan dapat memantau suhu dan kelembaban
lingkungan jika melebihi nilai referensi maka akan memberikan peringatan pada LCD,
sistem ini dapat memberi peringatan saat air di bak tandon kosong atau terisi penuh.
Gambar 3.1. Blok diagram sistem.
15
3.2.
Perancangan Perangkat Keras
Perangkat keras yang dirancang adalah sistem kontrol EC pada 10 tanaman
konsumsi. Ada beberapa komponen elektronik yang digunakan yaitu :
1. Mikrokontroler jenis Arduino Mega 2560
2. Modul sensor suhu DS18B20
3. Modul sensor EC
4. Modul Sensor DHT22
5. Modul sensor SR04
6. Modul Real Time Clock
7. LCD 20×4
8. Keypad 4×4
9. Motor DC
10. Pompa air gallon
11. Buzzer
12. Relay 5V
Gambar 3.2. Sketsa Sistem Kontrol EC
16
8
4
5
10
7
2
1
1
3
9
6
Gambar 3.3. Realisasi Perangkat Keras Sistem Kontrol EC
Keterangan gambar :
1. Motor DC
2. Bak tandon nutrisi
3. Buzzer
4. Sensor DHT22
5. LCD
6. Sensor EC
7. Sensor DS18B20
8. Pompa air galon
9. Keypad 4×4
10. Sensor ultrasonik
17
3.3.
Perancangan Elektronika
Pada bagian ini menjelaskan tentang perancangan elektronika yang dipakai dalam
sistem yang dibuat.
Perancangan elektronika yang dibuat dalam sistem antara lain :
3.3.1. Arduino Mega 2560
Arduino Atmega 2560 digunakan sebagai pengendali utama dengan menggunakan
IC mikrokontroler ATmega 2560 memiliki tugas antara lain :
1. Mengolah data yang didapat dari modul sensor suhu DS18B20 untuk
mengetahui suhu larutan nutrisi.
2. Mengolah data yang didapat dari modul sensor EC untuk mengukur tingkat
kepekatan suau larutan nutrisi.
3. Mengolah data yang didapat dari modul sensor DHT22 untuk mengetahui
suhu dan kelembaban lingkungan sekitar.
4. Mengolah data yang didapat dari modul sensor ultrasonik SR04 untuk
mengukur ketinggian air.
5. Mengolah data yang didapat dari modul real time clock untuk pewaktuan.
6. Menampilkan data ke LCD.
7. Memberikan sarana user menginput data ke arduino untuk memilih menu
tanaman.
8. Memberikan inputan high atau low kepada relay sehingga motor DC dapat
menggerakan motor untuk menambah konsentrasi larutan ketika nilai dari
larutan EC kurang dari nilai referensi.
9. Menyalakan relay sehingga pompa air gallon dapat bekerja menurunkan
konsentrasi larutan ketika nilai EC lebih dari nilai referensi.
10. Memberikan inputan high atau low untuk buzzer ketika suhu larutan mencapai
28°C maka buzzer akan nyala atau high untuk memberi peringatan.
18
Tabel 3.1.Konfigurasi pin mikrokontroler Arduino Mega 2560 yang digunakan
No
Pin
Terhubung ke -
1
A0
Sensor EC
2
2
DS18B20
3
3
DHT22
4
4-9
LCD
5
24-38
Keypad
6
11
Buzzer
7
13
Relay
8
Scl
RTC
9
Sda
RTC
10
10
Motor Driver
11
50 dan 52
Sensor Ultrasonik
Gambar 3.4. Skema Rancangan Pengendali Utama.
19
3.3.2. Modul Sensor Suhu DS18B20
Sensor DS18B20 digunakan untuk memantau suhu pada larutan nutrisi pada bak
tandon. Pada tugas akhir ini digunakan sensor suhu DS18B20 karena sensor suhu
DS18B20 dapat memantau suhu dari -55ºC hingga 125ºC, dan pengunaannya sangat
mudah karena sensor DS18B20 adalah sensor ADC jadi hanya membutuhkan input dari
arduino Mega 2560.
Berikut skema konfigurasi pin modul sensor suhu DS18B20 dengan Arduino
Mega 2560 :
VCC
GND
Gambar 3.5. Wiring modul sensor DS18B20
20
3.3.3. Modul Sensor EC
Sensor EC digunakan untuk mengukur tingkat kepekatan suatu larutan. Pada
tugas akhir ini digunakan modul sensor EC karena sensor ini dapat mengukur tingkat
kepekatan mulai dari 1mS/cm hingga 20mS/cm.
Tabel 3.2 Tabel kalibrasi sensor EC
Coefficient
Voltage
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
250
260
270
280
290
300
310
ppm
ppm
137
169
207
254
302
358
409
463
522
597
658
729
814
895
986
1080
1220
1340
1490
1620
1720
1880
2030
2200
2390
2610
2840
EC(ppm/500)
0.274
0.338
0.414
0.508
0.604
0.716
0.818
0.926
1.044
1.194
1.316
1.458
1.628
1.79
1.972
2.16
2.44
2.68
2.98
3.24
3.44
3.76
4.06
4.4
4.78
5.22
5.68
3000
2500
2000
1500
1000
Coefficient
Voltage
500
(mV/C)
0
0
100
200
300
400
Gambar 3.6. Grafik coefficient voltage
terhadap ppm
21
Berikut skema konfigurasi pin modul sensor EC dengan Arduino Mega 2560 :
Gambar 3.7. Wiring modul sensor EC
3.3.4. Modul sensor DHT22
Sensor DHT22 digunakan untuk memantau suhu dan kelembaban lingkungan,
sensor ini digunakan karena dapat membaca suhu dari -40ºC hingga mencapai 125°C dan
dapat membaca kelembaban dari 0 hingga 100%.
Berikut skema konfigurasi pin modul sensor DHT22 dengan Arduino Mega 2560
:
Gambar 3.8. Wiring modul sensor DHT22
3.3.5. Modul sensor SR04
Modul sensor SR04 digunakan untuk proteksi agar air tidak melebihi bak tandon
Sensor SR04 digunakan karena sensor dapat mendeteksi air pada bak tandon.
Berikut skema konfigurasi pin modul sensor SR04 dengan Arduino Mega 2560 :
22
Gambar 3.9. Wiring modul sensor SR04
3.3.6. Modul Real Time Clock
Real time clock digunakan untuk pewaktuan. Tiap 1 jam maka alat akan
melakukan pengecekan sensor DHT22 dan sensor larutan DS18B20 dan tiap 24 jam
maka alat akan melakukan pengecekan larutan EC.
Berikut skema konfigurasi pin modul Real Time Clock dengan Arduino Mega
2560 :
Gambar 3.10. Wiring modul Real Time Clock
3.3.7. LCD 20×4
LCD 20×4 digunakan untk menampilkan data output dari arduino. Pada tugas
akhir ini LCD 20×4 digunakan karena dapat menampilkan hingga 20 karakter × 4 baris.
Berikut skema konfigurasi pin LCD 20×4 dengan Arduino Mega 2560 :
23
Gambar 3.11. Wiring LCD 20×4
3.3.8. Keypad 4×4
Keypad digunakan untuk member inputan pada menu yang ditampilkan oleh
LCD. Pengunaan keypad disini memudahkan manusia dalam berhubungan dengan arduino atau
sebutan lainnya adalah HMI(Human Machine Interface)
Berikut skema konfigurasi pin keypad 4x4 dengan Arduino Mega 2560 :
Gambar 3.12. Wiring Keypad
3.3.9. Motor DC
Motor DC digunakan untuk memberikan nutrisi kebak tandon utama. Motor yang
digunakan adalah pompa wiper. Pompa wiper akan nyala pada tegangan 12V dan
terdapat 2 flat pin untuk menyambungkan ke + dan – nya.
24
Berikut skema konfigurasi pin driver dan motor DC dengan Arduino Mega 2560 :
Gambar 3.13. Wiring Relay dan motor DC
3.3.10 Pompa air galon
Pompa air galon digunakan untuk menambah air kebak tandon ketika tingkat
kepekatan larutan nutrisi melebihi nilai referensi data base 10 tanaman konsumsi. Pompa
air lebih mudah digunakan karena memiliki baterai sendiri untuk menjalankannya dan
sangat mudah didapatkan.
Relay 5v digunakan sebagai saklar untuk menghidupkan pompa air saat tingkat
kepekatan nutrisi melebihi nilai referensi data base 10 tanaman konsumsi. Pada tugas
akhir ini relay 5v digunakan karena pemasangannya mudah dan mudah didapatkan di
toko elektronik terdekat.
Berikut skema konfigurasi pin pompa air gallon dengan Arduino Mega 2560 :
Gambar 3.14. Wiring Pompa air galon
25
3.3.11. Buzzer
Buzzer digunakan untuk memberikan peringatan ketika suhu larutan nutrisi pada
bak tandon sudah melebihi 27ºC. Pada tugas akhir ini digunakan buzzer karena buzzer
dapat bekerja pada tegangan 4-8v dan memiliki kekuatan suara maksimal hingga 85dB.
Berikut skema konfigurasi pin buzzer dengan Arduino Mega 2560 :
Gambar 3.15. Wiring buzzer
3.4.
Perancangan Perangkat lunak
Pada bagian ini akan dijelaskan mengenai perancangan perangkat lunak yang
digunakan pada rancangan tugas akhir ini yakni dibagi menjadi 2 bagian yakni program
utama dan program interupsi. Program utama berisi tentang awal dari alat ini menyala
kemudian program akan memilih tanaman kemudian terjadi prosedur pengukuran jika EC
sudah masuk range maka program ini akan selesai. Seperti ditunjukkan pada Gambar
3.16. Program interupsi berisi tentang proteksi suhu larutan suhu dan kelembaban
lingkungan, serta cek EC. Jika suhu larutan sudah melebihi 27°C maka buzzer akan
menyala, jika sensor suhu dan kelembaban sudah melebihi nilai referensi maka akan ada
peringatan pada LCD, jika EC melebihi batas nilai referensi maka pompa air galon akan
26
menyala, dan jika nilai EC kurang dari batas referensi maka motor DC akan menyala
ditunjukkan pada Gambar 3.17.
PROSEDUR
PENGUKURAN
START
PROSES PENCAMPURAN
INISIALISASI PORT I/O
INISIALISASI SQW DISET
1HZ
PENGUKURAN ULANG
TUNGGU PEMILIHAN
JENIS TANAMAN
TIDAK
TIDAK
APAKAH EC SUDAH
MASUK RANGE ?
APAKAH SUDAH
MEMILIH ?
YA
YA
TIDAK
END
APAKAH ADA
PENEKANAN TOMBOL
OK ?
YA
Gambar 3.16. Program utama
Berikut cara kerja program utama perangkat lunak :
a. Langkah pertama alat ini akan menyala/ON.
b. Langkah kedua alat ini akan menginisialisasi port I/O dan inisialisasi SQW
diset 1Hz.
c. Langkah ketiga alat ini akan menunggu pemilihan jenis tanaman yang dipakai
oleh user.
27
d. Langkah keempat apakah user sudah memilih jenis tanaman, jika ya maka akan
dimulai langkah kelima, jika tidak maka alat ini akan menunggu pemilihan
jenis tanaman.
e. Langkah kelima apakah ada penekanan tombol ok, jika ya maka akan menuju
langkah keenam, jika tidak maka akan kembali kelangkah kelima.
f. Langkah keenam alat ini akan melakukan pengukuran pada bak larutan nutrisi..
g. Langkah ketujuh alat ini akan melakukan prosedur pencampuran nutrisi.
h. Langkah kedelapan alat ini akan melakukan pengukuran ulang.
i. Langkah kesembilan apakah EC sudah masuk range, jika ya maka selesai, jika
tidak maka akan kembali kelangkah ketujuh yaitu prosedur pengukuran.
28
INTERUPSI EKSTERNAL DARI
PIN SQW RTC (1HZ)
NILAI VARIABEL
COUNTER CEK SUHU
LINGKUNGAN ++
NILAI VARIABEL
COUNTER CEK EC ++
YA
APAKAH VARIABEL NILAI
COUNTER SUHU LINGKUNGAN
=3600?
YA
BANDINGKAN DENGAN
SUHU MAKSIMAL
TANAMAN YANG
DIPILIH
CEK SUHU LINGKUNGAN
TIDAK
SUHU LINGKUNGAN
> SUHU MAKSIMAL?
TIDAK
TIDAK
NILAI COUNTER SUHU
LINGKUNGAN = 0
APAKAH NILAI VARIABEL CEK EC
=3600X24
YA
CEK SUHU LARUTAN
CEK EC
TIDAK
BANDINGKAN DENGAN
DATA BASE
IF SUHU LARUTAN
>27° C
YA
PROSEDUR
PENCAMPURAN
IF EC < REF
YA
BUZZER ON
10 DETIK
TIDAK
YA
IF EC > REF
POMPA AIR ON
TIDAK
CEK EC
TIDAK
EC = REF?
YA
POMPA AIR OFF
RETI
Gambar 3.17. Program interupsi eksternal SQW
29
TAMPILKAN WARNING
PADA LCD
Berikut penjelasan tentang program interupsi Eksternal SQW :
Program ini akan mengecek jika nilai counter suhu lingkungan =3600 maka
program ini akan mengecek suhu lingkungan dan dibandingkan dengan suhu maksimal
tanaman yang akan dipilih, jika suhu lingkungan lebih dari suhu maksimal data base
maka akan menampilkan warning pada LCD, jika tidak maka nilai counter suhu
lingkungan = 0 dan akan mengecek nilai suhu larutan, jika suhu larutan lebih dari 27°C
maka buzzer ON 10 detik, jika tidak, apakah nilai variabel EC = 3600×24? Jika ya maka
cek EC kemudian bandingkan dengan data base jika EC kurang dari nilai referensi maka
melakukan prosedur pencampuran, jika tidak apakah EC lebih dari nilai referensi? Jika ya
maka pompa air akan menyala kemudian cek EC, jika EC = nilai referensi maka pompa
air mati jika tidak pompa air menyala, dan apabila nilai EC tidak lebih dari referensi
maka return interrupt.
30