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
- Bagaimana merancang sistem pemantauan kesehatan berbasis IoT yang dapat mendeteksi dan melacak detak jantung serta suhu tubuh atlet secara real-time?
- Bagaimana memastikan data yang dikumpulkan akurat dan dapat diakses secara nirkabel melalui platform web?
- Bagaimana sistem ini dapat membantu pelatih dan atlet dalam meningkatkan performa dan mencegah cedera melalui analisis data yang diperoleh?
1.3 Tujuan
- Mengembangkan sistem pemantauan kesehatan berbasis IoT yang mampu mendeteksi dan melacak detak jantung dan suhu tubuh atlet secara real-time.
- Menyediakan akses nirkabel ke data kesehatan melalui platform web yang intuitif dan mudah digunakan.
- 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
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgItn7N7AXfxA5C2G5QchIowA8r9hvvVfjFYhzXPPh0Q8Tbp82wz0rDyn4u8O3D6C_UBPm2JL6txFcRmYwKKmcf_aYMdQjWL_cVsKdAPzmXoRdeHZ7r7XJ7FrNSSYqovw4KFeZyJfcV6xCApOgw7bC3e7NzPjPS9wZanO-bqp7kshbyCWQWjWM9vGI-aaw/s320/sen-10-012-1-sensor-ds18b20-1-1.jpg)
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
Komentar
Posting Komentar