BAB IV HASIL DAN PEMBAHASAN
4.3 Analisa Perangkat Lunak
4.3.1 Pemrograman Arduino ESP8266
Arduino ESP8266 adalah sebuah device mikrokontroller yang telah ditanamkan ESP8266 sebagai device untuk memancarkan Wi-Fi. Arduino ESP8266 merupakan perangkat mikrokontroler yang diproduksi oleh WEMOS Eletrics dengan jumlah pin I/O
yang dapat digunaka adalah 9 pin pada tegangan kerja 3,3V. Untuk menjalaknan sistem pada mikrokontroler tersebut, perlu dimasukan program kedalam device tersebut melalui Arduino IDE. Setiap input yang masuk ke Arduino ESP8266 terlebih dahulu di inisialisasi sesuai dengan alamat dari tabel berikut.
Tabel 4.6. Tabel koneksi Input Arduino No Nama Alamat PLC GPIO ESP8266 PIN Arduino 1 Kayu Q 100.01 15 D10 2 Logam Q 100.02 16 D2 3 Plastik Q 100.03 5 D3 4 Kaca Q 100.04 4 D4 5 Magazine I 0.08 14 D5 6 Motor Q 100.00 12 D6 7 S1 I 0.05 13 D7 8 S2 I 0.06 0 D8 9 S3 I 0.07 2 D9 10 Power I 0.01 12 D12
Tabel diatas adalah keterangan koneksi input Arduino yang terhubung dengan alamat PLC. Berdasarkan tabel diatas, misal Kayu pada PLC menggunakan alamat Q 100.01 terhubung dengan GPIO ESP8266 pin 15 yang terdapat pada pin D10 di board Arduino. Begitu pula pembacaan selanjutnya yang terdapat dalam tabel tersebut. Selanjutnya input tersebut akan diinisialisai pada program Arduino IDE.
Seperti yang dijelaskan pada sub bab nomor 4.1 bahwa terjadi kekurangan pin input dapat dilihat pada tabel 4.3. Pada tabel tersebut alamat GPIO motor dan power sama yaitu GPIO pin 12. Hal tersebut dikarena jumlah GPIO yang terdapat pada ESP8266 hanya berjumlah 9 yang dapat digunakan untuk menjalankan sistem ini. Untuk mengatasi kekurangan pin tersebut maka alamat pin GPIO motor dan power disamakan dengan asumsi jika mesin aktif maka indikator motor akan ikut aktif. Pada perancangan tabel 3.1 pada perancangan koneksi pin dijelaskan terdapat indikator On/Off, namun pada pengaplikasian dirubah menjadi indikator power dengan pertimbangan agar tidak ada kesamaan nama pada saat indikator text info menampilkan karakter On/Off. Berikut adalah gambar yang berisikan inisialisali pin pada progam Arduino.
Gambar 4.8. Inisialisai nama input Arduino ESP8266
Gambar 4.9. Inisialisai pin input Arduino ESP8266
Inisialisasi berisi tentang pendefinisian dari fungsi dan variabel yang akan digunakan dalam proses pengoperasian program. Gambar 4.8 dan gambar 4.9 adalah contoh inisialisai yang terdapat pada pemrograman Arduino Mesin Pemilah Benda.
B. Pemrograman Koneksi Wi-Fi Arduino ESP8266
Arduino ESP8266 dapat terhubung dengan Android dengan menggunakan koneksi Wi-Fi. Agar kedua device dapat terkoneksi maka perlu dilakukan pembacaan Wi-Fi yang dilakukan oleh Arduino ESP8266.
Berdasarkan gambar 4.10, Arduino membaca SSID, SSID adalah nama untuk jaringan wireless. Arduino akan membaca SSID dari Android dengan nama dan password yang telah ditentukan. Pada gambar 4.10 SSID dari Android bernama “tugas” dengan password “1234567890” dan jika IP Address terbaca maka ledPin pada arduino akan hidup. Pengaturan SSID dan password dapat ditemukan pada pengaturan Hotspot portabel di handphone android. Untuk dapat mengetahui apakah Arduino ESP8266 telah tersambung dengan Android, dapat dituliskan perintah sesuai dengan gambar 4.11 dengan melihat hasil koneksi tersebut di serial monitor. Berdasarkan pembacaan gambar 4.11 apabila koneksi Arduino ESP8266 dengan Android berhasil maka akan muncul tampilan pada Serial Monitor sesuai dengan gambar 4.11.
Gambar 4.11. Cara menampilkan IP di Serial Monitor
C.Pembacaan counter Arduino ESP8266
Setiap output yang dikirim oleh PLC diterima oleh Arduino untuk selajutnya diolah. Data kayu, logam, plastic, kaca dan jumlah diolah oleh Arduino untuk selanjutnya dikirim ke data Android. Gambar 4.12 adalah contoh pembacaan counter kaca dan jumlah pada Arduino. Counter kaca mendapat inputan aktif high, apabila kaca medapat inputan maka kaca akan bertambah setiap satu kali. Apabila jumlah telah mencapai 99 maka counter kaca akan kembali ke nol.
Gambar 4.12. Contoh pembacaan counter kaca dan jumlah.
Counter jumlah berisikan data dari kayu, logam, plastik dan kacayang dijumlahkan menjadi satu. Apabila jumlah telah mencapai 999 maka counter akan kembali ke nol. Pembacan icon pada magazine, motor, S1, S2 dan S3 dan power yang tidak membutuhkan penjumlahan data menggunakan perintah sebagai berikut.
Gambar 4.13. Contoh pengiriman data On/Off
Icon magazine, motor, S1, S2 dan S3 dan power akan menampilkan data berupa karakter ON dan OFF pada tampilan Android. Contoh pada buttonState6 yang merupakan inisialisasi dari motor. Berdasarkan gambar 4.13 saat buttonState6 mendapat input aktif high,
maka client pada Android akan menampilkan karakter ON dan jika input low maka akan menampilkan karakter OFF.
D. Pemrograman Data Logger EEPROM Arduino ESP8266
Data yang dikirimkan pada menu kayu, logam, plastic dan kaca seharusnya dapat disimpan dan dilihat pada memory EEPROM Arduino. Pembacaan EEPROM Arduino dilakukann dengan menu Serial Monitor pada Arduino IDE. Berikut adalah berbagai macam perintah untuk menuliskan EEPROM di Arduino.
Gambar 4.14. Perintah pembacaan di alamat EEPROM
Untuk dapat membaca atau menuliskan suatu data kealamat EEPROM terlebih dahulu harus ditentukn alamat yang akan digunakan untuk menyimpan data tersebut. Dalam gambar 4.14 alamat EEPROM kayu berapa pada alamat 0, logam berada pada alamat 1, plastik berada pada alamat 2 dan kaca pada alamat 3. Setiap pembacaan yang akan dilakukan akan diambil data dari alamat tersebut.
Gambar 4.15. Perintah penulisan di alamat EEPROM
Untuk menuliskan data pada alamat yang telah ditentukan dapat digunakan perintah EEPROM.write(alamat,data) seperti pada gambar 4.15. Perintah tersebut ditambahkan pada bagian perintah counter suatu data. Contoh pada perintah data counter plastik, setelah perintah counter dituliskan EEPROM.write(2,plastik) dan perintah yang sama digunakan pada setiap data yang akan ditampilkan. Untuk membuat data tertampil lebih teratur maka dapat digunakan perintah pada gambar 4.16. Perintah tersebut digunakan untuk membagi setiap karakter dalam setiap kolom .
Gambar 4.16. Membagi setiap karakter dalam kolom
Hasil dari berbagai perintah yang telah dituliskan menghasilkan contoh pembacaan data pada serial monitor sesuai pada gambar 4.17 dimana setiap karakter terbagi dalam setiap kolom.
Gambar 4.17. Pembacaan pada Serial Monitor