Program Mikrokontroler Analisa Software

Pada kelembaban tanah range yang digunakan sensor adalah 0 sampai 10. Nilai 0 menandakan tanah sangat kering atau sensor tidak menyentuh tanah jika nilai terus naik, maka tanah akan semakin basah seperti pada gambar 4.14. Kondisi awal pada kelembaban tanah adalah 1 yaitu kondisi tanah kering. Saat sistem dijalankan pompa air akan langsung menyala dan air akan disemprotkan melalui nozzle. Pada gambar 4.20 nilai kelembaban tanah saat pompa dinyalakan dapat menyampai nilai 6 setelah itu pompa mati karena telah melewati set point atas. Setelah beberapa detik nilai turun pada kondisi 5. Kondisi kelembaban tanah akan cukup lama mencapai kondisi kering dikarenakan tidak terdapat tanaman padan uji coba ini. Pada gambar 4.21 terlihat grafik kondisi pompa saat sistem berjalan. Daya yang digunakan pada sistem ini adalah sekitar 450 W dari penggunaan humidifier 20 W, pompa air 356 W dan air cooler 60 W sementara untuk control box sekitar 14 W. Gambar 4. 21 Grafik kondisi pompa air terhadap waktu

4.4 Analisa Software

Analisa software bertujuan apakah program pada mikrokontroler sudah sesuai dengan diagram alir pada perancangan bab 3. Analisa ini untuk mengetahui beberapa Error pada program yang membuat sistem berjalan tidak sesuai dengan perancangan sistem.

4.4.1 Program Mikrokontroler

Pada program mikrokontroler terbagi menjadi beberapa bagian, yaitu inisialisasi, Void Setup, lalu yang terakhir adalah void loop. Pada looping terbagi atas beberapa bagian lagi yaitu proses pengambilan data yang terdiri dari data RTC, data sensor, sistem kendali, pengiriman ke sistem interface lalu penyimpanan pada SD card.Proses selanjutnya adalah memeriksa apakah tombol push button ditekan atau tidak oleh user untuk mengetahui PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI beberapa informasi yang ada. Setelah kedua proses itu selesai, looping akan kembali mengulang proses setelah 10 detik. Inisialisasi berfungsi untuk mendefinisikan library serta variabel yang digunakan oleh sistem. Library yang digunakan seperti LCD, sht11, RTC, SD card dan seterusnya. Sementara variabel yang digunakan adalah variabel yang digunakan untuk menggerakkan sistem kendali, push button serta pengambilan data sensor. Inisialisasi juga berfungsi sebagai inisialisasi port input dan output pada arduino seperti yang di jelaskan pada tabel 3.1. Pada Void Setup dilakukan beberapa perintah untuk memulai program. Perintah ini hanya akan berjalan 1 kali. Program yang dijalankan disini adalah menjalankan RTC dan SD card serta mendeteksi apakah RTC dan SD card sudah dapat berjalan dengan baik apabila ada kesalahan akan terdapat indikasi pada LCD. Selanjutnya pada void Setup dilakukan setting untuk timer. Settingan ini dilakukan agar nantinya pada pada void loop dijalankan setiap 10 detik. Settingan timer dapat dilihat pada gambar 4.22. Gambar 4. 22 Setting Timer Gambar 4. 23 List program loop subrutin pengambilan data sensor PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Pada bagian selanjutnya terdapat subrutin-subrutin yang dijelaskan pada perancangan serta tampilan utama pada sistem. Untuk memulai looping, kondisi button state yaitu inisialisai tombol startstop harus LOW atau dalam kondisi di tekan seperti yang di tunjukkan pada gambar 4.23. Setelah tombol start di tekan akan muncul tampilan utama program seperti yang ditunjukka pada gambar 4.11. Pada saat itu juga looping dimulai. Pada gambar 4.24 ditunjukkan “if a= =1” berarti saat timer = 1 program looping akan dimulai Pada looping yang pertama dilakukan adalah subrutin pengambilan data sensor. Pada gambar 4.23 diperlihatkan prosesnya. Untuk kelembaban tanah data sensor akan di mapping ke nilai 0 sampai 10 sesuai dengan alat ukur. Kemudian setelah semua nilai sensor didapatkan, program berlanjut pada subrutin kendali yaitu program membandingkan nilai sensor dengan nilai referensi yang ada lalu menggerakkan output yang ada yaitu relay dan LED. Setelah dilakukan subrutin tersebut dilanjutkan dengan mengambil data dari hasil output kendali untuk mengetahui kondisi output dalam kondisi menyala atau dimatikan. Program subrutin kendali dapat dilihat pada gambar 4.25. Gambar 4. 24 List program loop pengiriman ke sistem interface PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 4. 25 List Program loop Subrutin kendali PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 4. 26 List program loop penyimpanan data pada SD card Gambar 4. 27 List program loop saat tombol stop ditekan Kemudian setelah subrutin pengambilan data sensor dan kendali, dilanjutkan dengan pengiriman data ke sistem interface pada gambar 4.24 serta penyimpanan data pada SD PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI card pada gambar 4.23. Setelah data disimpan pada SD card dan nilai a dibuat kembali menjadi 0 kemudia jika timer sudah menghitung selama 10 detik sistem akan mengulang semua proses diatas. Pada saat yang sama saat timer menghitung selama 10 detik selain menjalankan looping program juga mengecek apakah tombol-tombol informasi pada LCD di tekan. Gambar 4. 28 List Program loop cek kondisi tombol Jika tombol ditekan maka program akan menampilkan informasi seusai dengan tombol yang tekan. Proses akan terus berjalan sampai tombol startstop ditekan lagi. Saat tombol startstop ditekan maka saat itu kondisi button state = 0. Pada saat itu sistem akan menampilkan informasi LCD seperti pada gambar 4.11, kemudian seluruh output kendali akan dibuat 0 atau dimatikan.

4.5 Analisa Error Pada Program