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
D YA
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