Bagaimana Mengukur Denyut Jantung menggunakan Sensor Detak Jantung?
Denyut jantung atau denyut nadi merupakan parameter terpenting yang diukur dalam bidang kedokteran. Ada dua cara untuk mengukur detak jantung. Salah satunya adalah dengan memeriksa pergelangan tangan secara manual dengan menggunakan stetoskop dan menebak detak jantung, metode lainnya adalah dengan menggunakan sensor detak jantung. Sensor detak jantung mendapatkan beberapa pembacaan denyut nadi dan mengirimkan sinyal listrik ke mikrokontroler, pembacaan ini kemudian dihitung dan denyut nadi yang tepat ditampilkan.
Bagaimana Sensor Denyut Jantung Mengukur Denyut Nadi?
Seperti yang kita ketahui apa yang akan kita lakukan, jadi mari kita mulai mengerjakan proyek ini.
Langkah 1: Mengumpulkan Komponen
Membuat daftar komponen dan mempelajari cara kerja komponen tersebut adalah pendekatan terbaik sebelum memulai proyek apa pun. Berikut adalah komponen yang akan digunakan dalam proyek kami:
Langkah 2: Mengetahui Komponen yang Digunakan
Seperti kami memiliki daftar peralatan yang akan kami gunakan. Sekarang mari kita lihat bagaimana komponen ini bekerja.
Arduino Uno adalah papan mikrokontroler yang digunakan untuk mengontrol berbagai rangkaian. Ini menggunakan kode C yang memberinya instruksi untuk melakukan tugas. Pengganti lain dari papan mikrokontroler ini yang tersedia di pasaran adalah Arduino Nano, Node MCU, ESP32, dll.
SEN-11574 adalah sensor denyut nadi plug and play yang terintegrasi dengan Arduino. Ini memiliki dua sisi. Di satu sisi ditempatkan led yang memancarkan cahaya. Led ini harus ditempatkan langsung di atas vena. Seperti yang kita ketahui bahwa volume darah di pembuluh darah vena lebih besar saat jantung memompa, sehingga saat darah di pembuluh darah lebih banyak, lebih banyak cahaya yang akan dipantulkan ke sensor. Perubahan cahaya yang diterima oleh sensor ini dianalisis dari waktu ke waktu dan detak jantung diukur. Di sisi lain sensor, ada sirkuit yang bertanggung jawab untuk penguatan dan penghilangan noise dari sinyal yang diterima.
Langkah 3: Merakit komponen
- Seperti yang kita ketahui bahwa kulit adalah tubuh manusia, terkadang lembab atau berminyak. Hal ini dapat mengakibatkan korsleting pada sensor yang memberikan pengukuran yang salah. Sebaiknya aplikasikan selapis stiker vinyl pada sisi LED sensor agar tidak lembab pada kulit.
- Setelah melakukan ini, ambil selotip vektor hitam dan tempelkan di sisi lain sensor. Ini akan mencegah cahaya dari lingkungan mengganggu cahaya sensor.
- Sekarang, hubungkan Vcc dan pin ground dari sensor ke Arduino dan pin analog dari sensor ke A0 dari Arduino.
Semua peralatan sekarang sudah diatur dan siap digunakan. Kami akan meletakkan sensor langsung di pembuluh darah, baik di jari atau telinga untuk mengukur detak jantung.
Langkah 4: Memulai Arduino
Jika Anda belum pernah mengerjakan Arduino IDE sebelumnya, jangan khawatir karena prosedur untuk membakar kode pada papan mikrokontroler menggunakan Arduino IDE diberikan di bawah ini.
- Setelah menghubungkan papan Arduino Anda ke PC Anda, buka Panel Kontrol> Perangkat Keras dan Suara> Perangkat dan Pencetak untuk memeriksa nama port tempat Arduino terhubung. Ini berbeda di komputer yang berbeda.
- Buka Arduino IDE dan atur papan sebagai Arduino / Genuino UNO.
- Sekarang atur port yang Anda amati sebelumnya di panel kontrol.
- Unduh kode yang diberikan di bawah ini dan buka. Bakar kode pada papan Mikrokontroler Anda dengan mengklik Unggah tombol.
Klik di sini untuk mengunduh kodenya.
Langkah 5: Kode
Kode untuk mengukur denyut nadi agak panjang dan rumit. Beberapa bagian dari kode tersebut dijelaskan di bawah ini.
1. Pada awalnya, semua pin yang akan digunakan sudah ditentukan. Semua variabel yang akan digunakan dalam fungsi yang berbeda dan rutin layanan interupsi (ISR).
2. batal penyiapan () adalah fungsi di mana Pin didefinisikan untuk digunakan sebagai INPUT atau OUTPUT. baud rate juga diatur dalam fungsi ini. Baud rate adalah kecepatan mikrokontroler berkomunikasi dengan komponen lain. ISR juga dipanggil dalam fungsi ini.
3. void loop ()adalah fungsi yang berjalan terus menerus dalam suatu siklus. Di sini, denyut nadi ditemukan dan memutuskan kapan harus memudarkan led ketika detak jantung ditemukan.
void loop() { serialOutput() ; if (QS == true) {// Detak Jantung Ditemukan // BPM dan IBI telah Ditentukan // Kuantifikasi Diri "QS" benar saat arduino menemukan detak jantung fadeRate = 255; // Membuat Efek Fade LED Terjadi // Setel Variabel 'fadeRate' ke 255 untuk memudarkan LED dengan pulsa serialOutputWhenBeatHappens (); // A Beat Happened, Output itu ke serial. QS = salah; // setel ulang bendera Kuantifikasi Diri untuk waktu berikutnya} ledFadeToBeat (); // Membuat penundaan Efek Pudar LED (20); // istirahat }
4. batal serialOutput ()adalah fungsi yang memutuskan bagaimana menampilkan output pada monitor serial.
void serialOutput(){ switch(outputType){ case PROCESSING_VISUALIZER: sendDataToSerial('S', Signal); // pergi ke pemutusan fungsi sendDataToSerial; kasus SERIAL_PLOTTER: // buka Arduino Serial Plotter untuk memvisualisasikan data ini Serial.print (BPM); Serial.print(","); Serial.print (IBI); Serial.print (","); Serial.println (Sinyal); istirahat; default: istirahat; }}
5. ISR adalah interupsi yang dihasilkan oleh perangkat keras dan dikirim ke CPU untuk diproses. ketika interupsi dibuat, proses yang sudah berlangsung berhenti dan interupsi diproses. setelah interupsi diproses, proses sebelumnya dilanjutkan.
void interruptSetup () {// LIHAT TAB Timer_Interrupt_Notes SELENGKAPNYA TENTANG INTERRUPTS #ifndef ESP32 // Inisialisasi Timer2 untuk melempar interupsi setiap 2mS. TCCR2A = 0x02; // NONAKTIFKAN PWM PADA PIN DIGITAL 3 DAN 11, DAN MASUK KE MODE CTC TCCR2B = 0x06; // JANGAN PAKSA BANDINGKAN, 256 PRESCALER OCR2A = 0X7C; // ATUR PUNCAK HITUNGAN KE 124 UNTUK TINGKAT SAMPEL 500Hz TIMSK2 = 0x02; // AKTIFKAN GANGGUAN PADA PERTANDINGAN ANTARA TIMER2 DAN OCR2A sei (); // PASTIKAN GANGGUAN GLOBAL DIAKTIFKAN // Buat semaphore untuk memberi tahu kami saat timer telah diaktifkan #else timerSemaphore = xSemaphoreCreateBinary (); // Gunakan timer pertama dari 4 (dihitung dari nol). // Setel pembagi 80 untuk prescaler (lihat Manual Referensi Teknis ESP32 untuk // info lebih lanjut). timer = timerBegin (0, 80, true); // Lampirkan fungsi onTimer ke timer kami. timerAttachInterrupt (timer, & onTimer, true); // Setel alarm untuk memanggil fungsi onTimer setiap detik (nilai dalam mikrodetik). // Ulangi alarm (parameter ketiga) timerAlarmWrite (timer, 2000, true); // Mulai alarm timerAlarmEnable (timer); #berakhir jika }
Aplikasi:
Sekarang seperti yang kita ketahui bagaimana mengukur denyut nadi menggunakan sensor denyut jantung. Sekarang kita dapat menggunakannya untuk membuat proyek yang berbeda misalnya
- Pita kesehatan.
- Monitor Kecemasan.
- Pelacakan Tidur.
- Sistem pemantauan / alarm pasien jarak jauh.
- Konsol game tingkat lanjut