Sedikit intermezzo dulu kali ya, soalnya sudah cukup lama blog ini tidak update lantaran saya sebagai penulis masih berstatus mahasiswa, apalagi saat ini sudah memasuki mahasiswa tingkat akhir, sedikit curhat hehe... :). Dimana pada waktu yang lalu saya disibuk kan dengan Proyek Akhir dimana itu dituntut harus selesai dalam 1 semester alat dengan laporannya
dan sidang lolos dengan revisian selesai juga tentunya, kalau tidak yaa harus nambah semester dan yang pasti nambah bayar lagi, tapi alhamdulillah nya alat maupun laporan selesai tepat waktu dan pas pada saat itu dapat jadwal sidang pada hari pertama dan urutan pertama pula, mungkin taulah gimana rasanya :).
Sebenarnya yang akan dibahas pada artikel kali ini merupakan alat Proyek Akhir yang saya kerjakan dan sebenarnya alat ini sudah selesai pada bulan desember 2018 lalu. Dikarenakan setelah itu masuk di semester berikutnya saya mendapatkan mata kuliah magang industri selama 4 bulan, nah.. tidak tau kenapa baru saat ini lah saya bisa menulis artikel ini, oke mungkin cukup segitu curhatnya :) kelamaan intermezzo sepertinya hehe... ohh iya artikel ini mungkin akan agak sedit panjang penjelasannya dikarenakan memang isinya itu saya ambil dari laporan proyek akhir saya, oke langsung saja kita masuk pada pembahasan.
Smart socket power meter (kalau di proyek akhir saya judulnya Pengendalian Stop Kontak dan Monitoring Penggunaan Daya Listrik Menggunakan Android) merupakan socket atau stop kontak yang di desain dapat melakukan pengendalian on/off perangkat listrik dari jarak jauh, selain mengendalikan smart socket ini juga mampu memonitoring penggunaan daya listrik pada perangkat listrik yang dihubungkan dengan smart socket power meter ini.
Sistem pengendalian jarak jauh saat ini dibutuhkan, karena akan mempermudah dalam pengoperasian atau memonitoring dari tempat yang jauh. Smart socket ini merupakan penerapan Internet Of Things (IoT), metode yang digunakan yaitu membangun sebuah sistem yang mampu mengendalikan perangkat listrik sekaligus mengukur parameter daya listrik AC, menggunakan Arduino pada subsistem pengukuran sedangkan pada subsistem kendali dan monitoring jarak jauh menggunakan Wemos D1 Mini sebagai penghubung dengan koneksi internet melalui jaringan Wi-Fi, pada pengendali digunakan TRIAC sebagai switching perangkat listrik, data hasil pengukuran dikirim ke sebuah server realtime database. Adapun media interface yang digunakan adalah smartphone Android dengan aplikasi yang dirancang mampu mengendalikan maupun memonitoring.
Smart socket power meter ini menggunakan interface android yang dirancang agar dapat mengendalikan dan memonitoring menggunakan koneksi internet, kemudian informasi ditampilkan pada smartphone android, pada perancangan ini terdapat dua subsistem yaitu subsistem pembacaan daya dan subsistem pengirim yang mempunyai fungsi masing - masing.
Pada subsistem pertama yaitu proses pembacaan daya terdapat sebuah mikrokontroler arduino sebagai pemroses dari pembacaan sensor, kemudian hasil pembacaan ditampilkan di LCD. Selanjutnya subsistem kedua yang berperan sebagai pengirim data terdapat mikrokontroler wemos D1 mini yang berkomunikasi serial dengan mikrokontroler arduino yang ada pada subsistem pembacaan daya, subsistem pengirim akan menerima data tegangan, arus dan penggunaan daya kemudian data tersebut diproses untuk dikirim ke database firebase dengan keadaan alat terhubung dengan koneksi internet.
Data yang dikirim ke firebase kemudian akan tampil pada aplikasi android dengan syarat android memiliki koneksi internet. Aplikasi android akan mengambil data yang di kirim ke firebase dan menampilkan secara realtime.
Rangkaian Elektrikal
Untuk layout PCB yang di desain menggunakan software eagle dapat dilihat pada gambar berikut :
Rangkaian elektrikal terdiri dari mikrokontroler wemos d1 mini terhubung ke mikrokontroler arduino dengan komunikasi serial dan rangkaian driver triac yang terhubung dengan stop kontak. Dikarenakan pin I/O mikrokontroler wemos bekerja pada tegangan 3.3 volt, digunakan sebuah modul logic level converter yang berfungsi sebagai converter tegangan 5 volt ke 3.3 volt atau sebaliknya dari 3.3 volt ke 5 volt.
Rangkaian driver beban dirancang dengan menggunakan triac BTA12 dan optocoupler MOC 3020. Triac berfungsi sebagai saklar dua arah untuk mengontrol beban AC sedangkan optocoupler berfungsi sebagai isolator untuk mengisolasi tegangan AC dengan rangkaian kontrol tegangan DC agar tidak saling terhubung.
Prinsip kerjanya keluaran dari pin mikrokontroler wemos masuk ke pin 2 MOC 3020 atau pin katoda led yang ada dalam kemasan ic, untuk mengaktifkan output MOC 3020 yaitu dengan cara memberi logika low atau 0 volt pada katoda led tersebut dan 5 volt pada anodanya pada saat itu output MOC 3020 akan aktif untuk memberikan trigger pada gate triac BTA12 sehingga triac aktif dan menyalakan beban listrik.
Perancangan Mekanikal
Flowchart Sistem
Gambar diatas menunjukkan flowchart proses dari keseluruhan sistem mulai dari wemos menghubungkan dengan koneksi internet, terdapat subproses pengendalian stop kontak di aplikasi android kemudian pada subproses status stop kontak akan merubah status stop kontak untuk menyalakan atau mematikan stop kontak.
Lalu ada subproses terima data tegangan, arus dan daya dari arduino yang merupakan subsistem pengukuran daya, kemudian data yang diterima oleh wemos di kirim ke server firebase, yang terakhir ada subproses monitoring tegangan, arus dan daya yang tampil pada aplikasi android.
Selanjutnya masuk pada proses pemrograman, disini saya hanya akan menjelaskan program pada sub sistem pengendalian dan monitoring yaitu pada mikrokontroler wemos D1 mini, pada alat ini wemos di program pada dua mode yaitu mode sebagai Acces Point atau membuat Web Server dan sebagai Client, untuk jelasnya langsung saja.
Wemos Sebagai Acces Point dan Web Server
Wemos diatur sebagai Access Point, dan smartphone android atau web browser sebagai client. Adapun fungsi wemos sebagai Access Point digunakan saat ingin konfigurasi atau pengaturan jaringan Wi-Fi yang akan terhubung dengan alat. Untuk sketch program Arduino IDE nya dapat dilihat di bawah ini.
Untuk menggunakan wemos sebagai Access Point dan web server digunakan library ESP8266WiFi untuk konfigurasi Acces Point dan ESP8266WebServer untuk membuat local web server, sedangkan library EEPROM untuk menyimpan data ke memori wemos.
Pengaturan mode wemos sebagai Access Point dilakukan dengan perintah WiFi.mode(WIFI_AP) kemudian atur alamat ip dengan perintah WiFi.softAPConfig(alamat ip, gateway, subnet), untuk mengatur nama dan password Access Point dengan perintah WiFi.softAP(ssid, pass).
Program diatas digunakan untuk pembuatan halaman web server menggunakan script atau kode HTML, adapun untuk mengakses halaman utama dari local web server yang dibuat adalah dengan mengetik alamat 192.168.1.1 pada web browser, untuk hasil percobaan web server dapat dilihat pada gambar berikut:
Hasil percobaan web server dengan membuka alamat 192.168.1.1 pada web browser maka akan tampil halaman utama, yang dimana terdapat form ssid dan password yang harus di isi dengan nama wifi dan password wifi yang akan dihubungkan dengan alat dan terdapat sebuah tombol kirim, saat form di isi dan tombol kirim ditekan maka akan tampil halaman kedua yang berarti akan menyimpan data pada eeprom wemos, untuk perintah membaca data eeprom dapat dilihat pada berikut:
Program diatas merupakan perintah untuk pembacaan karakter pada memori wemos dengan perintah EEPROM.read() adapun data disimpan dimulai dari byte 0 sampai 31 untuk ssid dan 32 sampai 95 untuk password, kemudian setiap karakter yang dibaca dimasukkan ke variabel masing - masing, dapat dilihat pada screenshot dibawah ini merupakan respon serial monitor saat web server diakses dan simpan data ke eeprom.
Untuk hasil dari percobaan ini dapat dilihat pada hasil screenshot serial monitor dibawah ini, dimana dengan membuat wemos sebagai Access Point dan membuat local web server dapat dilakukan pengaturan jaringan WiFi untuk terhubung dengan alat dengan cara menyimpan data pada eeprom.
Wemos Sebagai Client
Selain sebagai Access Point wemos juga dapat diatur sebagai client, jadi disini wemos akan terhubung dengan jaringan Wi-Fi atau sebagai client Wi-Fi tersebut, sehingga dibutuhkan setting nama Wi-Fi dan passwordnya. Selain itu wemos juga akan terhubung dengan server firebase atau sebagai client server melalui koneksi internet dari jaringan Wi-Fi, untuk pengaturan dan program Arduino IDE dapat dilihat di bawah ini.
Program diatas digunakan untuk mengatur wemos sebagai client, library yang digunakan ESP8266WiFi untuk menghubungkan dengan jaringan Wi-Fi dan FirebaseArduino untuk menghubungkan dengan server firebase, agar dapat terhubung dengan jaringan Wi-Fi maka di atur terlebih dahulu nama dan password Wi-Fi yang ingin dihubungkan. Untuk menghubungkan ke database domain dan kode rahasia dari server firebase juga perlu diatur.
Program diatas merupakan perintah untuk menghubungkan dengan Wi-Fi dan server, pada saat pertama kali dinyalakan wemos akan mencoba menghubungkan dengan Wi-Fi hingga terhubung, jika belum terhubung maka akan terus mengulang pada while looping untuk menghubungkan, saat sudah terhubung maka akan keluar dari while.
Setelah terhubung dengan koneksi internet maka dapat di lakukan pengiriman data ke server, adapun perintahnya seperti pada pada program diatas. Adapun data yang dikirim adalah parameter listrik ac, pengiriman dilakukan dalam dua paket data diantaranya paket data yang pertama data tegangan, arus dan daya aktif untuk data kedua daya reaktif, daya semu dan faktor daya.
Adapun tujuan dilakukan pengiriman tiga parameter listrik pada setiap paket data akan mempercepat proses pengiriman dimana hanya dilakukan dua kali pengiriman untuk semua parameter. Dapat dilihat pada hasil screenshot dibawah ini yang merupakan respon serial monitor saat proses pengiriman data ke server.
Gambar diatas terlihat tampilan serial monitor pada pc, dimana dimulai dari menghubungkan dengan koneksi wifi hingga proses pengiriman, terlihat pada awal pengiriman data semua parameter bernilai kosong atau garis strip dimana pada saat itu belum ada data yang di terima melalui komunikasi serial oleh wemos dari arduino.
Pada pengiriman data yang kedua terlihat data yang di kirim ke server firebase sesuai dengan data yang diterima oleh wemos, ada dua paket data yang di kirim selalu dipisah dengan huruf V untuk tegangan, I untuk arus, P untuk daya aktif, Q untuk daya reaktif, S daya semu, PF faktor daya dan diakhiri dengan tanda bintang *. Huruf - huruf tersebut dimaksud sebagai pemisah antar data untuk melakukan proses parsing pada aplikasi android.
Gambar diatas merupakan hasil dari percobaan ini, dimana wemos terhubung dengan koneksi internet dan berhasil mengirimkan data ke server, data yang ditampilkan pada server merupakan data yang terakhir dikirim.
Aplikasi Android
Aplikasi android dibuat dengan menggunakan MIT App Inventor 2 yang merupakan aplikasi berbasis web open source. Untuk tampilan aplikasi yang telah dibuat dapat dilihat sebagai berikut.
Gambar diatas merupakan tampilan aplikasi android yang telah dibuat, tampilan awal aplikasi adalah login dengan pin untuk masuk ke tampilan utama aplikasi, pada tampilan utama aplikasi merupakan tampilan monitoring pengukuran daya dan terdapat dua tombol kendali on-off stop kontak.
Jika ada yang ingin ditanyakan silahkan tinggalkan komentar atau untuk informasi lebih lanjut mengenai project ini agar dapat menghubungi saya.