19
BAB III
PERANCANGAN SISTEM
Pada bab ini, akan dijelaskan tentang perancangan perangkat keras sistem yang telah dibuat.
3.1 Gambaran Sistem
Berikut merupakan blok diagram dari alat yang telah dibuat :
Gambar 3.1 Diagram Blok Sistem Utama
Berdasarkan Gambar 3.1, sistem utama menggunakan sebuah Arduino Nano sebagai kontroler utama. Alat ini menggunakan sebuah accu sebagai sumber tegangan agar sistem bisa bekerja. Sebelum terhubung ke Arduino, tegangan 12V accu dikonversi dahulu menggunakan sebuah UBEC sehingga tegangan menjadi 5V. Namun pengguna bisa menggunakan port MicroUSB pada sistem utama sebagai media sumber daya eksternal. Dalam hal ini bisa menggunakan sumber daya 5V lainnya, contohnya adalah powerbank.
20
Sistem utama memiliki beberapa masukan beberapa modul seperti modul NFC PN532, Bluetooth HC-05, rotary encoder , dan juga saklar. Modul NFC PN532 terhubung dengan sebuah Arduino Nano yang kemudian dari pembacaan UID dari tag ataupun kartu NFC tersebut maka diambil sebuah keputusan agar sistem utama membuat tuas kunci stang akan terbuka dan kontak akan aktif ketika nilai UID yang terbaca sama dengan nilai UID bawaan sistem maupun UID yang telah disimpan sebelumnya. Apabila UID tidak terbaca ataupun tidak sesuai, maka yang akan bekerja selanjutnya adalah modul Bluetooth HC-05.
Modul Bluetooth HC-05 akan menghubungkan antara sistem utama dengan remot melalui jaringan Bluetooth. Sebelumnya HC-05 telah diatur konfigurasinya menggunakan AT Command, khususnya pada command “AT+INQM=0,5,9”. Command ini bertujuan agar HC-05 membaca perangkat Bluetooth sebanyak lima buah selama maksimal 9 detik. Tujuannya adalah agar HC-05 (pada sistem utama) walaupun didaerah tertentu banyak koneksi Bluetooth, namun tetap mencari sebanyak lima perangkat sehingga HC-06 (pada sistem remot) setidaknya bisa masuk pada list lima perangkat tersebut. Apabila remot langsung terdeteksi dan terkoneksi maka HC-05 tidak perlu menunggu selama 9 detik untuk terhubung dengan HC-06 (pada sistem remot). Kemudian pada HC-05 juga telah diatur menggunakan command “AT+CMODE=1” agar hanya terkoneksi dengan perangkat yang sebelumnya sudah terhubung ( HC-06 ), apabila tidak pernah terhubung sebelumnya maka perangkat lain tidak dapat terhubung dengan HC-05 (sistem utama). Selain itu apabila remot tetap tidak terbaca oleh sistem utama maka HC-05 pada sistem utama akan terus mencari dan berusaha pairing dengan HC-06 pada remot.
Remot akan memberikan data ke sistem utama berupa data String dengan urutan
“<”, “nilai password”, “nilai persentase baterai”, “nilai command”, “>”
secara bersamaan ( misal : <12340751> , ini berarti nilai passwordnya adalah 1234, persentase baterai sebesar 75% dan nilai commandnya adalah 1 ) , kemudian sistem utama akan mengolah data tersebut menjadi beberapa bagian, yaitu nilai password, nilai persentase baterai dan nilai perintah, lalu dibandingkan dengan nilai yang sudah ada pada sistem utama. Apabila sesuai maka sistem utama akan menjalankan berdasarkan perintah yang sudah diatur pada koding.
21
Untuk sistem yang menggunakan NFC, sistem utama membaca UID dari kartu atau tag NFC, kemudian diubah menjadi data Array ( dikarenakan String numeric tidak bisa dibandingkan secara langsung ), setelah itu nilai yang sudah diubah tadi dibandingkan dengan nilai dari EEPROM yang sebelumnya sudah diubah menjadi data Array juga (karena keluaran dari EEPROM bernilai String).
Apabila nilai password sesuai maka akan dilanjutkan dengan mengolah perintah dari remot. Kemudian dari perintah tersebutlah diambil sebuah keputusan apakah sistem akan membuka tuas kunci, menutup tuas kunci, atau hanya membunyikan buzzer pada sistem. Dalam membuka tuas kunci menggunakan sebuah servo yang dikaitkan dengan tuas bawaan kunci yang telah dilakukan beberapa modifikasi bentuk tanpa adanya perubahan struktur bawaan dari bahan aslinya (bagian logam kunci kontak konvensional).
Pada pengoperasian sistem digunakan sebuah rotary encoder yang bekerja berdasarkan arah poros putarnya. Sebelum menggunakan alat ini sistem terlebih dahulu akan membaca apakah UID NFC telah di tap pada modul NFC PN532 dan sesuai dengan UID bawaan maupun yang telah ditambahkan sebelumnya. Apabila tidak maka rotary encoder tidak akan bekerja walaupun sudah diputar porosnya. Pada alat sistem utama menggunakan tiga buah posisi yaitu kiri (berlogika -1), tengah (berlogika 0), dan kanan (berlogika 1).
Pada saat rotary encoder diposisi kiri (berlogika -1 dan LED mati ), tuas kunci stang akan pada posisi tertutup (digerakan oleh servo dengan sudut yang telah ditetapkan) dan sambungan kabel kontak motor akan terputus dengan sebuah relay.
Pada saat rotary encoder diposisi tengah (berlogika 0 dan LED berwarna cyan), Arduino pada sistem utama akan membaca dan mengambil keputusan berdasarkan hasil pembacaan modul NFC PN532 dan Bluetooth HC-05. Kemudian hasil keputusan tersebut diproses dengan keluaran berupa perubahan warna LED RGB, sudut servo ( akan berpengaruh apakah tuas kunci stang terbuka atau tertutup, dan juga relay.
Pada saat rotary encoder diposisi kanan (berlogika 0 dan LED berwarna biru apabila ditekan sekali), maka Arduino pada sistem utama akan masuk ke mode penambahan UID NFC dan akan mengambil keputusan agar UID disimpan kedalam EEPROM Arduino. Namun dalam prosesnya, memiliki beberapa syarat yakni pada saat
22
pembacaan NFC sebelumnya haruslah NFC bawaan yang di tap. Apabila bukan bawaan maka user tidak dapat melakukan penambahan.
Gambar 3.2 Diagram Blok Sistem Remot
Berdasarkan Gambar 3.2 , Sistem remot sistem utama menggunakan sebuah Arduino Nano sebagai kontroler utama. Alat ini menggunakan sebuah baterai berkapasitas 1200mAh sebagai sumber tegangan agar sistem bisa bekerja. Sebelum terhubung ke Arduino. Sistem remot memiliki dua buah tombol yang berfungsi sebagai pemberi perintah yang nantinya akan dikirimkan melalui konektivitas Bluetooth dari HC-06 dan juga sebuah saklar yang berfungsi untuk memutus-hubungkan tegangan dengan semua komponen modul yang berada didalam remot ( sebagai switch ON/OFF ). Sistem remot juga mampu di isi ulang melalui port microUSB dari modul TP4056.
Untuk mengetahui berapa lama alat baik sistem utama maupun remot dapat bekerja maka menggunakan rumus sebagai berikut :
𝑡𝑠𝑏 = 𝐶𝑏
𝑊𝑠𝑏 ..………..(3.1)
𝑡𝑓𝑙 = 𝐶𝑏
23 Keterangan : 𝑡𝑠𝑏= waktu standby (jam)
𝑡𝑓𝑙= waktu daya penuh (jam)
𝐶𝑏= Kapasitas Baterai (W.h)
𝑊𝑠𝑏= daya standby (W)
𝑊𝑓𝑙= daya full load (W)
Selain itu untuk mengetahui berapa lama pengecasan baterai pada sistem remot dapat menggunakan rumus sebagai berikut :
𝑡𝑐 = 𝐶𝑏
𝑊𝑡𝑝 ..………...(3.3)
Keterangan : 𝐶𝑏= Kapasitas baterai (W.h).
𝑊𝑡𝑝= daya keluaran dari modul TP4056 (W).
𝑡𝑐=durasi pengecasan (jam).
Kemudian pada remot juga bisa mengukur tegangan pada baterai remot dan mengirimkan nilai persentase tegangannya ke sistem utama agar pengguna bisa mengetahui apabila muatan baterai pada remot hampir habis dengan indikator LED yang akan berkedip berwarna merah pada indikator sistem utama.
24
3.2 Perancangan Perangkat Keras
3.2.1 Mekanik Alat
Gambar 3.3 Gambaran Sistem Utama
25
3.2.2 Sistem Elektrik 3.2.2.1 Arduino Nano
Pada perancangan ini Arduino terhubung dengan modul NFC, Bluetooth, rotary encoder maupun beberapa komponen pasifnya. Arduino sendiri diberi sumber daya dari accu yang terhubung UBEC sehingga tegangan yang tadinya 12V diubah menjadi 5V.Konfigurasi pinnya sebagai berikut:
Tabel 3.1 Konfigurasi Pin Arduino Nano Pada Sistem Utama Nomor Pin Fungsi
D2 RX Pin HC-05
D3 TX Pin HC-05
D4 Relay Kabel Kontak
D5 CLK Pin Rotary
D6 DT Pin Rotary
D7 State Pin HC-05
D8 SW Pin Rotary
D9 Servo Tuas Kunci Stang
D10 LED Hijau
D11 LED Biru
D12 LED Merah
D13 Buzzer
Vin Pin Out + dari UBEC
26
Tabel 3.2 Konfigurasi Pin Arduino Nano Pada Sistem Remot
Nomor Pin Fungsi
D3 RX Pin HC-05
D4 TX Pin HC-05
D8 Tombol Menyalakan Buzzer
D9 Tombol Matikan dan Kunci Stang Paksa
A3 Pin Input Pembaca Tegangan
3.2.2.2 Modul Bluetooth Pada Sistem Utama
Pada sistem utama memakai modul Bluetooth HC-05 sebagai media konektivitas, berikut adalah gambar rangkaian modul Bluetooth HC-05 yang tersambung Arduino :
Gambar 3.5 Skematik Arduino Nano Yang Terhubung HC-05
Berdasarkan skematik diatas, pin RXD dilakukan pembagi tegangan dikarenakan HC-05 membutuhkan 0 – 3,3V sebagai logic level pada pin RXD. Oleh karena itu penggunaan resistor 1KΩ dan 2KΩ pada rangkaian pembagi tegangan tersebut akan menghasilkan keluaran sebesar 3,3V ( Hal ini
27
dikarenakan pin D2 arduino memiliki tegangan 0 – 5V). Apabila tidak ada penambahan pembagi tegangan tersebut maka HC-05 tidak akan bertahan lama (akan cepat rusak). Berikut adalah konfigurasi pinnya :
Tabel 3.3 Konfigurasi Nano Dengan HC-05 Pin Arduino Pin HC-05
2 Pembagi tegangan dari RXD
3 TXD
7 State
Sebelumnya HC-05 sudah diatur melalui AT Command agar hanya terhubung dengan HC-06 pada remot. AT Command dimasukan melalui serial monitor aplikasi Arduino.ide . Berikut adalah urutan dalam konfigurasi AT Command nya ;
1. Atur agar baudrate HC-05 dan HC-06 sama. Pada HC-05 bisa diatur dengan perintah “ AT+UART =9600 ”, sedangkan pada HC-06 dengan perintah “ AT+BAUD4 ”. 2. Atur agar password HC-05 dan HC-06 sama. Pada HC-05
bisa diatur dengan perintah “ AT+PSWD =1234 ”, sedangkan pada HC-06 dengan perintah “ AT+PIN1234 ”. 3. Atur agar HC-05 dijadikan sebagai master dengan
perintah “AT+ROLE=1”.
4. Atur agar HC-05 dapat terhubung dengan berbagai perangkat Bluetooth dengan perintah “AT+CMODE=0”. 5. Atur agar HC-05 hanya mendeteksi perangkat maksimal
sebanyak lima perangkat dengan durasi 9 detik dengan perintah “AT_INQM=0,5,9”.
6. Masukan perintah “AT+INQ” agar perangkat Bluetooth yang terbaca dapat dilihat alamatnya. Kemudian catat alamat HC-06 yang terbaca.
7. Masukan perintah “AT+PAIR=<alamat HC-06 yang terbaca>” untuk pairing dengan HC-06.
28
8. Masukan perintah “AT+BIND=<alamat HC-06 yang terbaca>” untuk binding HC-06 dengan HC-05.
9. Atur agar HC-05 pada sistem agar hanya terhubung dengan HC-06 dengan perintah “AT+CMODE=1”.
10. Masukan perintah “AT+LINK=<alamat HC-06 yang terbaca>” untuk mengoneksikan HC-05 dengan HC-06. Setelah memasukan konfigurasi diatas, HC-06 pada remot akan terhubung otomatis dengan HC-05 pada sistem utama (tanpa memasukan ulang perintah melalui serial monitor). Indikator jika keduanya terhubung adalah pada LED modul HC-06 tidak akan berkedip sama sekali (jika terputus atau tidak terhubung maka LED pada HC-06 akan berkedip terus menerus).
3.2.2.3 Modul NFC Pada Sistem Utama
Gambar 3.6 Skematik Arduino Nano Yang Terhubung modul NFC
Pada sistem utama menggunakan modul NFC yang digunakan untuk sensor pembaca UID dari NFC (digunakan untuk media buka kunci stang). Modul ini sendiri memiliki beberapa mode komunikasi, yakni melalui mode HSU (High Speed UART), I2C, maupun SPI. Penulis sendiri menggunakan mode HSU. Berikut adalah konfigurasi pinnya :
29
Tabel 3.4 Konfigurasi Nano Dengan NFC PN532. Pin Arduino Pin NFC PN532
RX TX / SDA
TX RX / SCL
Alur kerja modul NFC terhadap sistem utama bisa digambarkan sebagai berikut;
Gambar 3.7 Alur Proses Setelah Pembacaan NFC Terhadap Sistem Utama. Konversi dilakukan karena data String tidak dapat dibandingkan dengan sebuah String. Oleh karena itu setelah pembacaan UID NFC maupun data UID yang tersimpan pada EEPROM dilakukan konversi terlebih dahulu ke long integer. Hal tersebut dikarenakan kedua data berbentuk String. Pada pembacaan NFC menggunakan library 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 UID kartu NFC “123456789” Terbaca “123456789” pada arduino
Data UID dimasukan kedalam String Array
Nilai String Array dikonversi menjadi long integer
Nilai long integer dibandingkan nilai UID yang sudah dijadikan sebagai UID kunci
NFC ditap atau didekatkan pada modul NFC sistem utama
123456789 0101 0001 1101 1100 1011 0101 0111
30
bawaan yang disediakan pada situs resmi Elechouse selaku pembuat modul NFC yang penulis pakai.
3.2.2.4 Rangkaian Pada Relay
Pada sistem utama menggunakan sebuah relay 5V untuk memutus-hubungkan kabel kontak motor, dikarenakan tidak menggunakan modul relay yang sudah jadi maka dibutuhkan sebuah rangkaian dengan menggunakan komponen seperti transistor BC548 (NPN) dan resistor 1kΩ. Pemberian resistor 1kΩ diberikan karena pada saat perancangan penulis hanya memiliki resistor 1kΩ, selain itu karena hasil perhitungan dari rumus ;
Rb =
𝑉𝑏𝑏 −𝑉𝑏𝑒
𝐼𝑏 ………..(3.4)
Keterangan : Vbb = Tegangan pada kaki basis transistor.
Vbe = Tegangan diantara kaki basis dan emitor transistor. Ib = Arus pada kaki basis transistor.
Rb = nilai hambatan pada kaki basis.
menghasilkan nilai Rb sebesar 8,6kΩ (bisa dipasang dengan resistansi lebih kecil), apabila nilai resistansi lebih besar dari 8,6kΩ maka Ib (arus dikaki basis) semakin kecil. Gerbang basis transistor akan terbuka jika Vbe > 0,55 V dan Ib > 0,5 mA. Berikut adalah rangkaiannya :
Gambar 3.8 Rangkaian Relay Yang Terhubung Dengan Arduino. B
C
31
Pada saat Arduino memberikan logika LOW, maka tidak akan membuka gerbang basis pada transistor menjadikan kaki transistor pada C dan E tidak terhubung sehingga relay ON ( kabel kontak tidak terhubung ), jika Arduino memberikan logika HIGH, maka akan membuka gerbang basis pada transistor menjadikan kaki transistor pada C dan E terhubung sehingga relay ON ( kabel kontak terhubung ).
3.2.3 Perangkat Lunak
Pada perancangan skripsi ini menggunakan dua buah sistem yakni sistem utama dan remot. Berikut adalah perangkat lunak pada sistem utama dan remot :
3.2.3.1 Sistem Utama
32
Gambar 3.10 Diagram Alir Sistem Utama Alat Bagian Kedua.
Penjelasan diagram alir perangkat lunak pada sistem utama: 1. Program akan berjalan saat Arduino diberi sumber daya. 2. Arduino akan membaca nilai UID dengan modul NFC PN532.
3. Jika UID sama dengan nilai UID yang tersimpan di Arduino,maka akan membuka tuas kunci dan menyambung sambungan kabel kontak motor dengan relay, kemudian akan membaca posisi rotary encoder. Apabila UID tidak sama maka sistem menunggu terhubung dengan remot.
4. Apabila rotary encoder diputar kekiri hingga LED mati, maka sistem akan mengunci tuas kunci stang dan memutus sambungan kabel kontak dengan relay.
5. Apabila rotary encoder diputar kekanan hingga LED hijau, maka sistem akan masuk dalam mode tambah NFC.
6. Apabila saat dalam mode tambah NFC knob ditekan empat kali maka LED akan berwarna merah yang menandakan jika penekanan selanjutnya adalah penyimpanan NFC pada slot pertama.
33
7. Apabila saat dalam mode tambah NFC knob ditekan sembilan kali maka LED akan berwarna jingga yang menandakan jika penekanan selanjutnya adalah penyimpanan NFC pada slot kedua.
8. Pada saat LED berwarna merah ataupun jingga disarankan agar menempelkan kartu atau tag NFC pada sensor kemudian tekan knob sekali maka UID akan tersimpan (buzzer akan bunyi sebagai indikator).
9. Jika knob ditekan sekali pada saat LED berwarna merah ataupun jingga, maka nilai UID akan tersimpan pada EEPROM Arduino.
10. Pada koding dituliskan pada penekanan ke lima dan 10 lah nilai UID disimpan, namun dikarenakan proses penyimpanan yg berjalan sekali saja dan cukup cepat, maka penulis menyarankan agar menempelkan kartu atau tag pada penekanan sebelumnya, dan juga memberikan sebuah indikator warna pada LED agar mempermudah prosesnya.
11. Jika knob tidak diputar, maka Arduino akan membaca posisi rotary encoder. 12. Pada saat remot terhubung, Arduino akan membaca data yang dikirimkan oleh
remot. Data tersebut berisikan password, perintah, dan juga nilai tegangan baterai remot.
13. Jika password sesuai, maka Arduino akan menunggu perintah dari remot. Apabila tombol yang memerintah sistem utama agar mengunci paksa stang ditekan maka variable “keluaran_command” bernilai 1, Jika tombol agar menyalakan buzzer pada sistem utama ditekan maka variable “keluaran_command” bernilai 2, Apabila tidak ada tombol remot yang ditekan atau menekan tombol 1 atau 2 dua kali maka variable “keluaran_command” bernilai 0.
14. Pada saat (variable “keluaran_command” bernilai 1) maka LED akan mati dan Arduino akan membuat tuas kunci stang menutup dan memutuskan sambungan kabel kontak.
15. Pada saat (variable “keluaran_command” bernilai 2) maka Arduino akan membuat buzzer menyala secara terus-menerus.
16. Pada saat (variable “keluaran_command” bernilai 0) maka membuat Arduino dalam keadaan seperti sebelumnya (tuas kunci terbuka dan sambungan kabel kontak terhubung) dan LED akan berwarna hijau.
34
17. Ketika remot tidak terhubung maka Arduino membuat agar tuas kunci stang tertutup dan sambungan kabel kontak diputuskan dengan sebuah relay dan LED kembali berwarna biru (dalam mode standby).
3.2.3.2 Sistem Remot
Gambar 3.11 Diagram Alir Sistem Remot.
Penjelasan diagram alir perangkat lunak pada sistem utama: 1. Program akan berjalan saat Arduino diberi sumber daya. 2. Arduino akan membaca kondisi pin.
35
3. Apabila pin yang terhubung tombol alarm (nyalakan buzzer) maka Arduino akan mengirimkan data (formatnya sama hanya saja nilai commandnya berganti menjadi 2) sistem utama melalui modul Bluetooth HC-05.
4. Apabila pin yang terhubung tombol matikan (mengunci stang dan mematikan motor) maka Arduino akan mengirimkan data (formatnya sama hanya saja nilai commandnya berganti menjadi 1) sistem utama melalui modul Bluetooth HC-05.
5. Apabila tidak menekan semua tombol atau menekan tombol alarm atau matikan sebanyak dua kali maka nilai commandnya berganti menjadi 0. 6. Arduino membaca nilai tegangan dan dikonversi menjadi persentase yang
36
3.2.4 Realisasi Modul Elektrik
Gambar 3.12 Realisasi Kesuluruhan Modul Elektrik Tampak Dalam (Sistem Utama).
Gambar 3.13 Realisasi Kesuluruhan Modul Elektrik Tampak Dalam (Sistem Remot). Port MicroUSB
Sensor NFC
LED indikator
Relay Knob
Mikrokontroler Sensor Bluetooth
Tuas pengunci
Modul Bluetooth Mikrokontroler
Baterai Tombol
37
3.2.5 Realisasi Alat
Gambar 3.14 Realisasi Sistem Utama Yang Telah Terpasang Tampak Atas.
Gambar 3.15 Realisasi Sistem Utama Yang Telah Terpasang Tampak Samping. Knob Sensor NFC Indikator LED Knob Lubang Buzzer Servo
38
Gambar 3.16 Realisasi Sistem Remot Tampak Samping.
Gambar 3.17 Realisasi Sistem Remot Tampak Atas.
Pada realisasinya, Sistem utama dan remot mengalami penambahan dimensi, berikut nilainya : Dimensi sistem utama : 150 × 25 × 100 mm dan 75 × 50 × 25 mm pada bagian
NFC.
Dimensi sistem remot : 75 × 50 × 25 mm.
Tombol Matikan
Tombol Nyalakan
Tombol Matikan
Tombol Nyalakan