BAB III PERANCANGAN SISTEM 3.1 Gambaran...
Transcript of BAB III PERANCANGAN SISTEM 3.1 Gambaran...
18
BAB III
PERANCANGAN SISTEM
3.1 Gambaran Sistem
Sistem ini bertujuan untuk mengambil data sudut kemiringan tubuh bagian
tulang belakang, dirancang dengan accelerometer dan gyro yang dapat
dimanfaatkan sebagai alat ukur kelengkungan tulang belakang dengan cara
memanfaatkan pengukuran percepatan gravitasi dan percepatan sudut pada
accelerometer dan gyro. Nilai output pada accelerometer dan gyro diolah oleh
arduino nano melalui I2C. Pada pin output dan input arduino, terhubung modul
sd card melalui SPI, sehingga hasil data dari pengukuran dapat disimpan pada
memori SD card. Setelah mendapatkan data terukur dari accelerometer dan gyro
yang diproses melalui arduino, data pada modul sd card akan diolah dengan
menggunakan software MATLAB, dengan menampilkan grafik hasil
pengukuran dan membuat rekam medik sampel uji. Sistem tersebut akan
ditempatkan pada korset agar mudah digunakan dan tidak menggangu
kenyamanan saat digunakan. Sistem ini ditunjukan pada orang-orang yang
membungkuk yang mengakibatkan kifosis atau skoliosis, sehingga dibutuhkan
pengukuran dua dimensi terhadap sumbu x dan y.
Gambar 3.1. Blok Diagram Sistem
I2C SPI
Arduino NANO GY-521 Modul SD Card
GPIO
Buzzer
MATLAB
Power Bank 5.1V
(Lithium Polymer)
Switch
19
menunjukkan blok diagram sistem secara keseluruhan yang dirancang. Secara
umum sistem yang dirancang terdiri dari kontrol utama, sensor, notifier,
komunikasi, matlab, dan sumber daya listrik.
1. Kontrol Utama
Kontrol utama dalam blok diagram sistem di atas adalah arduino nano.
2. Sensor
Dalam bagian ini terdapat beberapa perangkat keras, diantaranya :
a. Accelerometer
b. Gyroscope
Keseluruhan sensor tersebut terdapat pada modul GY-521.
3. Notifier
Buzzer menggunakan speaker kecil dengan menggunakan tegangan 3 Volt ,
menggunakan PWM (Pulse Width Modulation), digunakan sebagai notifikasi.
Tiga buah led berwarna merah, kuning dan biru juga digunakan sebagai
pemberi tanda apabila ada perintah melalui tombol switch.
4. Komunikasi
Komunikasi diperlukan guna mengirim dan menerima data antara modul GY-
521 dengan arduino nano menggunakan i2C. Komunikasi melalui SPI
digunakan antara SD card modul dengan arduino nano.
5. Sumber Daya Listrik
Sumber Daya Listrik untuk sistem ini adalah baterai lithium polymer 5.1 volt
pada power bank digunakan sebagai sumber daya listrik pada arduino nano,
modul GY-521, buzzer dan modul sd card.
20
3.2 Perancangan Perangkat Keras
Pada bagian ini, akan dibagi menjadi dua yaitu bagian perangkat keras elektronik dan
perancangan wearable device.
3.2.1 Perangkat Keras Elektronik
Arduino nano digunakan sebagai kontrol utama dalam sistem ini. Berikut
adalah tabel konfigurasi penggunaan pin pada Arduino nano.
Tabel 3.1. Konfigurasi Pin pada Arduino nano
No Nama Port Fungsi
1 A0 Notifier Led Merah
2 A1 Notifer Led Biru
3 A2 Notifer Led Kuning
4 A4 I2C SDA GY-521
5 A5 I2C SCL GY-521
6 D13 SCK (SPI) modul sd card
7 D12 MISO (SPI) modul sd card
8 D11 MOSI (SPI) modul sd card
9 D10 CS (SPI) modul sd card
10 D9 Notifier Buzzer
11 D8 Notifier Buzzer
12 D4 Tombol Input A
13 D3 Tombol Input B
14 D2 Tombol Interupt
Sistem utama terletak pada perangkat keras elektronik. Sistem dapat diperingkas lebih
sederhana dengan penggunaan I2C untuk pengukuran percepatan sudut dan gravitasi
menggunakan GY-521. GY-521 memiliki DMP (Digital Motion Processing) yang
dimana didalam MPU6050 memiliki mikrokontroler tersendiri untuk memproses data
pengukuran percepatan gravitasi dan sudut. Jika menggunakan DMP memiliki
konsekuensi memori pada Arduino nano yang besar, sehingga DMP tidak digunakan
dalam sistem ini. Modul sd card akan menyimpan data berupa text yang berisi data
21
olahan Arduino nano terhadap sensor percepatan sudut dan gravitasi. Halaman data
yang digunakan adalah .txt, berisikan data pengukuran pada sumbu y dan x.. Tombol
digunakan untuk menentukan program yang akan dijalankan pada Arduino nano,
sedangkan notifier led sebagai pengganti display, untuk mempermudah pengguna
memilih menu.
Gambar 3.2. Skematik Elektronik Sistem Keseluruhan
22
Pada sistem dicatu dengan tegangan 5.5 Volt yang didapatkan dari Power Bank
melalui port USB Arduino nano. Keseluruhan sistem membutuhkan tegangan rata-rata
5 Volt sehingga tidak dibutuhkan step up tegangan untuk mencatu modul-modul
elektronika lainnya. Modul-modul elektronika seperti GY-521 dan sd card,
mendapatkan tegangan dari Arduino nano, karena pada mikrokontroler ini memiliki
port output tegangan berupa 5.5 Volt dan 3.3 Volt sehingga, modul elektronika bisa
mendapatkan supply dengan mengkoneksikan pada port 5.5 Volt (+5V). Setiap modul
elektronik memiliki regulator masing-masing yang bisa dilihat pada rangkaian Bab II.
Regulator tersebut digunakan untuk menstabilkan tegangan yang berlebih, regulator
yang digunakan memiliki tegangan ouput 3.3 Volt.
Gambar 3.3. PCB Skematik Meggunakan Eagles Cadsoft
23
Gambar 3.4. 3D Design Board Sistem Meggunakan Solid Work
Gambar 3.5. Realisasi Modul Elektronik
24
Ket:
Ukuran dalam mm
Pada gambar, terdapat GY-521, modul sd card, sistem, dan power bank. Power bank
memiliki kapasitas 3300 mAh dengan tegangan 5.1 Volt, dan arus sebesar 1000 mA.
Untung menghubungkan antara sumber tegangan dengan sistem utama menggunakan
kabel usb. Pada saat pengujian yang nanti akan dilakukan, modul sd card akan di
tempatkan pada bagian atas sistem, yang tersambung melalui SPI. Modul sd card
diletakan diatas Arduino nano supaya menghemat penggunaan tempat, serta sistem
lebih terlihat dinamis.
3.2.2 Perancangan wearable device
Gambar 3.6. Ukuran Korset yang Digunakan dalam Perancangan
Gambar 3.7. Penempatan Power Bank, Sensor, dan Sistem Elektronik
25
Korset yang digunakan menggunakan kain lentur yang bisa menyesuaikan ukuran
bentuk tubuh responden. Dipilihnya korset lantaran, mudah sekali untuk digabungkan
dengan perangkat elektronik dengan cara dijahit. Selain itu, jarak antara sensor yang
dipasang dengan tubuh tidak terlalu jauh sehingga dapat meningkatkan akurasi dalam
pengukuran sudut pada tubuh bagian tulang belakan
Gambar 3.8. Desain Pemasangan Seluruh Sistem pada Tubuh
3.3 Perancangan Perangkat Lunak
Pada bagian ini, akan dibagi menjadi dua yaitu bagian perangkat lunak pada
Arduio dan perangkat lunak pada Matlab.
3.3.1 Perangkat Lunak pada Arduino
Dalam memprogram Arduino, digunakan Arduino IDE versi 1.6.7. Arduino
IDE yang sudah terinstall pada komputer dapat langsung terkoneksi dengan Arduino
uno melalui port USB, komunikasi antar komputer dengan Arduino menggunakan
komunikasi serial dari chip FTDI. Arduino juga menyediakan library yang berfungsi
untuk mempermudah programmer memprogram. Berikut merupakan pustaka yang
digunakan dalam perancangan sistem ini.
Tabel 3.2. Daftar penggunaan library
NO Nama Library Fungsi
1 Timer.h Mengatur interrupt
2 Wire.h Menghubungkan i2C
3 SPI.h Menghubungkan SPI
4 SD.h Mengatur modul sd card
26
Gambar 3.9. Diagram Alir Algoritma Sistem pada Perangkat Keras
MULAI
APAKAH TOMBOL MULAI BERNILAI LOW ?
APAKAH TOMBOL PILIH BERNILAI HIGH ?
YA
A
A
TAMBAH NILAI FLAG
YA
YA
APAKAH FLAG BERNILAI GENAP ?
SET NILAI FLAG MENJADI 1 dan
NYALAKAN LED BIRU
SET NILAI FLAG MENJADI 0 dan NYALAKAN LED
KUNING
YA TIDAK
APAKAH FLAG BERNILAI LEBIH DARI 4 ?
SET NILAI FLAG 0
1
1
1
TIDAK
TIDAK
27
Gambar 3.10. Diagram Alir Algoritma Sistem pada Perangkat Keras
APAKAH TOMBOL MULAI BERNILAI HIGH DAN
KONDISI BERNILAI 1 ?
APAKAH TOMBOL PILIH BERNILAI HIGH DAN KONDISI BERNILAI 1?
LED BIRU, MERAH, KUNING MENYALA
TIDAK
TIDAK
SET NILAI KONDISI MENJADI 1
C
C
DYA
D
MATIKAN LED BIRU, MERAH, dan KUNING
LED KUNING MENYALA
APAKAH NILAI KONDISI BERNILAI 1 ?
AMBIL DATA SUDUT KEMIRINGAN
TRANSFER DATA SUDUT KEMIRINGAN PADA SD
CARD
YA
CEK SUDUT KEMIRINGAN
APAKAH SUDUT KEMIRINGAN MELEBIHI
SUDUT BUNGKUK ?
TIDAK
YA
BUZZER BERBUNYI
YA
TIDAK
C
28
Gambar 3.11. Diagram Alir Algoritma Sistem pada Perangkat Keras
Berikut adalah penjelasan algoritma pada perangkat lunak arduino:
a. Pertama kali Arduino nano akan menunggu perintah dari penguna.
b. Arduino nano akan melakukan pengecekan apakah ada perintah atau tidak. Jika
ada, maka Arduino akan melanjutkan ke perintah selanjutnya, dan jika tidak
maka Arduino akan menunggu hingga tedapat perintah dari pengguna.
MATIKAN LED BIRU, MERAH, dan KUNING
LED BIRU MENYALA
APAKAH NILAI KONDISI BERNILAI 1 ?
AMBIL DATA SUDUT KEMIRINGAN
TRANSFER DATA SUDUT KEMIRINGAN PADA SD
CARD
YA
CEK SUDUT KEMIRINGAN
TIDAK
C
INT 1
SET KONDISI BERNILAI 0
SELESAI
29
c. Flag dalam program berfungsi sebagai variabel untuk menentukan apakah
kondisi bernilai genap atau ganjil. Hal ini dilakukan untuk membuat satu
tombol dapat memilih beberapa menu, sehingga nilai flag selalu bertambah,
dan apabil flag melebihi nilai empat maka akan dikembalikan nilainya menjadi
nol. Nilai flag ini mengindikasikan tombol menu satu dan tombol menu dua.
Sedangkan tombol pilih merupakan tombol yang berfungsi untuk menjalakan
program selanjutnya.
d. Apabila tombol menu satu yang ditekan maka pengguna akan menjalankan
mode observasi. Indikator dari mode ini adalah led kuning akan menyala. Data
pengukuran nantinya akan disimpan dalam halamana A.txt
e. Apabila tombol menu dua yang ditekan maka pengguna akan menjalankan
mode siaga. Indikator dari mode ini adalah led biru akan menyala. Data
pengukuran nantinya akan disimpan dalam halaman B.txt
f. Saat mode observasi, bertujuan untuk mengukur besarnya sudut tulang
punggung bagian tulang belakang saat kebiasaan duduk. Data yang diambil
pada sumbu x dan y dilihat dari belakang pengguna.
g. Saat mode siaga, bertujuan untuk melakukan terapi fisik dengan cara
menegakan kembali tulang punggung. Ketika buzzer berbunyi, pengguna harus
menegakan tulang punggung bagian belakang.
h. Apabila terjadi kesalahan, atau ingin meghentikan pengukuran, maka tombol
interrupt dapat digunakan untuk menhentikan semua aktivitas sistem,
kemudian sistem akan menyimpan seluruh data terakhir pada modul sd card.
Lampu led berwarna merah akan menyala sebagai indikator apabila aktivitas
seluruh sistem sudah berhenti.
3.3.2 Perangkat Lunak pada Matlab
Versi matlab yang digunakan dalam perancangan ini adalah R2015b
(8.6.0.267246) 64 bit. Program matlab digunakan karena dapat memudahkan
perancang memvisualisasikan dan menganalisa dalam bentuk grafik.
30
Gambar 3.12. Flow Chart Analisis Data
START
Load database
Masukan nomor nama pada
menu option
Apakah memilih tombol go ?
Apakah memilih tombol analisis ?
Tampilkan grafik pengukuran roll
dan pitch
YA
YA
YA
TIDAK
TIDAK
A
A
Apakah memilih tombol Hasil ?
Pindah ke Halaman Hasil
YA
TIDAK
TampilkanData statistik dan Analisis
END
Y
Apakah memilih tombol tambah
data?
YA
Pindah ke halaman tambah data
Y
Y
Y
Isikan data
X
X
Tampilkan data
responden
31
Berikut adalah penjelasan algoritma perangkat lunak pada matlab:
a. Load database berfungsi untuk memuat database yang tersimpan pada .xlx
dalam satu folder dengan program yang dibuat.
b. Pemasukan nomor digunakan untuk mencari daftar orang yang akan dianalisis
datanya.
c. Tombol Go berfungsi sebagai tombol yang memutuskan program untuk
mencari data dalam database.
d. Apabila terdapat daftar nama pada database sesuai dengan yang diinginkan
maka program akan menampilkan data-data berupa data raw dari Arduino nano
pada tabel. Data yang ditampilkan adalah data pada sudut x dan y pada mode
siaga dan observasi pada halaman utama.
e. Apabila tombol analisis ditekan, maka akan ditampilkan grafik roll dan pitch.
Roll adalah sudut ketika responden membungkuk, pitch adalah sudut dimana
responden bergeser ke kanan atau ke kiri.
f. Apabila tombol hasil ditekan, maka program akan menampilkan pada halaman
hasil. Halaman hasil akan menampilkan data-data statistik, dari data tersebut
akan diolah menjadi data analisa hasil perhitungan sistem. Data statistika
mencangkup mean, median, modus. Pembuatan histogram juga ditampilkan
dalam halaman hasil guna mempermudah memvisualisasikan distribusi sudut.
Hasil akhir data data statistika tersebut akan dianalisa dan akan menampilkan
diagnosis berisi, jenis stadium, kecondongan tubuh kekiri atau ke kanan, sudut
tulang belakang sebelum terapi fisik, sudut tulang belakang sesudah terapi
fisik, dan besarnya sudut tulang belakang.
g. Halaman tambah data akan muncul apabila tombol tambah data ditekan.
Halaman ini berfungsi untuk menstransfer data dari sd card dan akan
dimasukan dalam database dalam halaman .xlx. Halaman ini juga
membutuhkan beberapa inputan seperti nama, umur, dan jenis kelamin.
32
Gambar 3.13. Graphical User Interface Halaman Utama
33
Gambar 3.14. Graphical User Interface Halaman Hasil
34
Gambar 3.15. Graphical User Interface Halaman Tambah Data