BAB 5.
IMPLEMENTASI DAN PENGUJIAN
5.1. Implementasi Terdapat tiga bagian dalam tahapan implementasi, antara lain implementasi desain mekanik, desain elektrik dan program kendali. 5.1.1
Implementasi Desain Mekanik Desain mekanik adalah badan alat. Bahan yang digunakan adalah akrilik berukuran kecil sebagai dasar bentuk alat dan dilengkapi oleh komponen-komponen lainnya seperti sensor Soil Moisture, sensor Ultrasonic, pompa air, dan motor servo. Hasil implementasi desain mekanik alat dapat dilihat pada gambar dibawah ini.
Gambar 5.1 Bodi Alat Asita
5-1
http://digilib.mercubuana.ac.id/
5.1.2
Implementasi Desain Elektrik Implementasi dari desain elektrik adalah rangkaian sistem sensor kelembaban tanah dan ketinggian air berupa komponen sensor kelembaban tanah, sensor pendeteksi ketinggian air, Arduino dan breadboard.
Gambar 5.2 Rangkaian Sistem Sensor Kelembaban Tanah Dan Pendeteksi Ketinggian Air
5-2
http://digilib.mercubuana.ac.id/
Untuk mengatur kadar tegangan listrik dari adaptor ke keseluruh komponen Asita teratasi, maka dibutuhkan step down converter untuk menurunkan tegangan adaptor 12 volt menjadi 6 volt. Dari adaptor 12 volt, diturunkan menjadi 6 volt oleh step down converter, lalu dialirkan ke Arduino dan sensor kelembaban tanah. 5.2. Implementasi Perangkat Lunak A. Spesifikasi Perangkat Keras
Perangkat keras yang digunakan untuk pengisian program ke Arduino Uno adalah laptop dengan spesifikasi sebagai berikut. 1. Prosesor Intel Core i5 1,8 GHz 2. RAM 4 GB 3. HDD 500 GB B. Spesifikasi Perangkat Lunak
Perangkat lunak yang digunakan untuk perancangan dan implementasi Asita ialah sebagai berikut : 1. Arduino IDE 1.6.12 2. Adobe Photoshop CS6 3. Microsoft Office 2016 4. Fritzing 0.9.3 Sistem Operasi Windows 7 64bit 5. Aplikasi Arduino IDE (Integrated Development Environment) 6. Smartphone Android 6.0 (Marshmellow) 7. RAM 3GB/ROM 32GB 8. Processor Snapdragon 325 9. Software Terminal Bluetooth 5.3. Pengujian Dalam tahap pengujian, terdapat beberapa pengujian rangkaian alat secara keseluruhan antara lain 5.3.1
Pengujian Rangkaian Daya Pengujian ini dilakukan untuk mengetahui apakah rangkaian daya/power supply dapat bekerja dengan baik. Pengujian dilakukan dengan mensuplai tegangan input dari baterai sebesar 12 volt kemudian dilakukan 5-3
http://digilib.mercubuana.ac.id/
pengukuran pada output masing-masing keluaran dengan satuan amper diukur dengan menggunakan multimeter. Tabel 5.1 Arus keseluruhan komponen Asita
Komponen
Nilai Tegangan
5.3.2
Sensor Kelembaban Tanah
5 volt
Sensor Ultrasonic
5 volt
Pompa Air
6 volt
Motor Servo
5 volt
Relay
5 volt
Adaptor
12 volt
Pengujian Sensor Kelembaban Tanah & Pendeteksi Ketinggian Air Pengujian program dapat dilakukan apabila kalibrasi sensor kelembaban tanah dan sensor pendeteksi ketinggian air sudah diatur. Maka dari itu harus mengatur kalibrasi antara sensor kelembaban tanah dan pendeteksi ketinggian air agar daya sensitive dari sensor Soil Moisture (sensor kelembaban) terhadap tanah yang terdeteksi tidak terlalu besar dan tidak terlalu kecil. Dan ditambahkan sensor Ultrasonic (sensor pendeteksi ketinggian air). Setelah kalibrasi sudah dilakukan perlu mendefinisikan port pada sensor kelembaban tanah dan pendeteksi ketinggian air untuk dihubungkan dengan mikrokontroler. Pengujian dilakukan didalam rumah dengan 2 pot dengan berisi tanah dan tanaman, wadah yang berisi air. Pada 2 pot tersebut di isi dengan tanah yang kering dan lembab, wadah berisi air untuk melakukan pengujian. Berikut merupakan tabel hasil pengujian keberhasilan sensor kelembaban tanah dalam mendeteksi kelembaban pada tanah. Tabel 5.2 Persentase keberhasilan deteksi sensor kelembaban tanah
Kelembaban tanah No
Relay Persen %
Status tanah
Waktu penyiraman 5-4
http://digilib.mercubuana.ac.id/
1
10%
kering
ON
10 Detik
2
20%
kering
ON
10 Detik
3
30%
kering
ON
10 Detik
4
40%
kering
ON
10 Detik
5
50%
kering
ON
10 Detik
6
60%
basah
7
70%
basah
8
80%
basah
9
90%
basah
10
100%
basah
Tidak OFF
Menyiram Tidak
OFF
Menyiram Tidak
OFF
Menyiram Tidak
OFF
Menyiram Tidak
OFF
Menyiram
Pengujian sensor ultrasonik dalam mendeteksi ketinggian air yang berada pada wadah. Tabel 5.3 Persentase keberhasilan deteksi sensor pendeteksi air
No
Level air
Jarak
1
10%
1,7 cm
2
20%
3,4 cm
3
30%
5,1 cm
4
40%
6,8 cm
5
50%
8,5 cm
6
60%
10,2 cm
7
70%
11,9 cm
8
80%
13,6 cm
9
90%
15,3 cm
10
100%
17 cm
5-5
http://digilib.mercubuana.ac.id/
Berikut kode program untuk sistem sensor kelembaban tanah pada Asita. Int sensor1 = A0; Int sensor2 = A1;
Keterangan: •
Sensor1 = A0 : digunakan untuk mendeklarasikan variabel pin moisture sensor pot1.
•
sensor2 = A1 : digunakan untuk mendeklarasikan variabel pin moisture sensor pot2.
•
sensor_pot1 = digunakan untuk membaca kelembaban tanah pada pot1
•
sensor_pot2 = digunakan untuk membaca kelembaban tanah pada pot2
if (sensor_pot1 >= 900 && sensor_pot2 >= 900) { pot1(); pot2(); basah = 1; }else if (sensor_pot1 <= 800 && sensor_pot2 >= 900) { pot2(); basah = 1; }else if (sensor_pot1 >= 900 && sensor_pot2 <= 800) { pot1(); basah = 1; }else if (sensor_pot1 <= 800 && sensor_pot2 <= 800) { if (basah == 1){ Serial.println("POT Masih Basah."); } basah = 0; } bacaperintah(); }
Potongan kode program diatas untuk penyiraman otomatis, yaitu : •
if (sensor_pot1 >= 900 && sensor_pot2 >= 900) : Kondisi ini jika pot1 dan pot2 jika kering akan meyiram kedua pot.
•
else if (sensor_pot1 <= 800 && sensor_pot2 >= 900) : Kondisi ini jika hanya pot2 yang kering makan hanya akan menyiram pot2
5-6
http://digilib.mercubuana.ac.id/
•
else if (sensor_pot1 >= 900 && sensor_pot2 <= 800) : Kondisi ini jika hanya pot1 yang kering maka hanya akan menyiram pot1
•
else if (sensor_pot1 <= 800 && sensor_pot2 <= 800) : Jika hanya pot1 dan pot2 masih basah maka tidak menyiram dan akan mencetak status POT Masih Basah.
int SensorTanah1(){ int sensor_pot1 = analogRead(sensor1); return 1023 - sensor_pot1; } int SensorTanah2(){ int sensor_pot2 = analogRead(sensor2); return 1023 - sensor_pot2; } void status_pot(){ float persen1 = map(SensorTanah1(),0,1023,0,100); float persen2 = map(SensorTanah2(),0,1023,0,100); Serial.print("Sensor Pot 1 = "); Serial.print(persen1); Serial.println(" %"); Serial.print("Sensor Pot 2 = "); Serial.print(persen2); Serial.println(" %"); //for( int a = 0; a <= 10; a++) { // Clears the trigPin digitalWrite(trigPin, LOW); delayMicroseconds(2); // Sets the trigPin on HIGH state for 10 micro seconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); // Calculating the distance HT = 21; distance=duration/58; H2=HT-distance; float persen_air=map(H2,0,15,0,100); // Prints the distance on the Serial Monitor Serial.print("Wadah Air: "); Serial.print(persen_air);
5-7
http://digilib.mercubuana.ac.id/
Potongan kode program diatas untuk membaca status air maupun status kelembaban pada tanah, yaitu : •
HT = 21; : Tinggi wadah air
•
distance=duration/58; : Jarak ultrasonik ke dasar wadah
•
H2=HT-distance; : Menghitung level ketinggian air
•
float persen_air=map(H2,0,15,0,100); : Menghitung persentasi air
5-8
http://digilib.mercubuana.ac.id/