Sunteți pe pagina 1din 69

RANCANG BANGUN ALAT MONITOR BERAT BADAN DAN

TINGGI BADAN , SUHU TUBUH, DAN DENYUT NADI


MELALUI WEB BERBASIS ARDUINO NANO

Disusun Sebagai Salah Satu Syarat


Untuk Menyelesaikan Program Pendidikan Diploma 3

Oleh :

HERTY ROMIKA HUTASOIT M. HABIBUL YUSRI


NIM: 1605061038 NIM: 1605062004

PROGRAM STUDI TEKNIK TELEKOMUNIKASI


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI MEDAN
MEDAN
2019

i
LEMBAR PERSETUJUAN

RANCANG BANGUN ALAT MONITOR BERAT BADAN DAN


TINGGI BADAN, SUHU TUBUH, DAN DENYUT NADI
MELALUI WEB BERBASIS ARDUINO NANO

Disusun oleh:

HERTY ROMIKA HUTASOIT M. HABIBUL YUSRI


NIM: 1605061038 NIM: 1605062004

telah diperiksa dan dinyatakan pada sidang ujian Tugas akhir


Menyetujui:

Dosen Pembimbing,

Sangap Mulyadi, ST.MT


NIP:19750818 200212 1 006

Medan, Agustus 2019

Mengetahui:
Ketua Jurusan, Kepala Program Studi,

Nobert Sitorus, ST. M.T. Muhammad Rusdi , ST.MT


NIP: 19620825 198803 1 002 NIP:19780923 200312 1 002

ii
LEMBAR PENGESAHAN

RANCANG BANGUN ALAT MONITOR BERAT BADAN DAN


TINGGI BADAN, SUHU TUBUH, DAN DENYUT NADI
MELALUI WEB BERBASIS ARDUINO NANO

Disusun oleh:

HERTY ROMIKA HUTASOIT M. HABIBUL YUSRI


NIM: 1605061038 NIM: 1605062004

Telah dipertahanan di depan Tim Penguji pada tanggal 12 Agustus 2019 dan
dinyatakan telah memenuhi syarat guna memperoleh gelar Ahli Madya.

Dosen Pembimbing,

Sangap Mulyadi, ST.MT


NIP:19750818 200212 1 006
Tim Penguji:

Ketua Penguji
Dr. Arnita Sitorus, M.Pd ( )
Penguji 1:
Ir. Suhaili Alifuddin, M.Eng ( )
Penguji 2:
Febrin Aulia Batubara, ST.MT ( )

Medan, 12 Agustus 2019

Ketua Jurusan, Kepala Program Studi,

Nobert Sitorus, S.T., M.T. Muhammad Rusdi , ST.MT


NIP: 19620825 198803 1 002 NIP:19780923 200312 1 002

iii
ABSTRACT

Health is a must, health allows everyone to do their activities smoothly, students


are no exception. Activities in accordance with the profession run by each person
will be successful if health is maintained. Teaching and learning activities will run
well if the instructor and learner are active in a healthy condition to receive and
carry out teaching and learning activities. For this reason students must be able to
condition their health through good diet, routine monitoring and prevention of
illness by taking vitamins and exercising regularly. This tool is designed to
facilitate monitoring of student conditions both in terms of weight and height,
body temperature, blood oxygen levels, to the pulse.

So students know the condition of the body can improve their lifestyle if the
results of the measurement are not good and maintain a lifestyle if the
measurements obtained are in accordance with normal humans. Routine
measurements can be done at any time either after the activity or before the
activity and do the comparison of the results obtained. The results of these
measurements can be viewed through the website provided or from the LCD
display on the device during the measurement. This tool has special specifications
such as being able to connect to a WiFi network via the ESP8266 module in
combination with an Arduino Nano controller.

Keywords: Weight and Height, Health Monitoring, ESP8266

iv
ABSTRAK

Kesehatan merupakan keharusan, kesehatan memungkinkan setiap orang untuk


melakukan aktifitas dengan lancar, tidak terkecuali mahasiswa. Aktifitas sesuai
profesi yang dijalankan oleh pribadi masing masing akan sukses jika kesehatan
terjaga . Kegiatan belajar mengajar akan berjalan dengan baik apabila pengajar
dan pembelajar beraktifitas dalam keadaaan sehat untuk menerima dan
melaksanakan kegiatan belajar mengajar. Untuk itu mahasiswa harus mampu
mengkondisikan kesehatannya baik melalui pola makan yang baik ,pemantauan
rutin dan pencegahan dari sakit dengan meminum vitamin dan berolahraga secara
rutin. Alat ini dirancang untuk mempermudah pemantauan kondisi mahasiswa
baik dari aspek berat badan dan tinggi badan, suhu tubuh, kadar oksigen darah,
hingga denyut nadi.

Sehingga mahasiswa mengetahui kondisi tubuh dapat memperbaiki pola hidupnya


jika hasil dari pengukuran kurang baik dan mempertahankan pola hidup jika
pengukuran yang didapat sesuai dengan manusia normal. Pengukuran secara rutin
dapat dilakukan setiap saat baik setelah beraktifitas atau sebelum beraktifitas dan
melaukan pembandingan dari hasil yang didapat. Hasil dari pengukuran tersebut
dapat dilihat melalui situs web yang disediakan atau dari tampilan LCD pada alat
saat pengukuran berlangsung. Alat ini memiliki spesifikasi khusus seperti dapat
melakukan koneksi ke jaringan wifi melalui modul ESP8266 dengan
dikombinasikan kontroler Arduino Nano.

Kata kunci: Berat Badan dan Tinggi Badan, Pemantauan


Kesehatan,ESP8266

v
KATA PENGANTAR

Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa yang telah

memberikan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan tugas

akhir ini. Disusun untuk memenuhi syarat kelulusan akademik dan untuk

menyelesaikan Pendidikan Diploma 3 program studi Teknik Telekomunikasi,

jurusan Teknik Elektro Politeknik Negeri Medan.

Pada laporan ini, penulis membahas tentang Rancang Bangun Alat

Monitor Body Mass Index, Suhu Tubuh, dan Denyut NadiMealui Web Berbasis

Arduino Nano. Dalam penulisan tugas akhir, penulis banyak mendapat bantuan

dan bimbingan dari berbagai pihak, sehingga Tugas Akhir ini dapat diselesaikan.

Karena itu, penulis mengucapkan terimakasih kepada:

1. Bapak M. Syahruddin, sebagai Direktur Politeknik Negeri Medan.

2. Bapak Nobert Sitorus, sebagai Ketua Jurusan Teknik Elektro

3. Bapak Muhammad Rusdi, sebagai Kepala Program Studi Teknik

Telekomunikasi

4. Ibu Elferida Hutajulu , sebagai Kepala Laboratorium Teknik Telekomunikasi

5. Ir. Hj Rina Anugrahwaty , sebagai Dosen Wali kelas TK

6. Bapak Sangap Mulyadi , sebagai Dosen Pembimbing penulis

7. Seluruh Dosen dan Staff di Program Studi Teknik Telekomunikasi, Jurusan

Teknik Elektro Politeknik Negeri Medan

8. Teristimewa kepada Orang Tua serta keluarga yang telah memberikan

dukungan dan perhatian sepenuhnya dalam menyelesaikan Tugas Akhir ini

vi
9. Teman-teman mahasiswa seperjuangan dan seluruh pihak yang telah

mendukung dalam pembuatan dan penyelesaian Tugas Akhir ini.

Penulis menyadari bahwa penyelesaian dan penyusunan laporan Tugas

Akhir ini jauh dari kesempurnaan sehingga penulis mengharapkan saran dan kritik

yang bersifat membangun. Semoga laporan Tugas Akhir ini bermanfaat bagi

semua pihak yang membaca dan mengembangkannya.

Medan, Agustus 2019

Hormat Kami,

Penulis

vii
DAFTAR ISI

Halaman

LEMBAR PERSETUJUAN........................................................................... i
LEMBAR PENGESAHAN............................................................................ ii
ABSTRAK ..................................................................................................... iii
ABSTRACT ..................................................................................................... iv
KATA PENGANTAR.................................................................................... v
DAFTAR ISI................................................................................................... vii
DAFTAR GAMBAR...................................................................................... ix
DAFTAR TABEL........................................................................................... x
DAFTAR LAMPIRAN................................................................................... xi
BAB 1 PENDAHULUAN............................................................................. 1
1.1. Latar Belakang Masalah.............................................................. 1
1.2. Rumusan Masalah....................................................................... 2
1.3. Batasan Masalah.......................................................................... 2
1.4. Tujuan Penulisan......................................................................... 3
1.5. Manfaat Penulisan....................................................................... 3
1.6. Landasan Teori............................................................................ 3
1.7. Sistematika Penulisan.................................................................. 4

BAB 2 TINJAUAN PUSTAKA................................................................... 5


2.1 Body Mass Index.......................................................................... 5
2.2 Sensor Ultrasonik HC-SR04........................................................ 6
2.3 Sensor Massa Loadcell................................................................. 7
2.4 Modul HX711.............................................................................. 8
2.5 Sensor Suhu DS18B20................................................................ 9
2.6 Keypad 4x4 ................................................................................ 9

viii
2.7 LCD Alphanumeric .................................................................... 10
2.8 Modul I2C................................................................................... 11
2.9 Sensor Denyut Nadi Max30100.................................................. 12
2.10 Arduino Nano.............................................................................. 13
2.11 NodeMCU................................................................................... 14
2.12 Adaptor Power ........................................................................... 15

BAB 3 METODE.......................................................................................... 17
3.1. Perancangan sistem..................................................................... 18
3.2. Blok Diagram.............................................................................. 18
3.3. Cara Kerja sistem........................................................................ 19
3.4. Perangkat Keras........................................................................... 20
3.5. Perangkat Lunak.......................................................................... 20
3.6. Perancangan Hardware Alat ....................................................... 21
3.7 Perancangan Perawat Lunak........................................................ 25

BAB 4 HASIL DAN PEMBAHASAN......................................................... 41


4.1. Pengujian Sistem......................................................................... 41
4.2. Spesifikasi Alat............................................................................ 45
BAB 5 SIMPULAN DAN SARAN................................................................ 46
5.1. Simpulan...................................................................................... 46
5.2. Saran............................................................................................ 46
DAFTAR PUSTAKA...................................................................................... 47
LAMPIRAN.................................................................................................... 48

ix
DAFTAR GAMBAR

Gambar Halaman

2.1 Gambar Fisik Sensor HC-SR04.............................................................. 6

2.2 Gambar Fisik Loadcell............................................................................ 6

2.3 Gambar Bentur Modul HX711................................................................ 7

2.4 Gambar Diagram Modul......................................................................... 8

2.5 Gambar Sensor Suhu DS18B20.............................................................. 9

2.6 Gambar Bentuk Fisik Keypad 4x4.......................................................... 9

2.7 Gambar Bentuk Fisik LCD 1602............................................................ 10

2.8 Gambar Modul I2C LCD........................................................................ 11

2.9 Gambar Konfigurasi Pengalamatan Modul I2C...................................... 12

2.10 Gambar Bentuk Modul MAX30100....................................................... 12

2.11 Gambar Bentuk Arduino Nano............................................................... 13

2.12 Bentuk Fisik NodeMCU ESP8266.......................................................... 15

2.13 Gambar Adaptor Power Supply............................................................... 16

3.1 Gambar Blok Diagram............................................................................ 18

3.4 Gambar Skematik Keseluruhan Sistem................................................... 22

3.5 Gambar Skematik Arduino Nano-HX711............................................... 22

3.9 Gambar Skematik Arduino-MAX30100................................................. 23

3.10 Gambar Skematik Arduino-LCD............................................................ 23

4.1 Gambar Desain Mekanik Alat ................................................................ 24

x
DAFTAR TABEL

Tabel Halaman

4.1 Hasil Pengujian Adaptor tegangan Adaptor............................................ 41

4.2 Hasil Pengkuran Tinggi Badan............................................................... 41

4.3 Hasil Pengukuran Berat Badan .............................................................. 42

4.4 Hasil Pengukuran Suhu Badan................................................................ 43

4.5 Hasil Pengukuran Denyut Nadi............................................................... 44

xi
DAFTAR LAMPIRAN

Halaman

Lampiran 1. Lampiran Satu........................................................................... 48

xii
1

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Berat badan ideal dipengaruhi oleh banyak faktor diantaranya suhu dan jenis
kelamin. Seseorang dikatakan kelebihan berat badan apabila berat badannya 10%
lebih berat dari berat ideal, bila berat badannya lebih dari 20 % maka kondisi ini
disebut obesitas, sedangkan bila berat badannya 10 % kurang dari berat badan
ideal maka kondisi ini disebut kekurangan nutrisi.
Indeks Massa Tubuh (Body Mass Index) adalah pegukuran yang
memperlihatkan kesesuaian antara berat badan dengan tinggi badan seseorang.
Bila BMI berada pada antara 18 – 25 maka seseorang dianggap sehat, sedangkan
resiko mengalami masalah kesehatan meningkat apabila nilai BMI diatas 25.
Berbagai bagian tubuh memiliki suhu tubuh berlainan, dan besar perbedaan
suhu antara bagian-bagian tubuh dengan suhulingkungan bervariasi. Pada
manusia, nilai normal untuk suhu aksila adalahdalam rentang antara 36 °C – 37
°C, pada oral antara 36,5 °C - 37,5 °C dan suhu pada rektal biasanya 0,6 °C lebih
tinggi daripada suhu aksila. Suhu normal orang muda pada pagi hari berkisar
antara 36,3°C ± 37,1 °C. Suhu tubuh dipengaruhi oleh berbagai faktor seperti
aktivitas, suhu lingkungan, keadaan emosi, usia, jenis kelamin, hidrasi, obat-
obatan, pakaian, dan lain-lain. Denyut nadi adalah frekuensi irama denyut/detak
jantung yang dapat dipalpasi (diraba) dipermukaan kulit pada tempat-tempat
tertentu.
Pada jantungmanusia normal, tiap-tiap denyut berasal dari noddus SA
(irama sinus normal,NSR= Normal Sinus Rhythim). Waktu istirahat, jantung
berdenyut kira-kira 70kali kecepatannya berkurang waktu tidur dan bertambah
karena emosi, kerja,demam, dan banyak rangsangan yang lainnya. Denyut nadi
normal 33,2bpm seseorang akan terus meningkat bila suhu tubuh meningkat
kecuali bila pekerja yang bersangkutan telah beraklimatisasi terhadap suhu udara
yang tinggi. Denyut nadi maksim umuntuk orang dewasa adalah 180-200 denyut

1
2

per menit dan keadaan ini biasanya hanya dapat berlangsung dalam waktu
beberapa menit saja .

1.2. Rumusan Masalah


Adapun rumusan masalah yang akan dibahas pada proyek akhir ini adalah :
1. Bagaimana merancang alat pengukuran Body Mass Index, melaui
sensor jarak ultrasonik HC-SR04 sebagai pengukur tinggi badan dan
loadcell sebagai sensor berat badan.
2. Bagaimana merancang alat pengukuran suhu tubuh dan denyut nadi
yang tar-integrasi menggunakan Arduino Nano.
3. Bagaimana sistem pengukuran Body Mass Index, suhu tubuh dan
denyut nadi dapat terkirim ke server dan tersimpan menggunakan
modul ESP8266 dan Arduino Nano.
1.3. Batasan Masalah
Membatasi hal apa saja yang menjadi topik tugas akhir ini, agar
pembahasan menjadi terfokus. Batasan masalah pada tugas akhir ini adalah
sebagai berikut:
1. Pengukuran detak jantung Body Mass Index, suhu tubuh dan denyut
nadi dilakukan saat pasien sedang diam (tidak sedang dalam
beraktivitas).
2. Deteksi body mass index dengan dua buah sensor yaitu dengan
menngunakan sensor ultrasonic yang diletakkan diatas kepala dengan
ketinggian 180sentimeter, dan sensor loadcell untuk berat badan
diletakkan dibawah kaki (diinjak).
3. Pengukuran denyut nadi dengan menggunakan sensor yang diletakkan
di ujung jari.
4. Proses pendeteksian sensor suhu tubuh diletakan hanya pada ketiak.
5. Mikrokontroler (Arduino) digunakan untuk menerima data sensor dan
mengirimkan ke server dan menampilkan data tersebut kedalam web
dengan melalui ESP8266 sebagai media koneksi dengan wifi.
3

1.4. Tujuan
Adapun tujuan dari Proyek Akhir ini:
1. Melalukan pengukuran Body Mass Indexmelalui kalkulasi tinggi badan
dan berat badan,serta pengukuran suhu tubuh dan denyut nadi
menggunakan Arduino Nano.
2. Melakukan pengambilan data hasil pengukuran detak Body Mass Index,
suhu tubuh dan denyut nadi untuk ditampilkan pada LCD.
3. Mengirim data hasil pengukuran Body Mass Index, suhu tubuh dan
denyut nadi ke web server.
4. Menyimpan dan menampilkan hasil data pengukuran Body Mass Index,
suhu tubuh dan denyut nadi sebagai bagian dari informasi medis
mahasiswa ke dalam database server.
1.5. Manfaat
Dengan dirancang dan di buatnya alat ini, diharapkan depat mempermudah
beberapa aspek, antara laing:
1. Mahasiwa memonitor berat dan tinggi badannya sesuai dengan Indeks
Masa Tubuh.
2. Mahasiswa dapat memantau denyut nadi, kadar oksigen darah, dan suhu
tubuh sebagai parameter kesehatan melalui web yang disediakan.
1.6. Metodologi
Dalam Penulisan Tugas Akhir ini penulis mengumpulkan data yang
dilakukan sebagai berikut :

1. Studi Literatur, yaitu mempelajari alat-alat yang dibutuhkan serta sistem


kerja alat dengan cara mencari buku yang berkaitan di perpusatakaan atau
mengunjungi website-website yang menyediakan artikel yang
berhubungan dengan alat ini.
2. Mengadakan konsultasi dan arahan/bimbingan dari dosen pembimbing
serta sumber-sumber lain yang dapat dijadikan sebagai acuan dan
perbandingan dalam merancang alat ini.
4

1.7. Sistematika Penulisan

Sistematika yang digunakan pada tugas akhir ini adalah sebagai berikut.

BAB 1 PENDAHULUAN

Berisi tentang latar belakang, rumusan masalah, batasan masalah, tujuan


pembahasan, manfaat, metoda penelitian, dan sistematika penulisan laporan yang
digunakan dalam pembuatan laporan ini.

BAB 2 TINJAUAN PUSTAKA

Berisi tentang konsep dasar dan teori-teori pendukung yang berkaitan dengan
proses perancangan dan pembuatan sistem.

BAB 3 METODE

Bab ini terdiri atas dua bagian, yaitu: perancangan dan pembuatan. Pada
perancangan berisi tentang sistem yang akan dibuat mulai dari perancangan blok
diagram, perancangan sistem tiap blok hingga menjadi sistem secara utuh. Pada
pembuatan berisi tentang realisasi sistem mulai dari perakitan dan pengisian
program ke modul yang digunakan.

BAB 4 HASIL DAN PEMBAHASAN

Berisi tentang hasil uji coba sistem, baik hardware maupun software secara
keseluruhan serta membuat analisa data dari setiap hasil pengujian.

BAB 5 PENUTUP

Bab ini berisi kesimpulan dari pembahasan dan analisa yang diperoleh, untuk
meningkatkan mutu dari sistem yang telah dibuat serta saran-saran untuk
perbaikan dan penyempurnaan sistem.

LAMPIRAN

Dalam lampiran berisi data-data pendukung.


BAB 2

TINJAUAN PUSTAKA

2.1. Body Mass Index


Body Mass Index (BMI) merupakan suatu pengukuran yang
menghubungkan atau membandingkan berat badan dengan tinggi badan.
Walaupun dinamakan “indeks”, BMI sebenarnya adalah rasio yang dinyatakan
sebagai berat badan (dalam kilogram) dibagi dengan kuadrat tinggi badan (dalam
meter). 12 Interpretasi BMI tergantung pada umur dan jenis kelamin anak, karena
anak lelaki dan perempuanmemiliki lemak tubuh yang berbeda.

Berbeda dengan orang dewasa, BMI pada anak berubah sesuai umur dan
sesuai dengan peningkatan panjang dan berat badan. BMI digunakan untuk
penilaian obesitas akan tetapi bukan merupakan indeks adipositas karena tidak
membedakan jaringan tanpa lemak (leantissue) dan tulang dari jaringan lemak.

Untuk ketepatan dalam riset diperlukan dualx-rayabsorptiometryyang


dapat menentukan secara tepat komposisi tubuh. The World Health Organization
(WHO) pada tahun 1997, The National Institute of Health (NIH) pada tahun 1998
dan The Expert Committee on ClinicalGuidelines for Overweightin Adolescent
Preventive Services telah merekomendasikan Body Mass Index (BMI) atau Indeks
Massa Tubuh (IMT) sebagai baku pengukuran obesitas pada anak dan remaja di
atas usia 2 tahun.
BMI merupakan petunjuk untuk menentukan kelebihan berat badan
berdasarkan Indeks Quatelet (berat badan dalam kilogram dibagi dengan kuadrat
tinggi badan dalam meter (kg/m).
Body Mass Index(BMI) dapat diperoleh dengan perhitungan rumus sebagai
berikut:

5
6

Berat Badan( kilogram)


2.2. BMI = Sensor Ultrasonik
Tinggi Badan ( meter ) x Tinggi Badan(meter )
HC-SR04
Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah
besaran fisis (bunyi) menjadi besaran listrik dan sebaliknya. Cara kerja sensor ini
didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat
dipakai untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi
tertentu. Disebut sebagai sensor ultrasonik karena sensor ini menggunakan
gelombang ultrasonik (bunyi ultrasonik). Gelombang ultrasonik adalah
gelombang bunyi yang mempunyai frekuensi sangat tinggi yaitu 20.000 Hz.

Bunyi ultrasonik tidak dapat di dengar oleh telinga manusia. Bunyi


ultrasonik dapat didengar oleh anjing, kucing, kelelawar, dan lumbalumba. Bunyi
ultrasonik bisa merambat melalui zat padat, cair dan gas. Reflektivitas bunyi
ultrasonik di permukaan zat padat hampir sama dengan reflektivitas bunyi
ultrasonik di permukaan zat cair. Akan tetapi, gelombang bunyi ultrasonik akan
diserap oleh tekstil dan busa.

Gambar 2.1. Bentuk fisik sensor HC-SR04

Sensor Ultrasonik pada sistem ini berfungsi sebagai sensor pembaca tinggi
badan, sensor ini dipasang pada ujungsebuah tiang dengan tinggi 180 cm untuk
membaca tinggi badan sesorang yang berada dibawahnya.

2.3. Sensor Massa Loadcell


Loadcell adalah sebuah alat uji perangkat listrik yang dapat mengubah
suatu energi menjadi energi lainnya yang biasa digunakan untuk mengubah suatu
gaya menjadi sinyal listrik. Sensor LoadCell merupakan sensor yang dirancang
7

untuk mendeteksi tekanan atau berat sebuah beban, sensor LoadCell umumnya
digunakan sebagai komponen utama pada sistem timbangan digital dan dapat
diaplikasikan pada jembatan timbangan yang berfungsi untuk menimbang berat
dari truk pengangkut bahan baku, pengukuran yang dilakukan oleh LoadCell
menggunakan prinsip tekanan.

Gambar 2.2. Bentuk Fisik Loadcell

2.4. Modul HX711


HX711 merupakan sebuah komponen terintegrasi dari
“aviasemiconductor” dengan kepresisian 24-bit analog to digital converter (ADC)
yang didesain untuk sensor timbangan digital dan aplikasi industrial control yang
terkoneksi dengan sensor jembatan atau sensor model jembatan wheatstone.
HX711 adalah modul timbangan, yang memiliki prinsip kerja mengkonversi
perubahan yang terukur dalam perubahan resistansi dan mengkonversinya ke
dalam besaran tegangan melalui rangkaian yang ada.
Kelebihan struktur yang sederhana, mudah dalam penggunaan, hasil
yangstabil dan reliable, memiliki sensitivitas tinggi, dan mampu mengukur
perubahan dengan cepat.
8

Gambar 2.3. Bentuk Fisik Modul HX711

Prinsip kerja sensor regangan ketika mendapat tekanan beban. Ketika bagian lain
yang lebih elastic mendapat tekanan, maka pada sisi lain akan mengalami
perubahan regangan yang sesuai dengan yang dihasilkan oleh straingauge, hal
initerjadi karena ada gaya yang seakan melawan pada sisi lainnya. Perubahan nilai
resistansi yang diakibatkan oleh perubahan gaya diubah menjadi nilai tegangan
oleh rangkaian pengukuran yang ada. Dan berat dari objek yang diukur dapat
diketahui dengan mengukur besarnya nilai tegangan yang timbul.

Gambar 2.4. Merupakan diagram blok dari ADC HX711


9

2.5. Sensor Suhu DS18B20


Sensor suhu DS18B20 adalah sensor suhu yang memiliki keluaran digital.
DS18B20 memiliki tingkat akurasi yang cukup tinggi, yaitu 0,5°C pada rentang
suhu -10°C sampai +85°C. Sensor suhu pada umumnya membutuhkan ADC dan
beberapa pin port pada mikrokontroler, namun DS18B20 ini tidak membutuhkan
ADC agar dapat berkomunikasi dengan mikrokontroler dan hanya membutuhkan
1 wire saja.

Gambar 2.5. BentukFisik Sensor Suhu DS18B20

2.6. Keypad 4x4


Modul keypad 4x4 merupakan modul keypad yang berukuran 4 kolom x 4
baris. Modul ini dapat difungsikan sebagai device masukkan data NIM dan
mengontrol urutan pengukuran pada menu yang tampil di LCD.

Gambar 2.6. BentukFisik Keypad 4x4

Gambar di atas menunjukan bahwa keypad matriks 4x4 cukup


menggunakan 8 pin untuk 16 tombol yang disediakan.
10

2.7. LCD Alphanumeric 1602


Pada tugas akhir ini LCD digunakan sebagai pemampil menu, dan urutan
pengukuran, hingga status data yang diterima dari sensor. Jenis LCD yang kami
gunakan adalah LCD alphanumeric 16x2 (16 kolom – 2 baris) dengan masing –
masing karakter huruf atau angka dimuat pada satu kolom.

Gambar 2.7. Bentuk Fisik LCD 1602

LCD ini memiliki 16 pin, dengan fungsi sebagai berikut:

Tabel 2.1. Deskripsi Pin LCD

Pin Simbol Fungsi

1 Vss Ground

2 Vdd +3V sampai +5V

3 V0 Pengatur Konstras LCD

4 RS High/Low - Register Select

5 R/W’ High/Low - Read/Write

6 E High/Low - Enable

7 DB0 High/Low - jalur bus data 0

8 DB1 High/Low - jalur bus data 1

9 DB2 High/Low - jalur bus data 2

10 DB3 High/Low - jalur bus data 3


11

11 DB4 High/Low - jalur bus data 4

12 DB5 High/Low - jalur bus data 5

13 DB6 High/Low - jalur bus data 6

14 DB7 High/Low - jalur bus data 7

15 A Anoda Led
16 K Katoda Led

2.8. Modul I2C


Modul I2C ini yang dirancang untuk meng-handle LCD alphanumeric
1602 maupun 2004 untuk menghemat kabel dan pin yang digunakan sehingga
hanya hanya digunakan empat buah kabel (VCC, GND, SDA, SCL). VCC adalah
pin tegangan positif yang dihubungkan dengan +5VDC, sedangkan GND
merupakan ground. Untuk pin SDA (Serial Data) merupakan jalur komunikasi
data dari mikrokontroler ke LCD untuk menampilkan karakter dan informasi yang
dinginkan, sedangkan pin SCL (Serial Clock) merupakan jalur clock sebagai
pengatur ritme kecepatan data.

Gambar 2.8. Modul I2C LCD

Agar terjadi komunikasi dari Arduino Nano ke I2C LCD dengan


menggunakan antarmuka I2C, maka perlu diketahui alamat dari I2C dari device
yang dituju. Modul I2C LCD dapat di alamatkan atau diubah – ubah alamatnya,
dengan mengatur konfigurasi sambungan pada pin A0, A1 dan A2 (lihat gambar
11).
12

Gambar 2.9. Konfigurasi pengalamatan modul I2C

2.9. Sensor Denyut Nadi MAX30100


Sensor ini dapat digunakan untuk mempermudah penggabungan antara
pengukuran detak jantung dengan aplikasi data kedalam pengembangannya.
Sensor Max30100 mencakup sebuah aplikasi monitoring. Pada Sensor Max30100
digunakan LED berwarna merah, karena sensor cahaya yang digunakan yaitu
APDS-9008 memiliki puncak sensitivitas sebesar 5.65mm. Dalam hal ini LED
merah memiliki panjang gelombang 495-570 nm sehingga sesuai dengan
kebutuhan sensor tersebut.

Gambar 2.10. Bentuk Fisik Modul MAX30100

2.10. Arduino Nano


13

Arduino Nano (Atmega328) adalah papan elektronik opensource yang


didalamnya terdapat komponen utama, yaitu sebuah chip mikrokontroler
Atmega328.

Gambar 2.11. Bentuk Arduino Nano


Arduino Nano adalah boardarduino berukuran kecil, lengkap dan
berbasisAtmega328 yang mempunyai kelebihan yang sama fungsional dengan
Arduinojenis apapun. Cukup hubungkan ke komputer dengan kabel USB atau
nyalakandengan adaptor AC-ke-DC atau baterai untuk memulai.
Karakteristik dan struktur arduino adalah:
a) Integrated Development Environment (IDE) arduino merupakan Multi
platform, yang dapat dijalankan di berbagai sistem operasi, seperti
Windows dan Linux. IDE adalah program komputer yang memiliki
beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak.
b) Pemrograman arduino menggunakan kabel yang terhubung dengan Port
Universal Serial Bus (USB) bukan port serial.
c) Arduino adalah hardware dan software open source atau sumber terbuka
yaitu sistem pengembangan yang tidak dikoordinasi oleh individu atau
lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan
memanfaatkan kode sumber (sourcecode).
14

d) Biaya hardware cukup terjangkau sehingga tidak terlalu menakutkan


untuk membuat kesalahan.
Hardware atau perangkat keras di dalam Arduino Nano adalah:
1. Port Universal Serial Bus (USB)
2. IntegratedCircuit(IC) Konverter Serial USB
3. Mikrokontroler Atmega328
4. 14 Pin InputOutput Digital (dimana 6 dapat digunakan sebagai output
PWM)
5. 8 Pin Input Output Analog
6. OperatingVoltage 5 V
7. Flashmemory 32 KB of which 2 KB used by bootloader
8. SRAM 2 KB
9. ClockSpeed 2 KB
10. EEPROM 1 KB
11. Berat 7gram
12. Tegangan masukan (7-12 V)
Adapun bentuk fisik dari Arduino Nano dapat ditunjukkan pada Gambar 2.1.

2.11. NodeMCU

NodeMCU ESP8266 adalah nama dari sebuah mikrokontroler yang di


desain oleh Espressif Systems. NodeMCU sendiri terdapat jaringan wifi baik
sebagai pemancar atau penerima jaringan wifi didalamnya selain sebagai sebuah
mikrokontroler.
15

Gambar 2.12. BentukFisikNodeMCU ESP8266

Berikut ini merupakan table spesifikasi dari NodeMCU:

Tabel 2.1. Spesifikasi NodeMCU


Tegangan Kerja 3,3V
10uA ~
Konsumsi Arus
170mA
Flash Memori 16MB
Kecepatan proses 80~160 MHz
RAM 32K + 80K
Jumlah GPIO 17
Pin Analog 1
Daya Pancaran +19.5 dBm

2.12. Adaptor Power Supply


Power supply atau catu daya merupakan sebuah rangkaian yang berfungsi
menghasilkan energi listrik. Power supply terdiri atas dua jenis yaitu powersupply
dengan sumber arus searah dan powersupply dengan sumber arus bolak-balik.
Power supply yang akan digunakan pada proyek Tugas Akhir ini adalah Adaptor
12VDC 1A .
16

Gambar 2.14. Adaptor Power Supply

Prinsip dasar dari adaptor powersupply ini adalah dengan merubah 220V
AC menjadi 12V DC dengan arus keluaran mencapai 1A. Tegangan 12V DC
tersebut nantinya akan disesuaikan dengan tegangan kerja Arduino Nano dan
komponen modul pendukung lainnya dengan tambahan modulPrototype
ShieldArduno Nano.
BAB 3

METODE
3.1. Perancangan sistem
Pada perancangannya sistem merupakan suatu sistem pengukuran ter-
integrasi yang dapat mengukur, berat dan tinggi badan, suhu tubuh, hinggi denyut
nadi. Alat ini terdiri dari beberapa sub-sistem untuk menunjang kinerjanya.
Beberapa bagian tersebut adalah sebagai berikut:
1. Catu daya, berfungsi sebagai sumber daya listrik alat.
2. Subsistem pembaca tinggi badan, bagian ini merupakan tanggung jawab
sensor ultrasonic HC-SR04.
3. Subsistem pembaca berat badan, pada bagian ini sensor load-cell merupakan
yang terpenting, sensor loadcell dihubungkan dengan modu HX711 agar
pembacaan sensor dapat dibaca oleh Arduino.
4. Subsistem pembaca denyut nadi di baca oleh modul Max30100, sensor ini
membaca pulse darah yang mengalir di ujung jari.
5. Subsistem pengukur suhu tubuh, pada bagian ini sensor yang digunakan
adalah ds18b20.
6. Subsistem display, berfungsi menampilkan informasi status pembacaan
sensor, tahapan pengukuran, dan konfirmasi pengiriman data.
7. Sistem web, dimana data yang terbaca oleh alat akan dikirimkan ke database
yang ada di server, lalu kemudian ditampilkan ke laman web.

17
18

3.2. Blok Diagram

Gambar 3.1. Blok diagram


3.3. Cara kerja sistem
Sistem ini dioperasikan menggunakan sumber tenaga Adaptor 12V 2A.
Adaptor bertugas sebagai sumber daya listrik yang berasal dari arus listrik AC
220V PLN lalu disearahkan untuk mendapatkan arus DC sebesar 12V 1A untuk
menyalakan alat.

Arduino uno sebagai pusat kendali akan menunggu aba – aba dari keypad,
apabila pada keypad ditekan angka’1’, maka LCD kan memberikan infirmasi ke
pengguna untuk memasukan NIM. Apabila angka yang dimasukan sudah sama
dengan sepuluh digit, maka tahapan ini dianggap selesai.
19

Kemudian apabila pennguna menekan angka ‘2’ pada keypad, maka sistem
akan meminta pengguna memilih jenis kelamin dengan menekan tombol keypad
‘A’ untuk wanita, dan keypad ‘B’ untuk pria, dan otomatis selesai.

Setelahnya, apabila angka ‘3’ ditekan, maka pengukuran berat badan akan
dimulai, pengguna harus menginjak papan alas agar loadcell dapat melakukan
pembacaan. Setelah angka berat badan keluar, maka pengukuran ini dianggap
selesai.

Kemudian akan otomatis memulai pengukuran tinggi badan. Pengguna


harus segera menaiki alas injakan alat dan menegakkan kepada tepat dibawah
sensor ultrasonic, tinggi penyangga ultrasonic adalah 180cm, sensor ini akan
membaca jarak yang terbaca dari kepada ke penyangga sensor, jarak yang terbaca
ini akan dikurangkan dengan tinggi penyangga untuk mendapatkan nilai tinggi
badan.

Setelah pengukuran tinggi badan selesai, pengguna dapat menekan angka


‘4’ untuk melakukan pengukuran suhu badan, penguna harus meletakkan sensor
ds18b20 ke ketiak atau bagian leher untuk dapat melakukan pembacaan sensor,
pengambilan data suhu akan memakan waktu lama, sekitar 20detik untuk dapat
membaca suhu tubuh mendekati suhu aktual tubuh.

Kemudian untuk melakukan pengukuran denyut nadi, pengguna harus


menekan lalu mendekatkan dan menempelkan ujung jari di atas sensor max30100
dan kemudian menekan tombol ‘5’

Kemudian Arduino akan merekapitulasi hasil pembacaan – pembacaan


tersebut. Untuk meng-konfirmasi hasil2 tersebut dan mengirimkannya ke web
melalui NodeMCU, maka pengguna harus menekan tombol ‘*’ pada keypad.

Disisi lain, yaitu web server, akan menunggu data pembacaan yang masuk
untuk kemudian di simpan kedalam database untuk nantinya dapat ditampilkan
kedalam laman web dengan mengunjungi alamat IP server yang berada di jaringan
yang sama.
20

3.4. Perangkat keras


Beberapa perangkat keras yang digunakan dalam pembuatan sistem:
a. Laptop
b. Komponen-komponen elektronika
c. Peralatan kerja elektronika
d. Multimeter
e. Box plastic
f. Bor
g. Lem Tembak

3.5. Perangkat lunak


Beberapa software yang digunakan dalam pembuatan sistem:
a. Arduino IDE (Integrated Developtment Enviroenment)
Arduino menggunakan bahasa pemrograman sendiri yang menyerupai
bahasa C, yaitu Sketch. Arduino IDE dilengkapi dengan library C/C++ yang biasa
disebut Wiring yang membuat operasi input dan output menjadi lebih mudah.
Pada pembuatan tugas akhir ini, menggunakan Bahasa C sebagai bahasa
pemograman NodeMCU.

b. Easy EDA
Electronic design automation (EDA) adalah kategori software tools untuk
merancang sistem elektronik seperti IC dan PCB. Easy EDA adalah
perangkat EDA berbasis web yang memungkinkan teknisi hardware untuk
merancang, mensimulasikan, berbagi publik dan pribadi dan mendiskusikan
skema, simulasi dan PCB. Pada tugas akhir ini, Easy EDA digunakan untuk
membuat skematik rangkaian komponen.
21

c. XAMPP
XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem
operasi, merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai
server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP
Server, MySQL database, dan penerjemah bahasa yang ditulis dengan Bahasa
pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat
sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia
dalam General Public License dan bebas, merupakan web server yang mudah
digunakan yang dapat melayani tampilan halaman web yang dinamis. Pada proyek
tugas akhir ini kami XAMPP merupakan software yang kami gunakan untuk
menginstal, men-setting, dan menjalankan server.

XAMPP dikembangkan dari sebuah tim proyek bernama Apache Friends,


yang terdiri dari Tim Inti (Core Team), Tim Pengembang (Development Team) &
Tim Dukungan (Support Team).

d. PHP
PHP (PHP: Hypertext Preprocessor) adalah bahasa serverside scripting
yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Karena
PHP merupakan serverside scripting maka sintaks dan perintah-perintah PHP
akan dieksekusi di server kemudian hasilnya dikirmkan ke browser dalam format
HTML. PHP termasuk dalam Open Source Product, sehingga source code PHP
dapat dirubah dan didistribusikan secara bebas. PHP dapat berjalan di sistem
operasi apapun seperti Windows dan Linux.

3.6. Perancangan Hardware Alat


Setiap bagian dari sistem komponen memiliki peran penting sesuai
fungsinya masing-masing supaya sistem tersebut dapat berjalan sesuai yang
direncanakan.Berikut merupakan skematik keseluruhan sistem.
22

Gambar 3.4. Skematik Keseluruhan Sistem

3.6.1. Koneksi Arduino Nano denganHX7111 Loadcell


Arduino Nano hanya dapat menerima pembacaan suatu nilai berat badan
dari loadcell hanya melalui hx711.

Gambar 3.5. Skematik Arduino Nano – HX7111


23

3.6.2. Koneksi NodeMCU dengan Max30100


Max30100 dan Arduino Nano dihubungkan melalui antarmuka I2C (SDA
dan SCL), SDA atau Serial Data merupakan jalur pengiriman data dari Max30100
ke Arduino. Dan SCL atau Serial Clock merupakan jalur pulse atau ritme
kecepatan data diatur pada jalur ini.

Gambar 3.9. Skematik Arduino–Max30100

3.6.3. Koneksi Arduino dengan LCD I2C 1602


LCD berfungsi sebagai layar informasi, seperti informasi nilai sensor yang
terbaca. Pada tugas akhir ini jenis LCD yang digunakan adalah LCD I2C
alphanumeric 1602.

Gambar 3.10. Skematik Arduino – LCD


24

3.6.4. Koneksi Arduino dengan Sensor Ultrasonic HC-SR04


Sensor HC-SR04 merupakan konponen utama pembaca tinggi badan, yang
dipasang di atas tiang penyangga srtinggi 185cm.

Gambar 3.10. Skematik Arduino –HC-SR04

3.6.5. Koneksi Arduino dengan Sensor suhu DS18b20


DS18b20 merupakan sensor suhu, pada tugas akhir ini digunakan untuk
mengukur suhu badan.

Gambar 3.10. Skematik Arduino –DS18b20


25

3.7. Perancangan Perangkat Lunak


3.7.1. Pemograman Arduino
Bahasa pemrograman yang gunakan adalah Bahasa Pemograman C++
dengan perangkat lunak pemrograman Arduino I.D.E. Selain dapat memprogram
Arduino, bisa juga digunakan untuk pemrograman mikrokontroler lainnya, seperti
NodeMCU, ESP8255, Wemos, ataupun mikrokontroler jenis AVR.

Pada program Arduinoakanperintah pembacaan data, dan pengiriman data.

Berikut merupakan program Arduino:

#include<Keypad.h>
#include<EEPROM.h>
#include"HX711.h"
#include<OneWire.h>
#include<DallasTemperature.h>
#include<Wire.h>
#include<LiquidCrystal_I2C.h>
#include"MAX30100_PulseOximeter.h"
#include"MAX30100.h"
#include<SoftwareSerial.h>
SoftwareSerials(5,6);// (Rx, Tx)

longduration;
intdistance,Gender;
charbuffer[2];
StringNIM,nim1,nim2,nim3,nim4,nim5,data1,data2,data3,data4,data5,d
ata6,data7;

#defineREPORTING_PERIOD_MS1000
#definecalibration_factor-22600.0

#definetrigPin13
#defineechoPin12
#defineONE_WIRE_BUSA0
#defineDOUT  3
#defineCLK  2

constbyteROWS=4;//fourrows
constbyteCOLS=4;//fourcolumns

charhexaKeys[ROWS][COLS]=
{  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}  };
  
byterowPins[ROWS]={4,7,8,9};
bytecolPins[COLS]={10,11,A2,A3};
26

KeypadmyKeypad=Keypad(makeKeymap(hexaKeys),rowPins,colPins,ROWS,CO
LS);

HX711scale;
OneWireoneWire(ONE_WIRE_BUS);
DallasTemperaturesensors(&oneWire);
LiquidCrystal_I2Clcd(0x27,16,2);
PulseOximeterpox;
uint32_ttsLastReport=0;

voidsetup(){
 Serial.begin(115200);// Startsthe serial communication
 s.begin(9600);
 lcd.begin();
   Serial.println(" Inisialisasi LCD ");
 
 //esp.begin(9600);
 sensors.begin();
   Serial.println(" Inisialisasi DS18B20 ");
   
 Wire.begin();
   Serial.println(" Inisialisasi I2C ");
   
 pox.begin();
   Serial.println(" Inisialisasi MAX30100 ");

 //reset();
 //connectWifi();  
 
 //pox.setOnBeatDetectedCallback(onBeatDetected);
 pinMode(trigPin,OUTPUT);// SetsthetrigPin as anOutput
 pinMode(echoPin,INPUT);// SetstheechoPin as anInput
 scale.begin(DOUT,CLK);
 scal
e.set_scale(calibration_factor);//Thisvalueisobtainedbyusingthe
SparkFun_HX711_Calibration sketch
 scale.tare();
   Serial.println(" InisialisasiLoadCell ");
 
 lcd.setCursor(0,0);
 lcd.print("   Inisialisasi  ");
 lcd.setCursor(0,1);
 lcd.print("     Sistem      ");
 Serial.println(" Inisialisasi Selesai ");
 delay(2000);
}

voidloop(){
 lcd.setCursor(0,0);
 lcd.print("ALAT MONITOR BMI");
 lcd.setCursor(0,1);
 lcd.print("SUHU TUBUH & NADI");

 pox.update();
 
 // Asynchronouslydumpheartrateandoxidationlevelstothe serial
27

 // For both, a value of 0 means "invalid"


 if(millis()-tsLastReport>REPORTING_PERIOD_MS){
     Serial.print("Heartrate:");
     Serial.print(pox.getHeartRate());
     tsLastReport=millis();}
 
 charkey=myKeypad.getKey();
 Serial.println(key);
 if(key){
 if(key=='1'){
   Serial.println(" NIM Enter ");
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Masukan NIM kamu:");
   lcd.setCursor(0,1);
     intj=10;
     inti=0;
     while(j<20){
       key=myKeypad.getKey();
       if(key){
         lcd.print(key);
         EEPROM.write(j,key);
         j++;
         i++;}}
   delay(1000);}
   
 elseif(key=='2'){
     EEPROM.write(2,0);
     Serial.println(" Gender Enter ");
     lcd.clear();
     lcd.setCursor(0,0);
     lcd.print("Jenis Kelamin:");
     lcd.setCursor(0,1);
     lcd.print("(A)PR - (B)LK");
     delay(3000);
  key=myKeypad.getKey();
  delay(200);}
  
 elseif(key=='A'){intGender=0;EEPROM.write(2,Gender);
     Serial.println(" Perempuan");
     lcd.clear();
     lcd.setCursor(0,0);
     lcd.print("Jenis Kelamin");
     lcd.setCursor(0,1);
     lcd.print("Perempuan");
     Serial.println(" OK ");
     delay(1000);}
     
 elseif(key=='B'){intGender=1;EEPROM.write(2,Gender);
     Serial.println(" Laki-laki");
     lcd.clear();
     lcd.setCursor(0,0);
     lcd.print("Jenis Kelamin");
     lcd.setCursor(0,1);
     lcd.print("Laki-Laki");
     Serial.println(" OK ");
28

     delay(1000);}
      
 elseif(key=='3'){
   Serial.println(" Body Mass Enter ");
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Pengukuran B.Berat:");
   delay(5000);
   floatberat=scale.get_units();
   lcd.setCursor(0,1);
   EEPROM.write(3,berat);
   Serial.println(" OK ");
   Serial.println(EEPROM.read(3)+" Kg");
   lcd.print(EEPROM.read(3));
   lcd.print(" kg");
   
   delay(2000);

   Serial.println(" BodyHeightEnter");
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Pengukuran T.Badan:");
   delay(5000);
   digitalWrite(trigPin,LOW);
   delayMicroseconds(2);
   digitalWrite(trigPin,HIGH);
   delayMicroseconds(10);
   digitalWrite(trigPin,LOW);
   duration=pulseIn(echoPin,HIGH);
   distance=duration*0.034/2;
   
   floattinggiPenyangga=185;
   floattinggiBadan=tinggiPenyangga-distance;
   EEPROM.write(4,tinggiBadan);
   Serial.println(" OK");
   Serial.println(EEPROM.read(4)+" CM");
   lcd.setCursor(0,1);
   lcd.print(EEPROM.read(4));
   lcd.print(" cm");
   delay(2000);
  
   floatm=EEPROM.read(3);
   Serial.println(m);
   floath=EEPROM.read(4);
   floathd=h/100;
   floath2=hd*hd;
   floatbmi=(m)/(h2);
   EEPROM.write(5,bmi);//Tinggi Badan
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("BMI: ");
   lcd.setCursor(0,1);
   lcd.print(EEPROM.read(5));
   delay(2000);
   }
29

 elseif(key=='4'){
   Serial.println(" BodyTemp. Enter ");
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Pengukuran");
   sensors.requestTemperatures();
   lcd.setCursor(0,1);
   lcd.print("Suhu Tubuh: ");
   delay(15000);
   floatsuhu=sensors.getTempCByIndex(0);
   lcd.print(suhu);
   lcd.print("*C");
   delay(2000);
   EEPROM.write(6,suhu);
   Serial.println(" OK");
   Serial.println(EEPROM.read(6)+" *C");}

 elseif(key=='5'){
   EEPROM.write(7,0);
   Serial.println(" HeartRateEnter ");
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Pengkuran Denyut");
   lcd.setCursor(0,1);
   lcd.print("Nadi: "     );
     lcd.setCursor(7,1);
     lcd.print(pox.getHeartRate());
     lcd.print(" bpm");
     delay(1000);
     tsLastReport=millis();
       
   EEPROM.write(7,pox.getHeartRate());
   Serial.println(" OK");
   Serial.println(EEPROM.read(7)+" BPM");
   
   delay(500);}

 elseif(key=='*'){
   buffer[0]=EEPROM.read(10);
   buffer[1]=EEPROM.read(11);
   nim1=atoi(buffer);
   nim1=String(nim1);
   
   buffer[0]=EEPROM.read(12);
   buffer[1]=EEPROM.read(13);
   nim2=atoi(buffer);
   nim2=String(nim2);
       
   buffer[0]=EEPROM.read(14);
   buffer[1]=EEPROM.read(15);
   nim3=atoi(buffer);
   nim3=String(nim3);
  
   buffer[0]=EEPROM.read(16);
   buffer[1]=EEPROM.read(17);
   nim4=atoi(buffer);
30

   nim4=String(nim4);
   
   buffer[0]=EEPROM.read(18);
   buffer[1]=EEPROM.read(19);
   nim5=atoi(buffer);
   nim5=String(nim5);
   
   Serial.println(" OK ");

   if(nim2=="0"||nim2=="1"||nim2=="2"||nim2=="3"||nim2=="4"||
nim2=="5"||nim2=="6"||nim2=="7"||nim2=="8"||
nim2=="9")nim2="0"+nim2;
   delay(50);
   if(nim3=="0"||nim3=="1"||nim3=="2"||nim3=="3"||nim3=="4"||
nim3=="5"||nim3=="6"||nim3=="7"||nim3=="8"||
nim3=="9")nim3="0"+nim3;
   delay(50);
   if(nim4=="0"||nim4=="1"||nim4=="2"||nim4=="3"||nim4=="4"||
nim4=="5"||nim4=="6"||nim4=="7"||nim4=="8"||
nim4=="9")nim4="0"+nim4;
   delay(50);
   if(nim5=="0"||nim5=="1"||nim5=="2"||nim5=="3"||nim5=="4"||
nim5=="5"||nim5=="6"||nim5=="7"||nim5=="8"||
nim5=="9")nim5="0"+nim5;
   delay(1500);

   NIM=nim1+nim2+nim3+nim4+nim5;
   data1=String(NIM);//Nomor Induk Mahasiswa
   s.print(data1);
   data2=String(EEPROM.read(2));//Jenis Kelamin
   s.print(data2);
   data3=String(EEPROM.read(3));//
   s.print(data3);
   data4=String(EEPROM.read(4));
   s.print(data4);
   data5=String(EEPROM.read(5));//BMI
   s.print(data5);
   data6=String(EEPROM.read(6));//Suhu Badan
   s.print(data6);
   data7=String(EEPROM.read(7));//Denyut Nadi
   s.println(data7);
           
   StringdataKirim  =String(data1)+
                       String(data2)+
                       String(data3)+
                       String(data4)+
                       String(data5)+
                       String(data6)+
                       String(data7);
                       
   Serial.println(dataKirim);
   delay(500);

   Serial.println(" Sending Data Command ");


   lcd.clear();
   lcd.setCursor(0,0);
31

   lcd.print("Mengirim Data");
   Serial.println("Mengirim Data");
   delay(1000);
   
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Proses.....");
   Serial.println("Proses.....");
   Serial.print(dataKirim);
   lcd.setCursor(0,1);
   lcd.print("Mengirim Data");
   delay(1000);
   lcd.clear();
   lcd.print(dataKirim);
   delay(2000);
   Serial.println("Mengirim Data");
   Serial.println(" OK");

   Serial.print(char(176));
   //s.println(dataKirim);
   }
 }
         
 delay(100);}

 voidonBeatDetected()
{Serial.println("Beat!");}
32

3.7.2. Pemograman Perancangan Web


Web digunakan sebagai penampil data absensi, data data tersebut berupa
nama mahasiswa, NIM, tanggal, dan waktu tapping absensi. Web dapat dibuka
dengan mengunjungi alamat IP dari server melalui browser.

Sebelum melakukan instalasi server, maka harus terlebih dahulu melakukan


penginstalan software XAMPP pada laptop yang digunakan sebagai server. Pada
tugas akhir ini penulis menginstal server pada sebuah laptop, dan menginstalnya
pada Disk D (D:\). Kemudian file instalasi akan berada pada D:\xampp. Di dalam
folder tersebut akan terdapat banyak folder.

Web dibangun dengan Bahasa PHP. Sebelumnya server harus terlebih


dahulu dibuatkan database untuk menyimpan data absensi dengan MySQL.

Masuk kedalam folder htdocs. Lalu buat folder baru dan beri nama “bmi”.
Nantinya didalam folder ini akan disimpan file php yang bertugas menampilkan
data absensi dan menyimpan data absensi ke database.
33

Didalam folder “bmi” akan dibuat tiga file php pendukung kinerja server.
Diantaranya terdapat program php untuk menyimpan data yang dikirim oleh
NodeMCU ke server lalu memasukannya kedalam database, file program ini
diberi nama “postdata.php”. Kemudian terdapat file program yang bertugas
menampilkan data absensi kedalam tampilan web, file program ini akan diberi
nama “viewdata.php”.

3.7.3. Perancangan Database


Untuk melakukan pembuatan database, pada tugas akhir ini kami cukup
menjalankan program php berikut, dengan nama installdatabase.php

<?php
$servername = "localhost";
$username = "root";
$password = "";

$conn = new mysqli($servername, $username,


$password);

if ($conn->connect_error) {
die("Connection failed: " . $conn-
>connect_error);}
34

$sql = "CREATE DATABASE data_data";


if ($conn->query($sql) === TRUE) {
echo "Database created successfully";}
else {
echo "Error creating database: " . $conn->error;}

$conn->close();
echo "<br>";
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "data_data";

$conn = new mysqli($servername, $username,


$password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn-
>connect_error);}

$sql = "CREATE TABLE data_bmi (


id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nim VARCHAR(50),
gender VARCHAR(50),
berat_badan VARCHAR(50),
tinggi_badan VARCHAR(50),
bmi VARCHAR(50),
suhu_badan VARCHAR(50),
denyut_nadi VARCHAR(50),
`Date` DATE NULL,
`Time` TIME NULL,
35

`TimeStamp` TIMESTAMP NULL DEFAULT


CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";

if ($conn->query($sql) === TRUE) {


echo "Table created successfully";
} else {
echo "Error creating table: " . $conn->error;
}

$conn->close();?>

3.7.4. Setting File dan Folder Web di Server

Gambar 3.17. Layout folder dan file web didalam server

D:/xampp
├── htdocs/
   ├── bmi
   ├──installdatabase.php
├──postdata.php
├──viewdata.php

Folder bmi didalam folder htdocs sebagai folder utama, yaitu tempat menyimpan
seluruh file konfigurasi sistem web, baik tempat diletakkannya file php pengontrol
database (postdta.php) dan penampil data ke browser (viewdata.php). Berikut ini
merupakan gambar web yang ditampilkan oleh viewdata.php.
36

Cara Kerja Sistem Informasi Web


Sistem kerja alat alau dirunut dari hardware – server – browser maka akan
tampak seperti gambar berkut:

Gambar Sistem Kerja Web

Penjelasan dari gambar diatas:


1. Data sensor yang di kumpulkanArduino yang dibaca dari sensor-sensor
yang terhubung akan dikrimkan NodeMCU, lalu NodeMCU akan
mengirimkan nama tersebut bersama ke file postdata yang ada didalam
server melalui jaringan wifi yang dihasilkan oleh hostpot atau router
disekitarnya.
2. Oleh postdata.php, data sensor - sensor tadi akan dimasukkan kedalam
database beserta waktu dan tanggal saat itu. Data tersebut akan
tersimpan seterusnya kedalam database.
37

3. Kemudian apabila pengguna mengunjung ip address server diserta file


php yang dituju untuk menamplkan data ke browser, contoh
http://192.168.xxx.xxx/bmi/viewdata.php, maka akan muncul table yang
berisi NIM dan variable-variable terukur yang sudah terekam didalam
database server.

Gambar Tampilan Web


38
39

3.8. Desain Flowchart Sistem


Flowchart atau Bagan alir adalah bagan (chart) yang menunjukkan alir
(flow) di dalam program atau prosedur sistem secara logika.
Tabel 3.2. Simbol flowchart
40

3.8.1. Flowchart Sistem

Gambar 3.32. Flowchart Sistem


41

3.9. Desain Mekanik Alat

Gambar 3.37. Desain Mesin Absensi dalam bentuk Box


BAB 4

HASIL DAN PEMBAHASAN

4.1. Pengujian Sistem


Pengujian dan pengukuran dilakukan untuk membuktikan apakah sistem
yang telah dibuat bekerja sesuai dengan spesifikasi yang telah ditentukan. Dalam
pengujian dilakukan pengukuran yang nantinya akan digunakan untuk
menganalisa hardware pendukungnya, dan pembacaan sensor.
4.1.1. Pengujian Adaptor
Alat ini digunakan sebagai penghasil listrik dengan prinsip dasar merubah
tegangan AC menjadi DC dan akan menyesuaikan dengan tegangan kerja
arduino nano dengan keluaran arus mencapai 1A stelah diuji maka
didapatkan hasil seperti pada tabel dibawah

Tabel 4.1. Hasil pengukuran tegangan pada adaptor


V AC PLN (V) V DC Adaptor (V)
221 12,35

4.1.2. Pengujian pengukuran tinggi badan


Sensor pengukuran tinggi badan menggunakan sensor ultrasonik HC-SR04 yang
diletakkan pada ujung sebuah tiang dengan ketinggian 180cm yang membaca
tinggi badan seseorang yang ada dibawahnya dengan mengubah besaran fisis
menjadi energi listrik sehingga dapat menafsirkan tinggi seseorang melalui
pengurangan tinggi tiang dengan jarak seseorang terhadap sensor pengukuran
akan otomatis dimulai setelah pengukuran berat badan selesai sensor bekerja
dengan 3 reponden yang berbeda didapatkan hasil seperti tabel dibawah

42
43

Orang ke- Pengukuranke- HasilPengukuran (cm)


1 1 160
2 159
3 163
4 160
5 162
2 1 164
2 165
3 164
4 166
5 166
3 1 152
2 151
3 149
4 151
5 148

4.1.3. Pengujian pengukuran berat badan


Pengukuran berap badan menggunakan 4 buah loadcell yang dirancang
mendeteksi tekanan atau beban digunakan alas segi empat dan masing masing
sudut diletakkan loadcell tersebut , sesorang menaiki alas segi empat tersebut
dengan posisi kaki sejajar ditengah dengan mencet tombol 3 akan memerintahkan
membaca berat sesorang tersebut dengan 3 responden berbeda didapatkan hasil
seperti tabel dibawah

Tabel 4.1. Hasil pengukuran berat badan


Orang ke- Pengukuranke- HasilPengukuran (kg)
1 1 74,5
2 74,4
3 80,2
4 79,1
5 79,2
2 1 45,5
2 44,5
3 44,2
4 44,7
5 44,3
3 1 46,8
2 47,6
3 48,3
4 46,4
44

5 46,7

4.1.4. Pengujian pengukuran suhu badan


Sensor suhu DS18B20 merupakan sensor yang bekerja setelah diberi
perintah dengan menekan tombol 4 pada keypad dan meletakkan sensor tersebut
pada bagian leher atau ketiak dan didapat hasil seperti tabel dibawah

Tabel 4.1. Hasilpengukuransuhubadan


Orang ke- Pengukuranke- HasilPengukuran (°C)
1 1 36,1
2 36,9
3 36,7
4 36,7
5 37
2 1 36,3
2 36,3
3 36,3
4 36,2
5 36,7
3 1 35,8
2 35,9
3 36,1
4 36,4
5 36
4.1.5. Pengujian pengukuran denyut nadi
Denyut Nadi diukur dengan sensor MAX30100 dengan meletakkan ujung jari
pada sensor tersebut dan kemudian memencet tombol 5 maka akan didapatkan
hasil seperti tabel berikut

Tabel 4.1. Hasilpengukurandenyutnadi


Orang ke- Pengukuranke- HasilPengukuran (bpm)
1 1 30,14
2 29,92
3 30,15
4 29,79
5 29,55
2 1 70,05
2 92
3 99
4 90
5 84
45

3 1 80,03
2 60,05
3 63,08
4 85,63
5 69,023

4.2. SpesifikasiAlat

Gambar4.12. Tampak Desai nMekanik Alat

Tabel 4.7. Spesifikasi Robot


Spesifikasi Robot
Sensor yang digunakan 1. Sensor Ultrasonic HC-SR04
2. Sensor DenyutNadi MAX30100
3. Sensor BeratBadanLoadcell
4. Sensor SuhuBadan DS18B20
Fitur 1. Kontrol urutan pembacaan melalui Keypad 4x4
2. LCD Alphanumeric 1602 untuk menampilkan
data sensor
Kemampuan pembacaan berat 200 Kg
badan
Kemampuan pembacaan tinggi 180 cm
badan
Kemampuan pembacaan suhu -55 s/d 125 °C
badan
DimensiAlat (350 x 350 x 1950) mm
46

CatuDaya 12V 2A
BAB 5

SIMPULAN DAN SARAN

5.1 Simpulan

Setelah menyelesaikan perancangan dan pembuatan serta menganalisa ,maka


dapat diambil kesimpulan bahwa :

1. Alat ini akan berfungsi setelah dihubungkan dengan sumber tegangan


dengan jenis adaptor 12 volt
2. Alat ini mempermudah kita mengukur berat badan , tinggi badan, suhu
tubuh dan denyut nadi
3. Alat ini berjalan sesuai fungsi dengan memencet tombol keypad sesuai
dengan keperluan pengukuran `
4. Ketika pengukuran selesai pengguna menekan tombol tertentu maka akan
terkirim ke web yang telah tersedia dan pengukuran selanjutnya dapat
dimulai tanpa harus merestrart sistem`
5. Untuk mengukur tinggi badan tidak boleh ada penutup
kepala/penghalangg agar mendapatkan hasil yang akurat
6. Posisi kaki pada saat menaiki sensor loadcell harus sejajar akgar hasilnya
lebih akurat

47
48

5.2 Saran

1. Alat ini masih jauh dari kata sempurna . oleh karena itu, kami sarankan
agar alat ini dapat terus dikembangkan dengan menambahkan komponen
yang lebih mendukung seperti menggunakan sensor yang lebih akurat
dan desain yang lebih ringan atau kokoh
2. Kami sarankan alat ini kedepannya dibuat lebih kecil toleransinya
dibawah 2%
DAFTAR PUSTAKA

Decover Willian D., 1978, Electronic Instrumention and Measurement


Techniques , india , Penerbit Erlangga.

Knight, John F. 2001. Family arduino Care Volume 4. Bandung: Indonesia


Publishing House.

usilo, Rahaden, Rudi Sucipto dan Angga Sela. 2002. Sensor elektro . Malang:
Bagian Penerbitan Fisika UB

http://blog.vcc2gnd.com/2014/02/mg995-high-torque-metal-gear-servo-
motor_32.html

http://www.scribd.com/doc/225500394/Jurnal
http://electrosome.com/interfacing-servo-motor-with-atmega32-
microcontroller/
http://dosen.narotama.ac.id/wp-content/uploads/2012/01/Bmi.pdf
http://zonaelektro.net/sensor/

http://antosusilo.blog.uns.ac.id/2009/09/07/sistem-sensor-HC-SR05/

http://elektronika-dasar.web.id/komponen/sensor-tranducer/infra-red-ir-
detektor

sensor-loadcell/

http://id.wikipedia.org/wiki/arduinonanohttps://rayendente.wordpress.com/201
5/03/26/sensor-inframerah/

http://saptaji.com/2016/06/27/bekerja-dengan-i2c-lcd-dan-arduino/

http://eko-rudiawan.com/rangkaian-power-supply-sederhana/

49
50

LAMPIRAN

Pemograman Arduino Nano


#include<Keypad.h>
#include<EEPROM.h>
#include"HX711.h"
#include<OneWire.h>
#include<DallasTemperature.h>
#include<Wire.h>
#include<LiquidCrystal_I2C.h>
#include"MAX30100_PulseOximeter.h"
#include"MAX30100.h"
#include<SoftwareSerial.h>
SoftwareSerials(5,6);// (Rx, Tx)

longduration;
intdistance,Gender;
charbuffer[2];
StringNIM,nim1,nim2,nim3,nim4,nim5,data1,data2,data3,data4,data5,d
ata6,data7;

#defineREPORTING_PERIOD_MS1000
#definecalibration_factor-22600.0

#definetrigPin13
#defineechoPin12
#defineONE_WIRE_BUSA0
#defineDOUT  3
#defineCLK  2

constbyteROWS=4;//fourrows
constbyteCOLS=4;//fourcolumns

charhexaKeys[ROWS][COLS]=
{  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}  };
  
byterowPins[ROWS]={4,7,8,9};
bytecolPins[COLS]={10,11,A2,A3};

KeypadmyKeypad=Keypad(makeKeymap(hexaKeys),rowPins,colPins,ROWS,CO
LS);

HX711scale;
OneWireoneWire(ONE_WIRE_BUS);
DallasTemperaturesensors(&oneWire);
LiquidCrystal_I2Clcd(0x27,16,2);
PulseOximeterpox;
uint32_ttsLastReport=0;
51

voidsetup(){
 Serial.begin(115200);// Startsthe serial communication
 s.begin(9600);
 lcd.begin();
   Serial.println(" Inisialisasi LCD ");
 
 //esp.begin(9600);
 sensors.begin();
   Serial.println(" Inisialisasi DS18B20 ");
   
 Wire.begin();
   Serial.println(" Inisialisasi I2C ");
   
 pox.begin();
   Serial.println(" Inisialisasi MAX30100 ");

 //reset();
 //connectWifi();  
 
 //pox.setOnBeatDetectedCallback(onBeatDetected);
 pinMode(trigPin,OUTPUT);// SetsthetrigPin as anOutput
 pinMode(echoPin,INPUT);// SetstheechoPin as anInput
 scale.begin(DOUT,CLK);
 scal
e.set_scale(calibration_factor);//Thisvalueisobtainedbyusingthe
SparkFun_HX711_Calibration sketch
 scale.tare();
   Serial.println(" InisialisasiLoadCell ");
 
 lcd.setCursor(0,0);
 lcd.print("   Inisialisasi  ");
 lcd.setCursor(0,1);
 lcd.print("     Sistem      ");
 Serial.println(" Inisialisasi Selesai ");
 delay(2000);
}

voidloop(){
 lcd.setCursor(0,0);
 lcd.print("ALAT MONITOR BMI");
 lcd.setCursor(0,1);
 lcd.print("SUHU TUBUH & NADI");

 pox.update();
 
 // Asynchronouslydumpheartrateandoxidationlevelstothe serial
 // For both, a value of 0 means "invalid"
 if(millis()-tsLastReport>REPORTING_PERIOD_MS){
     Serial.print("Heartrate:");
     Serial.print(pox.getHeartRate());
     tsLastReport=millis();}
 
 charkey=myKeypad.getKey();
 Serial.println(key);
 if(key){
 if(key=='1'){
52

   Serial.println(" NIM Enter ");


   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Masukan NIM kamu:");
   lcd.setCursor(0,1);
     intj=10;
     inti=0;
     while(j<20){
       key=myKeypad.getKey();
       if(key){
         lcd.print(key);
         EEPROM.write(j,key);
         j++;
         i++;}}
   delay(1000);}
   
 elseif(key=='2'){
     EEPROM.write(2,0);
     Serial.println(" Gender Enter ");
     lcd.clear();
     lcd.setCursor(0,0);
     lcd.print("Jenis Kelamin:");
     lcd.setCursor(0,1);
     lcd.print("(A)PR - (B)LK");
     delay(3000);
  key=myKeypad.getKey();
  delay(200);}
  
 elseif(key=='A'){intGender=0;EEPROM.write(2,Gender);
     Serial.println(" Perempuan");
     lcd.clear();
     lcd.setCursor(0,0);
     lcd.print("Jenis Kelamin");
     lcd.setCursor(0,1);
     lcd.print("Perempuan");
     Serial.println(" OK ");
     delay(1000);}
     
 elseif(key=='B'){intGender=1;EEPROM.write(2,Gender);
     Serial.println(" Laki-laki");
     lcd.clear();
     lcd.setCursor(0,0);
     lcd.print("Jenis Kelamin");
     lcd.setCursor(0,1);
     lcd.print("Laki-Laki");
     Serial.println(" OK ");
     delay(1000);}
      
 elseif(key=='3'){
   Serial.println(" Body Mass Enter ");
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Pengukuran B.Berat:");
   delay(5000);
   floatberat=scale.get_units();
   lcd.setCursor(0,1);
53

   EEPROM.write(3,berat);
   Serial.println(" OK ");
   Serial.println(EEPROM.read(3)+" Kg");
   lcd.print(EEPROM.read(3));
   lcd.print(" kg");
   
   delay(2000);

   Serial.println(" BodyHeightEnter");
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Pengukuran T.Badan:");
   delay(5000);
   digitalWrite(trigPin,LOW);
   delayMicroseconds(2);
   digitalWrite(trigPin,HIGH);
   delayMicroseconds(10);
   digitalWrite(trigPin,LOW);
   duration=pulseIn(echoPin,HIGH);
   distance=duration*0.034/2;
   
   floattinggiPenyangga=185;
   floattinggiBadan=tinggiPenyangga-distance;
   EEPROM.write(4,tinggiBadan);
   Serial.println(" OK");
   Serial.println(EEPROM.read(4)+" CM");
   lcd.setCursor(0,1);
   lcd.print(EEPROM.read(4));
   lcd.print(" cm");
   delay(2000);
  
   floatm=EEPROM.read(3);
   Serial.println(m);
   floath=EEPROM.read(4);
   floathd=h/100;
   floath2=hd*hd;
   floatbmi=(m)/(h2);
   EEPROM.write(5,bmi);//Tinggi Badan
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("BMI: ");
   lcd.setCursor(0,1);
   lcd.print(EEPROM.read(5));
   delay(2000);
   }

 elseif(key=='4'){
   Serial.println(" BodyTemp. Enter ");
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Pengukuran");
   sensors.requestTemperatures();
   lcd.setCursor(0,1);
   lcd.print("Suhu Tubuh: ");
   delay(15000);
   floatsuhu=sensors.getTempCByIndex(0);
54

   lcd.print(suhu);
   lcd.print("*C");
   delay(2000);
   EEPROM.write(6,suhu);
   Serial.println(" OK");
   Serial.println(EEPROM.read(6)+" *C");}

 elseif(key=='5'){
   EEPROM.write(7,0);
   Serial.println(" HeartRateEnter ");
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Pengkuran Denyut");
   lcd.setCursor(0,1);
   lcd.print("Nadi: "     );
     lcd.setCursor(7,1);
     lcd.print(pox.getHeartRate());
     lcd.print(" bpm");
     delay(1000);
     tsLastReport=millis();
       
   EEPROM.write(7,pox.getHeartRate());
   Serial.println(" OK");
   Serial.println(EEPROM.read(7)+" BPM");
   
   delay(500);}

 elseif(key=='*'){
   buffer[0]=EEPROM.read(10);
   buffer[1]=EEPROM.read(11);
   nim1=atoi(buffer);
   nim1=String(nim1);
   
   buffer[0]=EEPROM.read(12);
   buffer[1]=EEPROM.read(13);
   nim2=atoi(buffer);
   nim2=String(nim2);
       
   buffer[0]=EEPROM.read(14);
   buffer[1]=EEPROM.read(15);
   nim3=atoi(buffer);
   nim3=String(nim3);
  
   buffer[0]=EEPROM.read(16);
   buffer[1]=EEPROM.read(17);
   nim4=atoi(buffer);
   nim4=String(nim4);
   
   buffer[0]=EEPROM.read(18);
   buffer[1]=EEPROM.read(19);
   nim5=atoi(buffer);
   nim5=String(nim5);
   
   Serial.println(" OK ");
55

   if(nim2=="0"||nim2=="1"||nim2=="2"||nim2=="3"||nim2=="4"||
nim2=="5"||nim2=="6"||nim2=="7"||nim2=="8"||
nim2=="9")nim2="0"+nim2;
   delay(50);
   if(nim3=="0"||nim3=="1"||nim3=="2"||nim3=="3"||nim3=="4"||
nim3=="5"||nim3=="6"||nim3=="7"||nim3=="8"||
nim3=="9")nim3="0"+nim3;
   delay(50);
   if(nim4=="0"||nim4=="1"||nim4=="2"||nim4=="3"||nim4=="4"||
nim4=="5"||nim4=="6"||nim4=="7"||nim4=="8"||
nim4=="9")nim4="0"+nim4;
   delay(50);
   if(nim5=="0"||nim5=="1"||nim5=="2"||nim5=="3"||nim5=="4"||
nim5=="5"||nim5=="6"||nim5=="7"||nim5=="8"||
nim5=="9")nim5="0"+nim5;
   delay(1500);

   NIM=nim1+nim2+nim3+nim4+nim5;
   data1=String(NIM);//Nomor Induk Mahasiswa
   s.print(data1);
   data2=String(EEPROM.read(2));//Jenis Kelamin
   s.print(data2);
   data3=String(EEPROM.read(3));//
   s.print(data3);
   data4=String(EEPROM.read(4));
   s.print(data4);
   data5=String(EEPROM.read(5));//BMI
   s.print(data5);
   data6=String(EEPROM.read(6));//Suhu Badan
   s.print(data6);
   data7=String(EEPROM.read(7));//Denyut Nadi
   s.println(data7);
           
   StringdataKirim  =String(data1)+
                       String(data2)+
                       String(data3)+
                       String(data4)+
                       String(data5)+
                       String(data6)+
                       String(data7);
                       
   Serial.println(dataKirim);
   delay(500);

   Serial.println(" Sending Data Command ");


   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Mengirim Data");
   Serial.println("Mengirim Data");
   delay(1000);
   
   lcd.clear();
   lcd.setCursor(0,0);
   lcd.print("Proses.....");
   Serial.println("Proses.....");
   Serial.print(dataKirim);
56

   lcd.setCursor(0,1);
   lcd.print("Mengirim Data");
   delay(1000);
   lcd.clear();
   lcd.print(dataKirim);
   delay(2000);
   Serial.println("Mengirim Data");
   Serial.println(" OK");

   Serial.print(char(176));
   //s.println(dataKirim);
   }
 }
         
 delay(100);}

 voidonBeatDetected()
{Serial.println("Beat!");}

Pemograman NodeMCU
#include<ESP8266WiFi.h>
#include<WiFiClient.h>
#include<ESP8266WebServer.h>
#include<ESP8266HTTPClient.h>

Stringdata;
Stringupload,nim,gender,berat,tinggi,bmi,suhu,nadi;

constchar*ssid="iphoney";
constchar*password="enggaktau";
constchar*host="192.168.43.120";//server
WiFiServerserver(8080);

voidsetup(){
 // Open serial communicationsandwait for porttoopen:
 Serial.begin(9600);
 while(!Serial){
   ;// wait for serial porttoconnect. Needed for native USB
portonly
 }

 delay(1000);
 WiFi.mode(WIFI_OFF);
 delay(1000);
 WiFi.mode(WIFI_STA);

 WiFi.begin(ssid,password);
 while(WiFi.status()!=WL_CONNECTED){
 delay(500);

 server.begin();}
 }

voidloop(){// runoverandover
57

 if(Serial.available()){
   Serial.write(Serial.read());
 }
   //1505042023150175173345
   data=Serial.readString();
   nim=data.substring(0,10);
   gender=data.substring(10,11);
   berat=data.substring(11,13);
   tinggi=data.substring(13,16);
   bmi=data.substring(16,18);
   suhu=data.substring(18,20);
   nadi=data.substring(20,22);
   
   Serial.print("nim: ");
   Serial.print(nim);
   Serial.print(" gender: ");
   Serial.print(gender);
   Serial.print(" berat: ");
   Serial.print(berat);
   Serial.print(" tinggi: ");
   Serial.print(tinggi);
   Serial.print(" bmi: ");
   Serial.print(bmi);
   Serial.print(" suhu: ");
   Serial.print(suhu);
   Serial.print(" nadi: ");
   Serial.println(nadi);

   HTTPClienthttp;
   StringpostData;

   postData="nim="+nim+"&gender="+gender+"&berat="+berat
            +"&tinggi="+tinggi+"&bmi="+bmi+"&suhu="+suhu
            +"&nadi="+nadi;

   http.begin("http://192.168.43.120:8080/bmi/postdata.php");
//Specifyrequestdestination
   http.addHeader("Content-Type","application/x-www-form-
urlencoded");    //Specifycontent-typeheader
 
   inthttpCode=http.POST(postData);   //Sendtherequest
   Stringpayload=http.getString();
 
   http.end();  //menutup koneksi
   delay(50);
 }

S-ar putea să vă placă și