BAB III PERANCANGAN SISTEM 3.1 Gambaran...

17
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

Transcript of BAB III PERANCANGAN SISTEM 3.1 Gambaran...

Page 1: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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

Page 2: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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.

Page 3: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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

Page 4: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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

Page 5: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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

Page 6: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

23

Gambar 3.4. 3D Design Board Sistem Meggunakan Solid Work

Gambar 3.5. Realisasi Modul Elektronik

Page 7: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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

Page 8: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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

Page 9: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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

Page 10: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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

Page 11: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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

Page 12: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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.

Page 13: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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

Page 14: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

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.

Page 15: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

32

Gambar 3.13. Graphical User Interface Halaman Utama

Page 16: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

33

Gambar 3.14. Graphical User Interface Halaman Hasil

Page 17: BAB III PERANCANGAN SISTEM 3.1 Gambaran Sistemrepository.uksw.edu/bitstream/123456789/11347/4/T1_612012041_BAB... · Pada pin output dan input arduino, terhubung modul sd card melalui

34

Gambar 3.15. Graphical User Interface Halaman Tambah Data