Perangkat Lunak pada Arduino

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