Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
-
Upload
kesa-camelya -
Category
Documents
-
view
230 -
download
0
Transcript of Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
1/27
LAPORAN UAS
PENGHITUNGAN DENYUT JANTUNG MENGGUNAKAN
GROVE CHEST STRAP HEART RATE SENSOR DENGAN
ARDUINO UNO
DISUSUN OLEH :
Fitria Agista Santi (1110091000035)
Eka Risky Firmansyah (1110091000043)
Teknik Informatika 2010
Fakultas Sains dan Teknologi
Universitas Islam Negeri (UIN) Syarif Hidayatullah Jakarta
2013
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
2/27
2
KATA PENGANTAR
Puji syukur kami ucapkan kepada Allah SWT, karena dengan rahmat Nya
penyusun telah dapat menyelesaikan makalah yang berjudul PENGHITUNGAN
DENYUT JANTUNG MENGGUNAKAN GROVE CHEST STRAP HEART RATE SENSOR
DENGAN ARDUINO UNO. Tidak lupa kami ucapkan shalawat dan salam kepada
junjungan kita Nabi besar Muhammad SAW.
Penyusun menyampaikan ucapan terima kasih yang tak terhingga kepada pihak-
pihak yang membantu dalam menyelesaikan makalah ini, khususnya kepada Ibu Neni
selaku dosen matakuliah Embedded System, teman teman, dan semua pihak yang tidak
dapat disebutkan satu persatu.
Dalam penyusunan makalah ini, penyusun merasa masih banyak kekurangan-
kekurangan baik pada teknis penulisan maupun materi, mengingat akan kemampuan
yang dimiliki penyusun. Untuk itu kritik dan saran dari semua pihak sangat penyusun
harapkan demi penyempurnaan pembuatan makalah ini. Semoga makalah ini dapat
bermanfaat bagi kita semua.
Ciputat, 15 Januari 2013
Penyusun
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
3/27
DAFTAR ISI
KATA PENGANTAR ................................................................................................................ 2
DAFTAR ISI ............................................................................................................................ 3
BAB 1 PENDAHULUAN .......................................................................................................... 4
1.1. LATAR BELAKANG......................................................................................................... 4
1.2. TUJUAN ..................................................................................................................... 4
1.3. RUMUSAN MASALAH .................................................................................................... 5
1.4. BATASAN MASALAH ..................................................................................................... 5
BAB 2 LANDASAN TEORI ....................................................................................................... 6
2.1.DENYUT NADI ................................................................................................................. 6
2.2.EMBEDDED SYSTEM .......................................................................................................... 7
2.2.1. Pengertian ............................................................................................................ 7
2.2.2. Karakteristik ......................................................................................................... 7
2.2.3. Contoh Penggunaan ............................................................................................. 7
2.3.GRAPH INTERFACE............................................................................................................ 8
2.4. TEORI KOMPONEN ........................................................................................................... 8
2.4.1. Komponen Utama ................................................................................................ 8
2.4.2. Komponen Tambahan ........................................................................................ 12
BAB 3 PEMBAHASAN .......................................................................................................... 14
3.1. KOMPONEN UTAMA DAN TAMBAHAN............................................................................. 14
3.1.1. Komponen Utama .............................................................................................. 14
3.1.2. Komponen Tambahan ........................................................................................ 14
3.2. PERANCANGAN ALAT .................................................................................................. 14
3.2.1. Skematik Rangkaian ........................................................................................... 14
3.2.2. Langkah Percobaan ............................................................................................ 15
3.3.HASIL PERCOBAAN ......................................................................................................... 24
BAB 4 PENUTUP .................................................................................................................. 26
4.1.KESIMPULAN ................................................................................................................. 26
4.2.SARAN ........................................................................................................................ 26
DAFTAR PUSTAKA ............................................................................................................... 27
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
4/27
4
BAB 1
PENDAHULUAN
1.1. Latar BelakangKesehatan merupakan bagian yang penting bagi manusia karena dengan
sehat kita dapat melakukan berbagai kegiatan dan berpikir dengan baik. Jantung
yang mengontrol peredaran darah. Untuk mengetahui keadaan jantung
diperlukan alat yang menghitung denyut jantung kita.
Mahalnya alat kedokteran dan kurangnya waktu seseorang untuk
melakukan pemeriksaan di rumah sakit menyulitkan seseorang untuk
mengawasi kesehatan, terutama kesehatan jantung. Untuk itu dibutuhkan alatsederhana yang memiliki kemudahan dalam pengoperasiannya dan dapat
digunakan di rumah walaupun saat sedang beraktifitas.
Alat perekam denyut jantung berbasis mikrokontroler dapat
menggunakan Grove Chest Strap Heart Rate Sensor yang mampu menangkap
sinyal denyut jantung. Dengan menggunakan pengantarmukaan parallel pada
komunikasinya, proses ini mengubah sinyal analog menjadi sinyal digital yang
akan diteruskan ke komputer melalui perangkat Arduino UNO, komunikasiantara sensor dengan Arduino UNO menggunakan gelombang radio AM
(nirkabel). Bahasa pemrograman C pada Arduino digunakan untuk menampilkan
data denyut jantung dalam bentuk stream pada serial port, kemudian
menggunakan software processing dengan bahasa pemrograman Java untuk
merubah data serial tersebut menjadi grafik dari denyut jantung yang nantinya
dapat dihitung besarnya frekuensi dari denyutan jantung tersebut dalam satuan
bpm (beats per minute).
1.2. TujuanTujuan yang ingin dicapai dalam penelitian ini adalah :
Membuktikan sistem Grove - Chest Strap Heart Rate Sensor mampumenghitung denyut jantung.
Membuat alat penghitung frekuensi denyut jantung dengan hasil tampilandalam bentuk angka dan grafik di komputer atau laptop.
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
5/27
Membuat alat penghitung denyut jantung nirkabel.
1.3. Rumusan Masalah Komponen apa saja yang dibutuhkan dalam pembuatan alat penghitung
denyut jantung?
Bagaimana langkah-langkah pembuatannya? Bagaimana hasil outputnya?
1.4. Batasan MasalahBatasan masalah yang dilakukan pada penelitian ini, yaitu:
Alat ini memanfaatkan program dan teknologi dari perangkat Arduino UNO. Hanya melakukan analisa teknis dan tidak melakukan analisa medis. Frekuensi detak jantung ini dinyatakan dalam satuan BPM(beats per minute).
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
6/27
6
BAB 2
LANDASAN TEORI
2.1. Denyut NadiDenyut merupakan pemeriksaan pada pembuluh nadi atau arteri. Ukuran
kecepatannya diukur pada beberapa titik denyut misalnya denyut arteri radialis
pada pergelangan tangan, arteri brachialis pada lengan atas, arteri karotis pada
leher, arteri poplitea pada belakang lutut, arteri dorsalis pedis atau arteri tibialis
posterior pada kaki. Pemeriksaan denyut dapat dilakukan dengan bantuan
stetoskop.
Denyut jantung yang normal yakni 60-100 kali setiap menit, sedang denyutjantung lambat kurang dari 60 kali per menit dan yang cepat lebih dari 100 kali
per menit.
Nadi adalah denyut nadi yang teraba pada dinding pembuluh darah arteri
yang berdasarkan systol dan gystole dari jantung.
Jumlah denyut nadi yang normal berdasarkan usia seseorang adalah:
1. Bayi baru lahir :140 kali per menit2. Umur di bawah umur 1 bulan : 110 kali per menit3. Umur 1 - 6 bulan :130 kali per menit4. Umur 6 - 12 bulan :115 kali per menit5. Umur 1 - 2 tahun :110 kali per menit6. Umur 2 - 6 tahun :105 kali per menit7. Umur 6 - 10 tahun : 95 kali per menit8. Umur 10 - 14 tahun : 85 kali per menit9. Umur 14 - 18 tahun : 82 kali per menit10.Umur di atas 18 tahun : 60 - 100 kali per menit11.Usia Lanjut : 60 -70 kali per menit
llmu Kedokteran olahraga FKUI-RSCM, mengetahui denyut nadi merupakan
dasar untuk melakukan latihan fisik yang benar dan terukur. "Dari denyut nadi,
dapat diketahui intensitas atau seberapa keras seseorang melakukan latihan. Atau
seberapa keras jantungnya bekerja."
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
7/27
2.2. Embedded System
2.2.1. Pengertian
Merupakan sebuah sistem yang memiliki fungsi utama bukan hanya
untuk komputasi, melainkan juga dikontrol oleh komputer. [2] Embeddedwithin it. Embedded system merupakan sebuah sistem (rangkaian
elektronik) digital yang merupakan bagian dari sebuah sistem yang lebih
besar, yang biasanya bukan berupa sistem elektronik. Kata embedded
menunjukkan bahwa dia merupakan bagian yang tidak dapat berdiri
sendiri. Embedded system biasanya merupakan application-specific system
yang didisain khusus untuk aplikasi tertentu. Contoh sistem atau
aplikasinya antara lain adalah instrumentasi medik (medical
instrumentation),process control, automated vehicles control, dan perangkat
komunikasi (networking and communication systems). Ini berbeda dengan
sistem digital yang didesain untuk general purpose. Embedded system
biasanya diimplementasikan dengan menggunakan mikrokontroler
(microcontroller). Berikut ini contoh penggunaan embedded system :
2.2.2. Karakteristik
Menjadi bagian dari system yang lebih besar : Periferal terbatas Application-specific: Baik hardware maupun software dirancang khusus untuk aplikasi
yang spesifik
Tetapi, re-programmability merupakan suatu kebutuhan HALT merupakan suatu badstate
Interaksi dengan dunia fisik2.2.3. Contoh Penggunaan
Signal processing systems, Real-time video, settopboxes, DVD players,medical equipment,residential gateways
Distributed control, Network routers, switches,firewalls, mass transitsystems, elevators
Small systems, Mobile phones, pagers, homeappliances, toys,smartcards, MP3 players, PDAs,digital cameras, sensors, smart badges
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
8/27
8
2.3. Graph Interface
Ketika source code di upload, Arduino akan mengirim byte data denyut
jantung ke komputer pribadi dalam bentuk serial port, kemudian data tersebut
akan dirubah hasilnya berupa grafik dengan menggunakan program Processing.
Hal ini disebut komunikasi serial karena sambungan Arduino dan komputer
sebagai port serial, meskipun sebenarnya dapat menggunakan kabel USB. Untuk
melihat data yang dikirim, atau dapat dibaca oleh aplikasi untuk pengolahan data,
Flash, PD, Max / MSP, dll menggunakan monitor Arduino.
Dengan hasil berupa grafik, dokter dapat memonitor pasien secara simultan
dan untuk membuat keputusan kesehatan seseorang berdasarkan subyek yang
diteliti. Untuk dapat menghasilkan interface berupa grafik, diperlukan source code
program Processing.
2.4. Teori Komponen
2.4.1. Komponen Utama
a. Arduino UNO
Arduino UNO adalah sebuah board mikrokontroler yang
didasarkan pada ATmega328. Arduino UNO mempunyai 14 pin digital
input/output (6 di antaranya dapat digunakan sebagai output PWM), 6
input analog, sebuah osilator Kristal 16 MHz, sebuah koneksi USB,
sebuah power jack, sebuah ICSP header, dan sebuat tombol reset.
Arduino UNO memuat semua yang dibutuhkan untuk menunjang
mikrokontroler, mudah menghubungkannya ke sebuah computer
dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC
ke DC atau menggunakan baterai untuk memulainya.
Arduino Uno berbeda dari semua board Arduino sebelumnya,
Arduino UNO tidak menggunakan chip driver FTDI USB-to-serial.
Sebaliknya, fitur-fitur Atmega16U2 (Atmega8U2 sampai ke versi R2)
diprogram sebagai sebuah pengubah USB ke serial. Revisi 2 dari board
Arduino Uno mempunyai sebuah resistor yang menarik garis 8U2 HWB
ke ground, yang membuatnya lebih mudah untuk diletakkan ke dalam
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
9/27
DFU mode. Revisi 3 dari board Arduino UNO memiliki fitur-fitur baru
sebagai berikut:
Pinout 1.0: ditambah pin SDA dan SCL yang dekat dengan pin AREFdan dua pin baru lainnya yang diletakkan dekat dengan pin RESET,IOREF yang memungkinkan shield-shield untuk menyesuaikan
tegangan yang disediakan dari board. Untuk ke depannya, shield akan
dijadikan kompatibel/cocok dengan board yang menggunakan AVR
yang beroperasi dengan tegangan 5V dan dengan Arduino Due yang
beroperasi dengan tegangan 3.3V. Yang ke-dua ini merupakan sebuah
pin yang tak terhubung, yang disediakan untuk tujuan kedepannya.
Sirkuit RESET yang lebih kuat
Atmega 16U2 menggantikan 8U2Uno berarti satu dalam bahasa Italia dan dinamai untuk
menandakan keluaran (produk) Arduino 1.0 selanjutnya. Arduino UNO
dan versi 1.0 akan menjadi referensi untuk versi-versi Arduino
selanjutnya. Arduino UNO adalah sebuah seri terakhir dari board
Arduino USB dan model referensi untuk papan Arduino, untuk suatu
perbandingan dengan versi sebelumnya, lihat indeks dari board Arduino.Ringkasan
Mikrokontroler ATmega328
Tegangan pengoperasian 5V
Tegangan input yang
disarankan7-12V
Batas tegangan input 6-20V
Jumlah pin I/O digital 14 (6 di antaranya menyediakan keluaran PWM)
Jumlah pin input analog 6
Arus DC tiap pin I/O 40 mA
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
10/27
10
Arus DC untuk pin 3.3V 50 mA
Memori Flash32 KB (ATmega328), sekitar 0.5 KB digunakan oleh
bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
b. Grove - Chest Strap Heart Rate Sensor
Sensor untuk mendeteksi denyut jantung yang berbentuk sabuk
yang dipakai di dada ini memiliki modul penerima sinyal dengan ukuran
5,3 KHz yang digunakan untuk memantau detak jantung. Hasilnya dapat
ditampilkan pada layar melalui port serial dan dapat disimpan untuk
dianalisis. Sensor ini sangat sensitive dan menggunakan daya yang
sangat sedikit (menggunakan CR2032 koin baterai). Jangkauan efektif
yang dapat diterima sensor nirkabel yang ditransfer oleh gelombang
radio AM adalah sekitar 30 cm. Sabuk dada ini harus memiliki kontak
dengan kulit Anda untuk mendapatkan akurasi tinggi.
Berikut contoh gambarnya :
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
11/27
c. Kabel Listrik
Kabel berfungsi sebagai penghantar arus listrik. Kabel juga
memiliki beberapa jenis dan ukuran kapasitas. Berikut ini beberapa
jenis-jenis kabel, yaitu :
Kabel NYA : Kabel jenis ini di gunakan untuk instalasi rumah dandalam instalasi rumah yang sering di gunakan adalah NYA dengan
ukuran 1,5 mm2dan 2,5 mm2. Yang berinti tunggal, berlapis bahan
isolasi PVC Kode warna isolasi ada warna merah, kuning, biru dan
hitam. Lapisan isolasinya hanya 1 lapis sehingga mudah cacat,
tidak tahan air (NYA adalah tipe kabel udara) dan mudah digigit
tikus. agar aman jika menggunakan kabel tipe ini lebih baik kabel
di pasang di dalam pipah atau saluran penutup, karena selain tidak
bisa di ganggu sama hewan pengerat dan tidak kenah air, juga
apabila ada isolasi yang terkelupas (terbuka) tidak bisa tersentuh
langsung sama manusia.
Kabel NYM : Kabel jenis ini hanya direkomendasikan khusus untukinstalasi tetap di dalam bangunan yang dimana penempatannya
biasa diluar/ didalam tembok ataupun didalam pipa (conduit).
Kabel NYM berinti lebih dari 1, memiliki lapisan isolasi PVC
(biasanya warna putih atau abu-abu), ada yang berinti 2, 3 atau 4.
Kabel NYM memiliki lapisan isolasi dua lapis, sehingga tingkat
keamanannya lebih baik dari kabel NYA (harganya lebih mahal
dari NYA). Kabel ini dapat dipergunakan dilingkungan yang kering
dan basah, namun tidak boleh ditanam.
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
12/27
12
Kabel NYY : Kabel ini dirancang untuk instalasi tetap didalamtanah yang dimana harus tetap diberikan perlindungan khusus
(misalnya duct, pipa PVC atau pipa besi). Kabel protodur tanpa
sarung logam. Instalasi bisa ditempatkan didalam dan diluar
ruangan, dalam kondisi lembab ataupun kering. memiliki lapisan
isolasi PVC (biasanya warna hitam), ada yang berinti 2, 3 atau 4.
Dan memiliki lapisan isolasi yang lebih kuat dari kabel NYM
(harganya lebih mahal dari NYM). Kabel NYY memiliki isolasi yang
terbuat dari bahan yang tidak disukai tikus.
2.4.2. Komponen Tambahan
a. Buzzer ModuleBuzzer adalah suatu alat yang dapat mengubah sinyal listrik
menjadi sinyal suara. Pada umumnya buzzer digunakan untuk alarm,
karena penggunaannya cukup mudah yaitu dengan memberikan
tegangan input maka buzzer akan mengeluarkan bunyi. Frekuensi suara
yang di keluarkan oleh buzzer yaitu antara 1-5 KHz.
b. LED (Light Emitting Diode)
Light emitting diode atau dioda pemancar cahaya merupakan
sebuah jenis dioda yang dapat memancarkan cahaya apabila diberikan
tegangan 1.8V dengan arus sebesar 1.5 mA. Dioda pemancar cahayabanyak digunakan sebagai lampu indicator atau lampu pilot serta peraga
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
13/27
(Display). Dioda pemancar cahaya juga dapat digunakan sebagai
pemancar cahaya yang tidak terlihat oleh mata yaitu sinar inframerah.
Bahan dasar pembuat dioda adalah Silicon Carbide (SiC),dioda ini dapat
berbentuk bulat atau segi empat / Warna dioda pemancar cahaya ini adaberbagai macam, antara lain merah,kuning,hijau, biru dan sebagainya.
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
14/27
14
BAB 3
PEMBAHASAN
3.1. Komponen Utama dan Tambahan
3.1.1. Komponen Utama
a. Arduino UNOb. Grove - Chest Strap Heart Rate Sensorc. Kabeld. Kabel USB ( menghubungkan Arduino UNO dengan PC)
3.1.2. Komponen Tambahan
a. Buzzerb. Resistorc. LED (Light Emitting Diode)
3.2. Perancangan Alat
3.2.1. Skematik Rangkaian
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
15/27
3.2.2. Langkah Percobaan
a. Persiapan
Peralatan yang dibutuhkan adalah :
Arduino UNO Grove - Chest Strap Heart Rate Sensor Kabel Kabel USB ( menghubungkan Arduino UNO dengan PC) Buzzer Module LED
b. Membuat Rangkaian
Pasang kabel hitam pada Radio Receiver AM dengan kabel jumperke ground analog pin pada arduino uno.
Pasang kabel merah pada Radio Receiver AM dengan kabel jumperke pin 5v pada arduino uno.
Pasang kabel kuning pada Radio Receiver AM dengan kabel jumperke pin 2 digital pada arduino uno.
Hubungkan 2 kabel pada buzzer module ke pin ground analog pindan pin 9 digital pada arduino uno.
Pasang 1 buah LED dengan posisi kaki LED positif ke ground digitalpin dan kaki LED negatif ke 13 digital pin pada arduino uno.
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
16/27
16
c. Buat sketch pada program Arduino dengan source code :
unsigned int speakerPin = 9;
unsigned char LEDpin = 13;
unsigned char counter=0;
unsigned int heart_rate=0;unsigned long temp[21];
unsigned long sub=0;volatile unsigned char state = LOW;
bool data_effect=true;
const int max_heartpluse_duty=5000;//you can change it follow your system's
request.2000 meams 2 seconds. System return error if the duty overtrip 5 second.
void setup()
{Serial.begin(9600);
//Serial.println("Please ready your chest belt.");
//delay(1000);
array_init();
Serial.println("Heart rate test begin.");
attachInterrupt(0, interrupt, RISING);//set interrupt 0,digital port 2}
void loop()
{
}
void beepon(){analogWrite(speakerPin, 150);
digitalWrite(LEDpin, HIGH);
delay(10000);}
void beepoff(){
analogWrite(speakerPin, 0);digitalWrite(LEDpin, LOW);
}
void sum()//calculate the heart rate
{
if(data_effect)
{heart_rate=1200000/(temp[20]-temp[0]);//60*20*1000/20_total_time
Serial.print("Your heart rate is : ");
Serial.print(heart_rate);Serial.println(" bpm");
}
data_effect=1;//sign bit
}
void interrupt()
{
temp[counter]=millis();
state = !state;
//Serial.println(counter,DEC);//Serial.println(temp[counter]);
switch(counter)
{case(0):
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
17/27
sub=temp[counter]-temp[20];
Serial.println(sub);
break;
default:sub=temp[counter]-temp[counter-1];
Serial.println(sub);
beepon();delay(10);
beepoff();
break;
}if(sub>max_heartpluse_duty)//set 5 seconds as max heart pluse duty
{
data_effect=0;//sign bit
counter=0;
//Serial.println("Heart rate measure error,test will restart! or your dead" );
beepon();
array_init();}
if (counter==20&&data_effect)
{
counter=0;
sum();
}else if(counter!=20&&data_effect)
counter++;
else
{
counter=0;
data_effect=1;
}
}
void array_init()
{
for(unsigned char i=0;i!=20;++i)
{temp[i]=0;
}
temp[20]=millis();
}
d. Buat Buat sketch Java pada program Processing dengan source code :
import processing.serial.*;
// Step 2: Declare PFont variable
PFont f;
Serial myPort; // The serial port
float[] vals;
PrintWriter output;
String heartrate = "Calculating your heart rate";
void setup() {
size(400, 300);
f = createFont("Arial", 18, true);frameRate(5);
// List all the available serial ports
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
18/27
18
println(Serial.list());
// Open whatever port is the one you're using.
myPort = new Serial(this, Serial.list()[12], 9600);
// don't generate a serialEvent() unless you get a newline character:myPort.bufferUntil('\n');
// An array of initiate values
vals = new float[width];for (int i = 0; i < vals.length; i++) {
vals[i] = 250;
}
int d = day(); // Values from 1 - 31int m = month(); // Values from 1 - 12
int y = year(); // 2003, 2004, 2005, etc.
int se = second(); // Values from 0 - 59
int mi = minute(); // Values from 0 - 59
int h = hour(); // Values from 0 - 23
String s = String.valueOf(d) + String.valueOf(m) + String.valueOf(y) + String.valueOf(h)
+ String.valueOf(mi) + String.valueOf(se);output = createWriter("data" + s + ".txt");
}
void draw() {
background(0);// Draw lines connecting all points
for (int i = 0; i < vals.length-1; i++) {
stroke(255, 123, 0);
strokeWeight(1.5);
line(i, vals[i], i+1, vals[i+1]);
}
// Slide everything down in the arrayfor (int i = 0; i < vals.length-1; i++) {
vals[i] = vals[i+1];
}
// get the ASCII string:String inputString = myPort.readStringUntil('\n');
if (inputString != null) {
// trim off any whitespace:
String inString = trim(inputString);
output.println(inString);
output.flush();
// convert to an int and map to the screen height:int inByte = int(inString);
// Add a new value
vals[vals.length-1] = 250 - (inByte/5);
println(inByte);
textFont(f, 18); // Step 4: Specify font to be used
fill(255); // Step 5: Specify font color// Step 6: Display Text
text (inByte, 5, 290);
}
else {
vals[vals.length-1] = 250;
}
if (inputString != null) {if (inputString.charAt(0) == 'Y') {
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
19/27
heartrate = inputString;
}
}
textFont(f, 18); // Step 4: Specify font to be used
fill(255); // Step 5: Specify font color
// Step 6: Display Texttext (heartrate, 180, 290);
}
e. Testing (Pengujian) Dekatkan Radio Receiver AM dengan Grove - Chest Strap Heart Rate
Sensor dengan jarak maksimum 30cm.
Save dan Upload source code pada sketch program arduino. Laluklik pojok kanan atas pada Arduino untuk membuka Serial Monitor.
Jika berhasil maka akan tampil seperti gambar berikut :
Rubah serial port list yang digunakan pada source code sesuaidengan port dan baut-rate yang digunakan oleh Arduino, pada
percobaan kali ini digunakan serial list nomor 12 pada COM port 27
dan baut-rate9600 (Serial.list()[12], 9600).
Save dan Upload source code tersebut. Jangan jalankan serialmonitor yang sama dengan COM port arduino karena akan terjadi
bentrok. Jika berhasil maka akan tampil seperti gambar berikut :
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
20/27
20
3.2.3.Analisa Program
Sketch Program Arduino 1Source Code Penjelasan
unsigned char counter=0;
unsigned int heart_rate=0;
unsigned long temp[21];
unsigned long sub=0;
volatile unsigned char state = LOW;
bool data_effect=true;
const int max_heartpluse_duty=2000;
Menginisialisasi variabel
counter, heart_rate, temp, sub,
state, data_effect dan
max_heartpluse_duty.
HeartPulse 2000 berarti 2 detik,
jika terjadi overtrip selama 2
detik, sustem menampilkan
error.
void setup()
{
pinMode(pin, OUTPUT);
Serial.begin(9600);
Serial.println("Please ready your chest
belt.");delay(1000);//
array_init();
Serial.println("Heart rate test begin.");
attachInterrupt(0, interrupt,
RISING);//set interrupt 0,digital port 2
}
Mempersiapkan program untukmenghitung detak jantung.
void loop()
{
}
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
21/27
void sum()//calculate the heart rate
{
if(data_effect)
{
heart_rate=1200000/(temp[20]-
temp[0]);//60*20*1000/20_total_time
Serial.print("Heart_rate_is:\t");
Serial.println(heart_rate);
}
data_effect=1;//sign bit
}
Menghitung jumlah detak
jantungdari array temp.
void interrupt()
{
temp[counter]=millis();
state = !state;
Serial.println(counter,DEC);
Serial.println(temp[counter]);
switch(counter)
{
case(0):
sub=temp[counter]-temp[20];
Serial.println(sub);
break;
default:
sub=temp[counter]-temp[counter-1];
Serial.println(sub);
break;
}
if(sub>max_heartpluse_duty)//set 2
seconds as max heart pluse duty{
data_effect=0;//sign bit
counter=0;
Serial.println("Heart rate measure
error,test will restart!" );
array_init();
}
if (counter==20&&data_effect)
{
Melakukan pengecekan secara
looping terus menerus terhadap
terjadinya interupsi atau jika
terjadi overtrip.
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
22/27
22
counter=0;
sum();
}
else if(counter!=20&&data_effect)
counter++;
else
{
counter=0;
data_effect=1;
}
}
void array_init()
{
for(unsigned char i=0;i!=20;++i)
{
temp[i]=0;
}
temp[20]=millis();
}
Menginisialisasi nilai array temp
agar bernilai o.
Sketch Pada Program ProcessingSource Code Penjelasan
import processing.serial.*;
PFont f;
Serial myPort;
float[] vals;
PrintWriter output;
String heartrate = "Calculating your heart rate";
Mengimport library untuk
melakukan hubungan data
melalui serial dan
menginisialisasi variabel font,
serial, output untuk menulis data
ke dalam teks dan string awal.
void setup() {
size(400, 300);
f = createFont("Arial", 18, true);
frameRate(5);
// List all the available serial ports
println(Serial.list());
// Open whatever port is the one you're using.
myPort = new Serial(this, Serial.list()[12],
9600);
Prosedur setup ini dijalankan
satu kali oleh program.
Program akan membuatjendela tampilan dengan
lebar 400px dan tinggi
300px, kemudian
menggunakan font Arial
berukuran 18 dengan frame
Rate tampilan sebanyak 5
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
23/27
// don't generate a serialEvent() unless you get
a newline character:
myPort.bufferUntil('\n');
// An array of initiate values
vals = new float[width];
for (int i = 0; i < vals.length; i++) {
vals[i] = 250;
}
int d = day(); // Values from 1 - 31
int m = month(); // Values from 1 - 12
int y = year(); // 2003, 2004, 2005, etc.
int se = second(); // Values from 0 - 59
int mi = minute(); // Values from 0 - 59
int h = hour(); // Values from 0 - 23
String s = String.valueOf(d) + String.valueOf(m)
+ String.valueOf(y) + String.valueOf(h) +
String.valueOf(mi) + String.valueOf(se);
output = createWriter("data" + s + ".txt");
}
fps.
Lalu program akanmenmpilkan daftar serial
port yang terhubung dengan
computer, ubah data
Serial.list()[i] sesuai dengan
list serial port arduino, kali
ini menggunakan 12 karena
arduino terhubung pada
COM port 27 dan berada
pada list 12.
myPort.buffer untukmembaca data yang
didapatkan dari serial port
diatas.
Kemudian inisialisasi waktusistem untuk membuat file
teks dengan format data +
waktu sistem untuk
menyimpan seluruh data
yang diterima.
void draw() {
background(0);
// Draw lines connecting all points
for (int i = 0; i < vals.length-1; i++) {
stroke(255, 123, 0);
strokeWeight(1.5);
line(i, vals[i], i+1, vals[i+1]);
}
// Slide everything down in the array
for (int i = 0; i < vals.length-1; i++) {
vals[i] = vals[i+1];
}
// get the ASCII string:
String inputString =
myPort.readStringUntil('\n');
Prosedur draw ini dijalankan
berulang kali oleh program.
Program akan membuatgaris untuk membuat grafik
dari setiap titik point pada
kurva grafik.
Program membaca data padaserial port kemudian
menghapus whitespace(spasi) dan konversi ke
dalam integer. Data inilah
yang digunakan sebagai
point (titik pada grafik), data
ini juga ditampilkan pada
program secara realtime.
Data ini merupakan data
kuatnya denyut jantung.
output.println(inString); dan
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
24/27
24
if (inputString != null) {
// trim off any whitespace:
String inString = trim(inputString);
output.println(inString);
output.flush();
// convert to an int and map to the screen
height:
int inByte = int(inString);
// Add a new value
vals[vals.length-1] = 250 - (inByte/5);
println(inByte);
textFont(f, 18); // Step 4: Specify font to be
used
fill(255); // Step 5: Specify font color
// Step 6: Display Text
text (inByte, 5, 290);
}
else {
vals[vals.length-1] = 250;
}
if (inputString != null) {
if (inputString.charAt(0) == 'Y') {
heartrate = inputString;
}
}
textFont(f, 18); // Step 4: Specify font to be
used
fill(255); // Step 5: Specify font color
// Step 6: Display Text
text (heartrate, 180, 290);
}
output.flush(); merupakan
fungsi untuk menulis data
pada teks file pada prosedur
setup.
Jika data pada serial portberisi data rata-rata denyut
jantung maka denyut jantung
tersebut akan ditampilkan
pada bagian kanan bawah
program.
3.3. Hasil Percobaan
Dari percobaan yang telah dijelaskan dan dilakukan sebelumnya,
percobaan penghitungan denyut jantung menggunakan Grove Chest Strap Heart
Rate Sensor dengan Arduino Uno mendapatkan hasil sebagai berikut:
Arduino Uno dapat dihubungkan dengan Grove Chest Strap Heart Rate Sensor.
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
25/27
Pada program, arduino melakukan konversi data analog (dari sensor suhu)menjadi digital dengan kekuatan denyut jantung dan frekuensi jantung dengan
satuan BPM (beats per minute) yang ditampilkan dengan grafik dan angka.
Data denyut jantung tersebut dapat ditampilkan baik menggunakan serialmonitor pada computer, lalu data serial tersebut dapat ditampilkan ke dalam
bentuk grafik.
Suara yang dihasilkan buzzer mengikuti tempo denyut jantung yang terdeteksi,apabila denyut berhenti sekitar 5 detik, maka buzzer akan menghasilkan bunyi
yang panjang.
Cahaya yang dihasilkan LED mengikuti tempo denyut jantung. Hasil rekam denyut jantung akan tersimpan datanya secara otomatis dengan
formati teks ekstensi .txt dengan format nama file data + waktu percobaan.
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
26/27
-
8/12/2019 Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO
27/27
DAFTAR PUSTAKA
Brunl, Thomas. Embedded Robotics - Mobile Robot Design and Applications with
Embedded Systems, Second Edition.Springer, Jerman,Juni 2006. [3]
Byte Craft Limited. First Steps with Embedded Systems. Byte Craft Limited,
Kanada, November 2012. [1]
Wilmshurst, Tim.Designing Embedded Systems with PIC Microcontrollers -
Principles and Applications.Elsevier Ltd, Inggris, 2007. [2]
Internet :
http://www.seeedstudio.com/wiki/Grove_-_Heart_rate_chest_belt_kit
http://irpan91.blogspot.com/2012/05/cara-menghitung-denyut-nadi.html
http://arduino.cc/en/Tutorial/Graph
http://cmuems.com/2012/c/arduino-processing/
http://www.seeedstudio.com/wiki/Grove_-_Heart_rate_chest_belt_kithttp://www.seeedstudio.com/wiki/Grove_-_Heart_rate_chest_belt_kithttp://irpan91.blogspot.com/2012/05/cara-menghitung-denyut-nadi.htmlhttp://arduino.cc/en/Tutorial/Graphhttp://arduino.cc/en/Tutorial/Graphhttp://irpan91.blogspot.com/2012/05/cara-menghitung-denyut-nadi.htmlhttp://www.seeedstudio.com/wiki/Grove_-_Heart_rate_chest_belt_kit