Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO

download Penghitungan Denyut Jantung Menggunakan Grove Chest Strap Heart Rate Sensor Dengan Arduino UNO

of 27

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