BAB III
PERANCANGAN SISTEM
Pada bab ini penulis akan menjelaskan mengenai perancangan dan realisasi purwarupa sistem. Bahasan perancangan dimulai dengan penjelasan alat secara keseluruhan yaitu penjelasan singkat bagaimana alat bekerja.
Pembahasan selanjutnya mengenai penjelasan perancangan perangkat keras meliputi sistem elektronik yaitu penjelasan perancangan mikrokontroler pada sistem yang akan dibuat serta komponen lain yang terhubung dengan mikrokontroler dan maket rumah sebagai sarana simulasi sistem.
Kemudian pembahasan diakhiri dengan penjelasan dari perancangan perangkat lunak. Perangkat lunak terdiri dari program pada mikrokontroler untuk mengolah data yang berasal dari ThingSpeak, serta perancangan perangkat lunak pada smartphone Android untuk komunikasi data dengan ThingSpeak.
3.1. Gambaran Alat
Sistem yang dirancang oleh penulis adalah alat untuk menghidupkan dan memadamkan lampu serta membuka kunci pintu dengan cara menempelkan smartphone Android pada NFC tag. Alat yang dirancang akan digunakan sebagai salah satu dari komponen home automation pada rumah dan membutuhkan koneksi internet sebagai jalur komunikasi pengiriman perintah.
Sistem yang dirancang terdiri dari tiga bagian, yaitu sistem elektronik, maket rumah sebagai sarana simulasi sistem, dan algoritma komunikasi data pada Android. Sistem elektronik terdiri dari komponen-komponen elektronik dan mikrokontroler sebagai pengendali utama.
Pada maket rumah terdapat saklar yang digunakan sebagai metode alternatif dalam menggantikan fungsi smartphone untuk menghidupkan atau memadamkan lampu secara manual apabila terjadi ketiadaan atau gangguan pada akses internet. Kemudian, dalam membuat dan mengembangkan algoritma komunikasi data penulis menggunakan Tasker pada smartphone Android.
Gambar 3.1. Diagram Blok Keseluruhan Sistem.
Ketika alat dihidupkan, alat akan terhubung dengan jaringan WiFi yang sudah ditentukan untuk memperoleh akses internet. Setelah itu, alat akan melakukan komunikasi dengan ThingSpeak. Kemudian alat sudah siap untuk mengolah perintah yang dikirimkan ke ThingSpeak. Perintah akan dikirimkan setiap kali smartphone membaca NFC tag. Smartphone yang digunakan adalah smartphone Android yang memiliki konektivitas NFC.
NFC tag diletakkan tersebar pada beberapa bagian rumah. Yang pertama adalah di bagian luar dan dalam pintu, yaitu untuk membuka kunci pintu. Kemudian NFC tag yang lain diletakkan pada ruangan dalam rumah untuk mengontrol lampu-lampu. Setiap NFC tag memiliki ID masing-masing yang digunakan untuk memanggil algoritma yang dirancang menggunakan Tasker pada smartphone Android. Kemudian smartphone digunakan sebagai reader untuk membaca NFC tag yang terpasang di beberapa bagian rumah tersebut, lalu mengirimkan data ke server melalui internet untuk berkomunikasi dengan mikrokontroler. Mikrokontroler yang digunakan adalah Wemos.
Wemos yang sudah dihubungkan ke internet akan mengambil nilai dari server untuk menentukan perintah yang harus dijalankan, misalnya menghidupkan atau memadamkan lampu atau membuka kunci pintu. Jika perintah tersebut sudah berhasil dijalankan, Wemos akan mengirimkan informasi ke server tentang kondisi terbaru. Kemudian smartphone akan melakukan proses cek kondisi terbaru ke server dan ditampilkan dalam bentuk notifikasi pada layar smartphone.
3.2. Perancangan Perangkat Keras
Perangkat keras pada rancangan skripsi ini meliputi kelistrikan sistem dan rancangan maket rumah. Rancangan maket rumah memiliki dimensi ukuran panjang 30 cm dan lebar 25 cm. Rancangan maket rumah ini digunakan untuk simulasi penggunaan sistem alat. Rancangan maket ini ditunjang dengan perangkat elektronik yang digunakan untuk penunjang perancangan. Adapun perangkat yang digunakan yaitu:
Mikrokontroler Wemos D1 Mini.
Power supply switching 12V dan buck converter.
Modul Relay dan XOR Gate.
Solenoid door lock, saklar SPST, lampu AC 220V, dan magnetic switch.
NFC tag.
Gambar 3.3. Realisasi dari Kelistrikan Sistem.
Pada perancangan skripsi ini, power supply, buck converter, mikrokontroler, IC 74LS86, dan modul relay disusun menjadi satu dalam sebuah box. Kemudian lampu, saklar, magnetic switch, dan solenoid door lock terdapat pada maket rumah.
Gambar 3.5. Realisasi dari Maket Rumah.
Keterangan gambar : Ukuran maket rumah :
1. Lampu halaman.
2. Lampu ruang tamu. Panjang = 30 cm 3. Lampu kamar. Lebar = 25 cm 4. Lampu tidur.
5. Solenoid door lock. 6. Magnetic switch. 7. Saklar lampu.
3.3. Perancangan Elektronika
Mikrokontroler Wemos D1 Mini.
Modul Relay dan XOR Gate.
Solenoid door lock, saklar SPST, lampu AC 220V, dan magnetic switch.
3.3.1 Pengendali Utama
Pengendali Utama untuk sistem alat menggunakan Wemos D1 Mini yang merupakan mikrokontroler dengan konektivitas WiFi berbasis ESP8266EX. Sebagai pengendali utama pada sistem alat, tugas dari mikrokontroler antara lain:
Melakukan komunikasi dengan ThingSpeak melalui internet yang diperoleh dari jaringan WiFi.
Menerima data dari ThingSpeak berupa array alamat dan data.
Menentukan alamat perangkat dan membandingkan dengan yang diterima dari ThingSpeak.
Mengolah data yang diperoleh dari ThingSpeak untuk meneruskan perintah ke lampu tujuan.
Menerima data balikan dari lampu untuk mengetahui kondisi lampu.
Mengirimkan data balikan ke ThingSpeak dalam bentuk array alamat dan data terbaru setiap kali kondisi lampu berganti.
Membandingkan kondisi magnetic switch ketika sedang terpisah atau tergabung.
Tabel 3.1. Konfigurasi Pin Wemos D1 Mini.
3.3.2 Konfigurasi Modul Relay, Saklar, 74LS86 dan Mikrokontroler
Untuk dapat menghidupkan atau memadamkan lampu serta kunci pintu, digunakan modul relay yang menjadi penghubung antara sumber listrik tegangan tinggi ke beban yang dikendalikan oleh tegangan listrik yang kecil dari mikrokontroler.
Kemudian, IC 74LS86 yang merupakan gerbang XOR digunakan agar lampu dapat dikendalikan bersamaan melalui saklar maupun smartphone ketika membaca NFC tag. Tujuan tersebut dapat diperoleh dengan cara menghubungkan mikrokontroler dan saklar sebagai input pada gerbang XOR dan kemudian output gerbang XOR dihubungkan ke modul relay.
Gambar 3.6. Konfigurasi Mikrokontroler, 74LS86, dan Modul Relay.
Gambar 3.7. Konfigurasi Mikrokontroler, 74LS86, dan Saklar. 3.3.3 Konfigurasi Feedback
Konfigurasi feedback berfungsi untuk memberitahu mikrokontroler tentang kondisi lampu dengan cara menghubungkan output dari 74LS86 sebagai input pada mikrokontroler. Modul relay merupakan active low, yang berarti modul relay akan aktif ketika mendapat logika LOW. Apabila mikrokontroler mendapat logika LOW pada konfigurasi feedback, maka mengindikasikan bahwa lampu sedang dalam kondisi hidup karena relay aktif dan begitu pula sebaliknya.
3.3.4 Konfigurasi Lampu dan Solenoid Door Lock
Lampu yang dikendalikan pada skripsi ini adalah lampu AC 220V sehingga menggunakan sumber listrik PLN untuk menghidupkan lampu. Fasa sumber listrik PLN dihubungkan ke pin COM pada relay, kemudian lampu dihubungkan ke pin normally open pada relay. Sisi ground pada lampu dijadikan satu dan kemudian dihubungkan ke ground sumber listrik PLN. Lampu akan hidup ketika relay aktif dan begitu pula sebaliknya.
Gambar 3.9. Konfigurasi Lampu.
Kemudian untuk menghidupkan solenoid door lock diperlukan tegangan DC 12V yang diperoleh dari power supply switching. Kutub positif 12V dari power supply dihubungkan ke pin COM pada relay, kemudian kabel positif solenoid door lock dihubungkan ke pin normally open pada relay. Kutub negatif dari power supply dihubungkan ke kabel negatif solenoid door lock. Solenoid door lock akan menarik lidah kunci ketika relay aktif dan begitu pula sebaliknya.
3.3.5 Konfigurasi Magnetic Switch
Perbedaan konfigurasi magnetic switch dan konfigurasi saklar pada skripsi ini adalah koneksi langsung antara magnetic switch ke mikrokontroler dan tidak ke 74LS86. Apabila kedua kutub berdekatan, maka mikrokontroler mendapat logika HIGH, dan sebaliknya jika kedua kutub terpisah maka mikrokontroler mendapat logika LOW karena adanya resistor pull-down yang terhubung ke ground.
Gambar 3.11. Konfigurasi Magnetic Switch.
3.4. Perancangan Perangkat Lunak
Pada bagian ini akan dijelaskan mengenai perancangan perangkat lunak yang digunakan untuk membuat skripsi ini. Perancangan perangkat lunak pada skripsi ini dibagi menjadi dua bagian utama yaitu perangkat lunak pada mikrokontroler dan perangkat lunak pada smartphone Android yang dibuat menggunakan Tasker.
3.4.1 Program Mikrokontroler Wemos D1 Mini
Mikrokontroler Wemos D1 Mini diprogram agar bekerja sebagai pengendali sistem yang berfungsi melakukan komunikasi dengan server ThingSpeak untuk membaca data dan melakukan perintah yang kemudian akan mengirim kembali data terbaru ke ThingSpeak.
mikrokontroler akan melakukan koneksi terhadap ThingSpeak untuk membaca data lalu menunggu hingga terjadi perubahan data yang dilakukan oleh pengguna. Ketika terjadi perubahan data, mikrokontroler akan mengambil data terbaru dan meneruskan perintah ke relay yang dituju sesuai data yang diterima. Setelah itu mikrokontroler akan mengisi variabel status dengan nilai terbaru dan mengirimkan status tersebut ke ThingSpeak yang akan dimanfaatkan oleh pengguna untuk mengetahui kondisi terbaru melalui smartphone.
Berikut adalah diagram alir program pada mikrokontroler:
3.4.2 Program Smartphone Android Menggunakan Tasker
Yang dimaksud dengan program pada smartphone di sini adalah kumpulan task dan action yang dibuat menggunakan Tasker untuk dilakukan oleh smartphone. Perancangan dimulai dengan membuat task untuk setiap aktivitas yang dapat dilakukan misalnya untuk menghidupkan lampu halaman, lampu tidur, dan seterusnya. Kemudian di dalam task tersebut dibuat serangkaian action yang akan terlaksana apabila task dijalankan. Action tersebut akan membuat smartphone melakukan hal-hal sesuai urutan yang telah dirancang seperti sebuah alur program.
Secara garis besar, pada skripsi ini program yang dirancang dengan Tasker adalah untuk melakukan komunikasi dengan server yaitu mengirimkan nilai data dan membaca nilai data yang terdapat pada ThingSpeak untuk melakukan aktivitas menghidupkan atau memadamkan lampu dan membuka kunci pintu serta mengetahui kondisi lampu yang akan ditampilkan pada layar smartphone.
Dapat dilihat pada Gambar 3.13 bahwa penulis juga membuat task yang diberi nama wait interval yaitu untuk mengantisipasi penolakan data akibat waktu tunda 15 detik yang merupakan batasan oleh free-account ThingSpeak dan kemudian diakhiri dengan task yang diberi nama set timestamp untuk mencatat waktu ke variabel yang akan dijadikan sebagai acuan interval berikutnya. Kedua task ini digunakan pada setiap task aktivitas pengendalian lampu dan kunci pintu. Dapat dilihat salah satu contoh pada gambar di bawah ini yang merupakan isi dari task pengendalian lampu halaman.
Setelah melakukan wait interval, kemudian dilanjutkan dengan melakukan flash berupa teks ke layar smartphone. Hal ini dilakukan sebagai indikator agar pengguna mengetahui bahwa task lampu halaman berhasil dan sedang dijalankan. Selanjutnya adalah action untuk melakukan pengiriman nilai data ke server.
Berikut adalah diagram alir program yang dibuat pada Tasker:
Gambar 3.15. Diagram Alir Pengiriman Data pada Tasker.
3.4.3 Sistem Pengaksesan Alamat Alat Melalui Smartphone
Gambar 3.16. Tampilan Variabel pada Tasker.
Gambar 3.17. Tampilan Action Array Set pada Tasker.
3.4.4 Sistem Pengecekan Kondisi Melalui Smartphone
Sistem ini dirancang agar pengguna dapat melakukan pengecekan terhadap kondisi terbaru. Hal ini dapat diperoleh dengan melakukan HTTP Get ke ThingSpeak untuk mendapatkan nilai terbaru yang telah dikirim oleh mikrokontroler ke ThingSpeak. Penulis menggunakan action HTTP Get pada Tasker untuk melakukan hal tersebut. Kemudian nilai yang sudah diperoleh dari ThingSpeak tersebut disimpan ke dalam sebuah file berformat .txt pada smartphone. Penulis memberi nama file tersebut dengan nama status.txt.
Gambar 3.18. Tampilan Aplikasi File Manager pada Smartphone.
Setelah melakukan HTTP Get terhadap ThingSpeak dan file sudah terbentuk, maka dilakukan pembacaan isi dari file status.txt tersebut dan dapat dilihat isi file pada gambar di atas. Angka 1 pada digit pertama mewakili kondisi lampu pertama, dan begitu seterusnya hingga angka 1 pada digit terakhir yang merupakan kondisi dari kunci pintu. Namun bentuk data masih tergabung menjadi satu dalam file sehingga perlu untuk dipisahkan.
Lalu pada Tasker dilakukan pemisahan untuk nilai kondisi terhadap teks
“Status Output” pada isi file dengan menggunakan action variabel split. Dengan
hal ini, diperoleh nilai kondisi tanpa teks dan kemudian dipisahkan lagi untuk tiap-tiap lampu dan kunci pintu menggunakan action variable section yang disimpan menjadi masing-masing variabel kondisi atau status untuk ditampilkan ke layar smartphone pada tahap selanjutnya.
Gambar 3.20. Tampilan Action HTTP Get dan Pemisahan Kondisipada Tasker.
Gambar 3.21. Tampilan Action Popup pada Tasker.
Setelah mengisi action Popup dan kemudian task notifikasi dijalankan maka akan menampilkan hasil seperti pada Gambar 3.22 yang merupakan tampilan status atau kondisi tiap-tiap lampu dan kunci pintu.
3.4.5 Mode Tidur dan Mode Pergi
Mode tidur dan mode pergi dibuat untuk memudahkan pengguna, di mana ketika smartphone membaca NFC tag yang berisi fungsi mode tidur maka semua lampu akan padam kecuali lampu halaman dan lampu tidur akan hidup dalam sekali langkah. Kemudian untuk mode pergi, ketika smartphone membaca tag yang berisi fungsi mode pergi maka kunci pintu akan terbuka dan semua lampu akan padam sekaligus. Dengan mode tidur ini maka pengguna tidak perlu beranjak dari tempat tidur untuk memadamkan tiap-tiap lampu lalu menghidupkan lampu tidur secara manual dan dengan mode pergi pengguna tidak perlu memadamkan tiap-tiap lampu dan membuka kunci pintu ketika ingin beranjak pergi meninggalkan rumah karena dapat dilakukan dalam satu kali langkah.
Ketika smartphone membaca tag mode tidur atau mode pergi yang terjadi adalah smartphone melakukan action HTTP get untuk memperoleh nilai kondisi terakhir pada ThingSpeak. Dapat dilihat pada Gambar 3.23 dan Gambar 3.24, pada action nomor 3 bahwa mode tidur dan mode pergi melakukan fungsi Get from Thingpeak Kondisi setelah menunggu waktu interval seperti pada task lain nya. Fungsi tersebut adalah sama dengan fungsi yang digunakan pada sistem pengecekan kondisi. Dapat disebutkan bahwa untuk melakukan mode tidur dan mode pergi terjadi pengambilan nilai kondisi terlebih dahulu. Kemudian pada action nomor 4, nilai kondisi yang telah diperoleh dari action sebelumnya diproses untuk menentukan nilai data yang akan dikirim kembali ke ThingSpeak.