• Tidak ada hasil yang ditemukan

Pada sub-bab ini menjelaskan tentang listing program yang digunakan pada sistem monitoring berat muatan truk. Listing program secara lengkap dapat dilihat pada lampiran L-5 sampai dengan L-20.

4.5.1. Library yang digunakan

Pada sistem ini menggunakan tiga Library yang dapat dilihat pada gambar 4.10. Library yang pertama yaitu <HX711.h> berfungsi untuk mengonversi keluaran load cell yang berupa data analog menjadi data digital dalam satuan kilogram. Library yang kedua adalah <ESP8266WiFi.h> berfungsi untuk menghubungkan jaringan ke internet, library ini perlu dideklarasikan berfungsi sebagai board yang digunakan pada program. Library yang ketiga yaitu <FirebaseESP8266.h> berfungsi untuk menghubungkan NodeMCU dengan firebase sebagai database.

Gambar 4.10 Library yang digunakan sistem

4.5.2. Listing Program Koneksi Access Point

Pada sistem monitoring berat muatan truk untuk melakukan koneksi jaringan dilakukan dengan membuat inisialisasi SSID dan password. SSID yang digunakan adalah “BerriSihombing” serta password “skripsibisa” ditunjukkan pada gambar 4.11.

Sintaks WiFi.begin digunakan untuk menghubungkan NodeMCU dengan access point sesuai dengan SSID dan password yang sudah diinisialisasi. Program menunggu sampai NodeMCU berhasil terhubung dengan jaringan. Sintaks WiFi.localIP digunakan untuk mengetahui IP address yang dimiliki NodeMCU.

Program NodeMCU dan access point dapat dilihat pada gambar 4.12.

42

Gambar 4.11 Inisialisasi koneksi jaringan

Gambar 4.12 Listing program koneksi access point

4.5.3. Listing Program Proses Kirim Data ke Firebase

Server yang digunakan pada proses pengiriman data ke firebase ini adalah

“Arduino-c263b.firebaseio.com” ditunjukkan pada gambar 4.13. Autentikasi token yang terdapat pada gambar 4.14 diperoleh setelah mendaftarkan database ke firebase.

Gambar 4.13 Server firebase

Gambar 4.14 Autentikasi token firebase

Data firebase diinisialisasikan menjadi “fbdo” yang ditunjukkan pada gambar 4.15. Kondisi awal yang dikirim ke firebase yaitu tiga data yang ditunjukkan pada gambar 4.16. Data yang pertama yaitu berat muatan truk dengan tipe data float yang diberi nilai awal “0”. Data yang kedua yaitu untuk mengatur fungsi buzzer dengan tipe data string yang diberi nilai awal “OFF”. Data yang ketiga yaitu untuk meng”nol”kan berat muatan truk dengan tipe data string yang diberi nilai “OFF”.

43

Gambar 4.15 Insialisasi daata firebase

Gambar 4.16 Kondisi awal yang dikirim ke firebase

Firebase menerima data yang dikirim ke server “Arduino-c263b.firebaseio.com” seperti pada gambar 4.17. “Truk1” untuk data prototipe truk 1 dan “Truk2” untuk data prototipe truk 2.

Gambar 4.17 Data yang diterima firebase

4.5.4. Listing Program Pembacaan Sensor Load Cell

Proses pembacaan sensor load cell dimulai dengan memasukkan nilai kalibrasi yang didapat dari proses pengkalibrasian. Pengkalibrasian sensor dilakukan dengan menggunakan library HX711. Tahap berikutnya dilakukan pendeklarasian pin yang digunakan. Pin D1 digunakan sebagai pin yang terhubung dengan pin DT pada modul HX711 dan sebagai input/masukkan untuk menerima data hasil pengukuran sensor load cell. Pin D2 digunakan sebagai pin yang terhubung dengan pin SCK pada modul HX711 dan sebagai pin output. HX711 dideklarasikan sebagai “scale”. Pendeklarasian pin dan HX711 dapat dilihat pada gambar 4.18.

44

Gambar 4.18 Pendeklarasian hasil kalibrasi, pin dan HX711

Pada bagian void setup “Serial.begin (9600)” digunakan untuk mengatur mengirim data 9600 bit per detik. HX711 sudah dideklarasikan pada gambar 4.18 dan selanjutnya diinisialisasikan dengan masukan “LOADCELL_DOUT_PIN” dan

“LOADCELL_SCK_PIN” yang sudah dideklarasikan pada gambar 4.18. HX711 memerlukan nilai kalibrasi, kemudian diinisialisasikan dengan “calibration_factor”.

Program dijalankan dengan timbangan di”nol”kan dengan fungsi tare pada HX711.

Untuk void setup sensor load cell dapat dilihat pada gambar 4.19.

Gambar 4.19 Void setup sensor load cell

Pada bagian void loop berisi perintah untuk menampilkan hasil pengukuran sensor load cell yang sudah di kalibrasi. Listing program perintah untuk menampilkan hasil pengukuran dapat dilihat pada gambar 4.20. Selanjutnya data tersebut dikirimkan ke firebase yang tunjukkan pada gambar 4.21.

Gambar 4.20 Void loop sensor load cell

45

Gambar 4.21 Void loop kirim data berat ke firebase

4.5.5. Listing Program Fungsi Buzzer

Proses menjalankan fungsi buzzer dimulai dengan pendeklarasian pin buzzer.

Pin D6 dideklarasikan sebagai pin buzzer yang ditunjukkan pada gambar 4.22.

Kemudian pin buzzer diinisialisasikan, dapat dilihat pada gambar 4.23.

Gambar 4.22 Pendeklarasian pin buzzer

Gambar 4.23 Void setup buzzer

Pada bagian void loop dilakukan pengecekan data buzzer di firebase dan dilakukan pengecekan pada tipe data buzerr di firebase. Jika tipe data string, maka program berlanjut dan status buzzer diperiksa kembali. Jika status buzzer “OFF” dan berat melebihi 3 kilogram, maka status buzzer berubah menjadi “ON” kemudian buzzer menyala. Jika status buzzer “ON2” dan berat lebih dari 3 kilogram, maka buzzer mati.

Jika berat muatan truk kurang dari 3 kilogram, maka status buzzer diubah menjadi

“OFF” dan buzzer dimatikan. Status buzzer yang berubah dikirim langsung ke firebase.

Listing program void loop buzzer dapat dilihat pada gambar 4.24.

46

Gambar 4.24 Void loop buzzer

Aplikasi dapat memperbaharui status buzzer dengan mengirim data ke firebase.

Memperbaharui status buzzer dengan mengambil letak data buzzer yg ada di firebase, lalu memasukkan data buzzer dengan data yang memiliki variabel "buzzer" ke firebase. Listing program pembaharuan status buzzer di android studio dapat dilihat pada gambar 4.25.

Gambar 4.25 Listing program update buzzer di android studio

Jika tombol “OFF" ditekan maka fungsi update buzzer berjalan dan variabel buzzer di isi dengan nilai "ON2". Sehingga nilai dari buzzer pada firebase diubah menjadi "ON2", keadaan ini terjadi saat mematikan buzzer secara manual melalui aplikasi. Listing program mematikan buzzer secara manual terdapat pada gambar 4.26.

47

Gambar 4.26 Listing program matikan buzzer manual di android studio

4.5.6. Listing Program Reset Berat

Pada bagian void loop dilakukan pengecekan pada data reset di firebase dan dilakukan pengecekan pada tipe data reset di firebase. Jika tipe data string, maka program berlanjut dan status reset diperiksa kembali. Jika status reset “ON” maka berat muatan di”nol”kan dan status reset akan berubah menjadi “OFF”. Listing program reset berat ditunjukkan pada gambar 4.27.

Gambar 4.27 Listing program reset berat

Pembaharuan status reset dilakukan dengan mengambil letak data reset yg ada di firebase, lalu memasukkan data reset dengan data yang memiliki variabel "reset" ke firebase. Listing program pembaharuan status reset di android studio dapat dilihat pada gambar 4.28.

48

Gambar 4.28 Listing program update reset di android studio

Jika tombol “RESET" ditekan maka fungsi update reset berjalan dan variabel reset di isi dengan nilai "ON". Sehingga nilai dari reset pada firebase diubah menjadi

"ON", keadaan ini terjadi saat meng”nol”kan berat muatan secara manual melalui aplikasi. Listing program meng”nol”kan berat muatan secara manual terdapat pada gambar 4.29.

Gambar 4.29 Listing program reset manual di android studio

4.5.7. Listing Program Penampil Data di Aplikasi

Program penampil data di aplikasi menggunakan android studio. Proses menampilkan data di aplikasi bermula dari pendeklarasian text view, tombol, dan firebase yang dibutuhkan. Listing program pendeklarasian dapat dilihat pada gambar 4.30. Setelah melakukan pendeklarasian, text view, tombol, dan firebase diinisialisasikan seperti pada gambar 4.31.

Gambar 4.30 Pendeklarasian penampil data

49

Gambar 4.31 Inisialisasi penampil data

Setelah text view, tombol dan firebase diinisialisasaikan maka sudah dapat digunakan. Format data yang ditampilkan pada aplikasi menggunakan format tampilan tiga angka dibelakang koma. Data berat yang ada di firebase ditampung di variabel value. Data berat yang sudah ditampung dari firebase ditampilkan di “tv1” dan “tv3”.

Jika berat lebih dari 3 kilogram maka “tv2” menampilkan hasil dari data berat dikurang 3 kilogram untuk mendapatkan kelebihan berat. Jika data berat kurang dari 3 kilogram, maka data yang ditampilkan pada “tv2” kosong (---). Listing program penampil data dapat dilihat pada gambar 4.32.

Gambar 4.32 Listing program penampil data

50

4.5.8. Listing Program Lama Waktu Pengiriman Data

Proses menghitung lama waktu pengiriman data dimulai dengan menentukan variabel. Variabel digunakan untuk menyimpan data waktu data ditransfer. Listing program lama waktu pengiriman data dapat dilihat pada gambar 4.33.

Gambar 4.33 Listing program lama waktu pengiriman data

Dokumen terkait