IoT Health Monitoring System for Sports: Real-Time Heart Rate and Temperature Tracking



LAPORAN PROJEK AKHIR SEMESTE
LABORATORIUM MIKROKONTROLER II

IoT Health Monitoring System for Sports: 

Real-Time Heart Rate and Temperature Trackig



Dosen Pengampu:

Dr. Samuel Beta K., Ing.Tech, M.T.

Disusun Oleh :

Kelompok 4

Ardian Saputra (4.34.22.0.04)

Gery Alghifari (4.34.22.0.10)

M. Ajik Alhusein (4.34.22.0.16)

Sarifuddin Luqman K. (4.34.22.0.22)


PROGRAM STUDI TEKNOLOGI REKAYASA ELEKTRONIKA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI SEMARANG

2024



ABSTRAK 

    Pada era digital saat ini, pemantauan kesehatan atlet secara real-time menjadi sangat penting untuk meningkatkan performa dan mencegah cedera. Sistem pemantauan kesehatan berbasis IoT (Internet of Things) ini dirancang untuk mendeteksi dan melacak detak jantung serta suhu tubuh atlet secara langsung dan akurat. Sistem ini terdiri dari sensor detak jantung dan sensor suhu yang terhubung ke modul ESP32, yang mengirimkan data secara nirkabel ke server web. Melalui antarmuka web yang intuitif, pelatih dan atlet dapat memantau kondisi fisik secara real-time dari perangkat apa pun yang terhubung ke internet.

    Data yang diperoleh dapat dianalisis untuk memberikan wawasan mengenai performa atlet, deteksi dini potensi masalah kesehatan, dan penyesuaian program latihan yang optimal. Sistem ini tidak hanya meningkatkan efisiensi pemantauan kesehatan tetapi juga memberikan keamanan tambahan bagi atlet selama latihan dan kompetisi. Implementasi sistem pemantauan kesehatan ini menunjukkan peningkatan dalam manajemen kesehatan atlet, memastikan mereka tetap berada dalam kondisi optimal saat berlatih maupun bertanding. 

I. Pendahuluan

1.1 Latar Belakang

  Dalam dunia olahraga, pemantauan kesehatan atlet secara real-time sangat penting untuk meningkatkan performa dan mencegah cedera. Teknologi IoT memungkinkan pemantauan detak jantung dan suhu tubuh atlet secara langsung dan akurat, memberikan wawasan yang mendalam mengenai kondisi fisik atlet. Dengan sensor yang terhubung ke modul ESP32, data dapat dikirimkan secara nirkabel ke platform web, memungkinkan akses dan analisis data dari mana saja dan kapan saja. Implementasi sistem ini memberikan efisiensi dan keamanan tambahan bagi atlet selama latihan dan kompetisi.

1.2 Rumusan Masalah

  1. Bagaimana merancang sistem pemantauan kesehatan berbasis IoT yang dapat mendeteksi dan melacak detak jantung serta suhu tubuh atlet secara real-time?
  2. Bagaimana memastikan data yang dikumpulkan akurat dan dapat diakses secara nirkabel melalui platform web?
  3. Bagaimana sistem ini dapat membantu pelatih dan atlet dalam meningkatkan performa dan mencegah cedera melalui analisis data yang diperoleh?

1.3 Tujuan

  1. Mengembangkan sistem pemantauan kesehatan berbasis IoT yang mampu mendeteksi dan melacak detak jantung dan suhu tubuh atlet secara real-time.
  2. Menyediakan akses nirkabel ke data kesehatan melalui platform web yang intuitif dan mudah digunakan.
  3. Memberikan alat yang efektif bagi pelatih dan atlet untuk memantau kondisi fisik, mengidentifikasi potensi masalah kesehatan, dan mengoptimalkan program latihan

II. Tinjauan Pustaka

2.1 ESP 32

    ESP32 adalah mikrokontroler canggih yang dikembangkan oleh Espressif Systems, dirancang khusus untuk aplikasi Internet of Things (IoT). Mikrokontroler ini mendukung konektivitas nirkabel melalui protokol Wi-Fi 802.11 b/g/n dan Bluetooth v4.2 BR/EDR serta BLE (Bluetooth Low Energy). Dengan prosesor dual-core Xtensa LX6, ESP32 menawarkan performa tinggi dengan kecepatan hingga 240 MHz, memungkinkan pemrosesan data yang cepat dan efisien.

    Selain itu, ESP32 dirancang untuk operasi dengan daya rendah, menyediakan berbagai mode hemat daya yang membuatnya ideal untuk aplikasi yang mengandalkan baterai. Mikrokontroler ini juga dilengkapi dengan sejumlah besar GPIO, ADC, DAC, UART, SPI, I2C, dan fitur-fitur lainnya yang memudahkan integrasi dengan sensor dan perangkat lainnya. Dengan kombinasi konektivitas, performa, dan efisiensi daya, ESP32 menjadi pilihan populer untuk pengembangan perangkat IoT yang canggih dan andal.

2.2 Heart Pulse Sensor


    Heart pulse sensor adalah perangkat elektronik yang digunakan untuk mendeteksi dan mengukur detak jantung seseorang secara real-time. Sensor ini bekerja dengan menggunakan metode fotopletismografi (PPG), di mana cahaya inframerah dipancarkan ke kulit, dan perubahan intensitas cahaya yang dipantulkan diukur untuk menghitung detak jantung. Heart pulse sensor biasanya digunakan dalam perangkat kesehatan wearable, monitor kebugaran, dan aplikasi medis lainnya untuk memantau kondisi kardiovaskular secara kontinu dan akurat.

2.3 DS18B20 Sensor Suhu

    DS18B20 adalah sensor suhu digital yang dirancang untuk mengukur suhu dengan presisi tinggi. Sensor ini menggunakan protokol komunikasi 1-Wire, memungkinkan beberapa sensor untuk dihubungkan dalam satu jalur data. DS18B20 dapat mengukur suhu dalam rentang -55°C hingga +125°C dengan resolusi yang dapat dipilih dari 9-bit hingga 12-bit. Sensor ini sering digunakan dalam aplikasi yang membutuhkan pemantauan suhu seperti sistem HVAC, proyek elektronik DIY, dan perangkat IoT. Keandalannya dalam berbagai kondisi lingkungan dan kemampuannya untuk diintegrasikan dengan mikrokontroler menjadikannya pilihan populer di kalangan pengembang dan hobiis.

III. Pembahasan

3.1 Diagram Blok

3.2 Diagram Alir

3.3 Gambar Rangkaian


3.4 Kode Program

#include <Wire.h>
#include <MPU6050.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <ESP8266WiFi.h>
#include <ThingSpeak.h>

MPU6050 mpu;

const int oneWireBus = 0; // Pin untuk sensor DS18B20 (ganti sesuai kebutuhan)
OneWire oneWire(oneWireBus);
DallasTemperature sensors(&oneWire);

const int heartRatePin = A0; // Pin analog untuk sensor detak jantung
const int thresholdAccel = 10000; // Ambang batas untuk mendeteksi langkah (sesuaikan sesuai kebutuhan)
const int thresholdHeartRate = 1000; // Ambang batas untuk mendeteksi detak jantung (sesuaikan sesuai kebutuhan)

int stepCount = 0;

const char *ssid = "oseng-oseng";
const char *password = "luqmankhaqim";
const char *thingSpeakApiKey = "Z7VNKHVRW35K196L";
const unsigned long channelID = 2381558;

WiFiClient client; // Objek WiFiClient

void setup() {
  Serial.begin(9600);
  Wire.begin();
  mpu.initialize();

  if (!mpu.testConnection()) {
    Serial.println("MPU6050 connection failed");
    while (1);
  }

  sensors.begin(); // Inisialisasi sensor suhu DS18B20
  connectWiFi();
  ThingSpeak.begin(client);
}

void connectWiFi() {
  WiFi.begin(ssid, password);
  Serial.print("Connecting to WiFi");
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
  }
  Serial.println("\nConnected to WiFi");
}

void loop() {
  // Baca data sensor MPU6050
  int16_t accelX, accelY, accelZ;
  mpu.getAcceleration(&accelX, &accelY, &accelZ);

  // Hitung magnitude akselerasi
  float magnitude = sqrt(pow(accelX, 2) + pow(accelY, 2) + pow(accelZ, 2));

  // Tampilkan akselerasi
  Serial.print("Acceleration Magnitude: ");
  Serial.println(magnitude);

  // Deteksi langkah
  if (magnitude < thresholdAccel) {
    Serial.println("Step detected!");
    stepCount++;
    Serial.print("Total Steps: ");
    Serial.println(stepCount);

    // Kirim data langkah ke ThingSpeak
    sendToThingSpeak(stepCount);
    delay(5000);
  } else {
    Serial.println("No step detected!");
  }

  // Baca suhu dari sensor DS18B20
  sensors.requestTemperatures();
  float temperatureC = sensors.getTempCByIndex(0);

  // Tampilkan suhu
  Serial.print("Temperature: ");
  Serial.print(temperatureC);
  Serial.println(" °C");

  // Kirim data suhu ke ThingSpeak
  sendTemperatureToThingSpeak(temperatureC);

  // Baca nilai detak jantung dari sensor
  int heartRateValue = analogRead(heartRatePin);

  // Tampilkan nilai detak jantung
  Serial.print("Heart Rate: ");
  Serial.println(heartRateValue);

  // Deteksi detak jantung
  if (heartRateValue > thresholdHeartRate) {
    Serial.println("Heartbeat detected!");

    // Kirim data detak jantung ke ThingSpeak
    sendHeartRateToThingSpeak(heartRateValue);
    delay(5000); // Tunggu sejenak sebelum membaca data selanjutnya
  }

  // Tunggu sejenak sebelum membaca data selanjutnya
  delay(2000);
}

void sendToThingSpeak(int steps) {
  ThingSpeak.setField(1, steps);
  ThingSpeak.setField(2, sensors.getTempCByIndex(0)); // Update with the correct field index
  int response = ThingSpeak.writeFields(channelID, thingSpeakApiKey);

  Serial.print("ThingSpeak Response Code for Steps: ");
  Serial.println(response);

  if (response == 200) {
    Serial.println("Steps data sent to ThingSpeak.");
  } else {
    Serial.println("Error on ThingSpeak request for Steps");
  }
}

void sendTemperatureToThingSpeak(float temperature) {
  ThingSpeak.setField(3, temperature); // Update with the correct field index
  int response = ThingSpeak.writeFields(channelID, thingSpeakApiKey);

  Serial.print("ThingSpeak Response Code for Temperature: ");
  Serial.println(response);

  if (response == 200) {
    Serial.println("Temperature data sent to ThingSpeak.");
  } else {
    Serial.println("Error on ThingSpeak request for Temperature");
  }
}

void sendHeartRateToThingSpeak(int heartRate) {
  ThingSpeak.setField(4, heartRate); // Update with the correct field index
  int response = ThingSpeak.writeFields(channelID, thingSpeakApiKey);

  Serial.print("ThingSpeak Response Code for Heart Rate: ");
  Serial.println(response);

  if (response == 200) {
    Serial.println("Heart Rate data sent to ThingSpeak.");
  } else {
    Serial.println("Error on ThingSpeak request for Heart Rate");
  }
}

IV. Penutup

4.1 Kesimpulan

    Sistem ini merupakan solusi inovatif untuk memantau kesehatan atlet secara real-time selama aktivitas olahraga. Dengan menggunakan teknologi IoT, sistem ini mampu mendeteksi dan melacak detak jantung serta suhu tubuh atlet secara akurat dan langsung. Data yang terkumpul dapat diakses dan dianalisis melalui platform web, memungkinkan pelatih dan atlet untuk memantau kondisi fisik mereka dengan lebih efektif.

   Dengan adanya sistem ini, diharapkan dapat membantu dalam meningkatkan performa atlet, mencegah cedera, dan memberikan wawasan yang lebih baik tentang kondisi kesehatan selama latihan dan kompetisi. Dengan demikian, sistem ini dapat menjadi alat yang berharga dalam mendukung pengembangan atlet dan meningkatkan kualitas olahraga secara keseluruhan.

Daftar Pustaka

https://elektro.uma.ac.id/2021/03/10/10780/
https://www.espressif.com/en/products/socs/esp32
https://raharja.ac.id/2021/11/16/mikrokontroler-esp32-2/
https://id.wikipedia.org/wiki/ESP32
https://medium.com/@vhydiechrist/menggunakan-esp32-devkit-dalam-membuat-web-server-1d523adddfdb
https://www.electronics-lab.com/project/esp32-webserver-tutorial/
https://www.rytechindo.com/index.php/blogs/65-blog/blog-tutorials/tutorial-wemos-wifi-iot/208-tutorial-cara-pemograman-esp32-menggunakan-arduino-ide

Lampiran

Video Demo disini
File Presentasi disini

Komentar

Postingan populer dari blog ini

PROTOTYPE SMART HOME DENGAN ESP32 BERBASIS INTERNET OF THINGS

MONITORING PENETAS TELUR BERBASIS IoT