SINAU PROGRAMMING
SINAU PROGRAMMING
  • Home
  • Source Code
  • Social
  • CONTROL
    • Internet of Think (IoT)
    • ESP
      • NodeMcu
      • Lora
      • WeMos
      • Esp 32 Dev
      • Node 32s
    • Arduino
    • Raspberry
    • Proteus
  • MATLAB
    • MATLAB PROJECT
    • PLC
      • Omron
      • Mitsubishi
      • Siemens
      • Schneider
      • ArduinoPLC
    • Arduino
    • Basic & Doc
  • Contact Us

            Penyakit jantung adalah ancaman besar bagi manusia selama beberapa dekade terakhir, banyak orang yang meninggal karena masalah jantung. Ini dianggap sebagai salah satu masalah utama dalam Industri biomedis saat ini. Dengan menganalisis atau memantau sinyal EKG pada tahap awal, penyakit jantung dapat diidentifikasi dan dicegah.

Sebelum masuk ke modul ECG AD8232 , mari kita baca terlebih dahulu mengenai gelombang ECG.

 

Gelombang P elektrokardiogram menunjukkan kontraksi atrium.

Interval PR adalah ukuran waktu dari permulaan kontraksi atrium sampai permulaan kontraksi ventrikel.

Kompleks QRS merepresentasikan depolarisasi lengkap ventrikel.

Segmen ST mewakili depolarisasi lengkap dari ventrikel. 

elevasi atau depresi segmen ini dapat mengindikasikan iskemia otot jantung.

 

 

Interval QT menunjukkan depolarisasi dan repolarisasi lengkap ventrikel.

 Interval Kutty yang berkepanjangan merupakan faktor risiko aritmia ventrikel dan kematian mendadak.

            Elektrokardiogram dapat menjadi cara yang berguna untuk mengetahui apakah tekanan darah tinggi Anda telah menyebabkan kerusakan pada jantung atau pembuluh darah Anda. Karena itu, Anda mungkin akan diminta untuk menjalani EKG saat pertama kali didiagnosis menderita tekanan darah tinggi.

Beberapa hal yang dapat dideteksi oleh pembacaan EKG adalah:
   - kolesterol menyumbat suplai darah jantung Anda
   - serangan jantung di masa lalu
   - pembesaran satu sisi jantung
   - irama jantung yang tidak normal

            AD8232 adalah modul pengkondisian sinyal terintegrasi untuk EKG dan aplikasi pengukuran biopotensial lainnya.Ini dirancang untuk mengekstrak, memperkuat, dan memfilter sinyal biopotensial kecil di hadapan kondisi bising, seperti yang dibuat oleh gerakan atau penempatan elektroda jarak jauh. Desain ini memungkinkan konverter analog-ke-digital (ADC) berdaya sangat rendah atau mikrokontroler tertanam untuk memperoleh sinyal keluaran dengan mudah.

Pemasangan elektroda akan lebih baik jika dekat ke jantung, maka akan semakin baik
pengukurannya. Kabel diberi kode warna untuk membantu Anda
mengidentifikasi penempatan yang tepat.
  


Setelah menggetahui tentang gelombang ecg dan pemasangan elektroda, Sekarang rangkai komponen seperti di bawah ini :

 

Setelah itu masukan program di bawah ini :

#include <Adafruit_SSD1306.h>
#define OLED_Address 0x3C // 0x3C device address of I2C OLED. Few other OLED has 0x3D
Adafruit_SSD1306 oled(128, 64); // create our screen object setting resolution to 128x64
int a=0;
int lasta=0;
int lastb=0;
int LastTime=0;
int ThisTime;

void setup() {
// initialize the serial communication:
Serial.begin(9600);
pinMode(10, INPUT); // Setup for leads off detection LO +
pinMode(11, INPUT); // Setup for leads off detection LO -
oled.begin(SSD1306_SWITCHCAPVCC, OLED_Address);
oled.clearDisplay();
oled.setTextSize(2);

}

void loop() {

if((digitalRead(10) == 1)||(digitalRead(11) == 1)){
Serial.println('!');
}
else{
if(a>127)
{
oled.clearDisplay();
a=0;
lasta=a;
}

ThisTime=millis();
int value=analogRead(A0);
oled.setTextColor(WHITE);
int b=60-(value/16);
oled.writeLine(lasta,lastb,a,b,WHITE);
lastb=b;
lasta=a;
// send the value of analog input 0:
Serial.println(analogRead(A0));
}
oled.display();
a++;
//Wait for a bit to keep serial data from saturating
delay(50);
}
 

Hasilnya dapat di lihat pada serial plotter maupun bisa di lihat pada LCD oled.

Sekian tutorial kali ini semoga bermanfaat.

 

 


 

 

Sensor Pulse Oximeter

Bagaimana Cara kerjanya?

 

Oksigen masuk ke paru-paru dan kemudian diteruskan ke dalam darah. Darah membawa oksigen ke berbagai organ di tubuh kita. Cara utama oksigen dibawa dalam darah kita adalah melalui hemoglobin. Selama pembacaan oksimetri nadi, perangkat kecil seperti penjepit ditempatkan di jari tangan, daun telinga, atau kaki.

 

Berkas cahaya kecil melewati darah di jari, mengukur jumlah oksigen. Ini dilakukan dengan mengukur perubahan dalam penyerapan cahaya dalam darah beroksigen atau terdeoksigenasi.

 

 

 

Sensor ini merupakan oksimetri nadi terintegrasi dan solusi sensor monitor detak jantung. Ini menggabungkan dua LED, detektor foto, optik yang dioptimalkan, dan pemrosesan sinyal analog dengan noise rendah untuk mendeteksi sinyal denyut nadi dan detak jantung. Ini beroperasi dari catu daya 1,8V dan 3,3V dan dapat dimatikan melalui perangkat lunak dengan arus stanby yang dapat diabaikan, memungkinkan catu daya untuk tetap terhubung setiap saat.


 Block Diagram Sistem

 Diagram Fungsi 


Detil Deskripsi
MAX30100 adalah solusi sistem yang lengkap dari sensor denyut nadi dan detak jantung  yang dirancang untuk sesuai kebutuhan data dan praktis sebagai perangkat yang dapat dikenakan. MAX30100 mempunyai ukuran yang sangat kecil, sehingga merupakan solusi yang sangat bagus tanpa mengorbankan kinerja secara optimal baik dari sisi optik atau rangkaian. MAX30100 sepenuhnya dapat dikonfigurasi melalui register perangkat lunak, dan data keluaran digital disimpan dalam kedalaman 16 FIFO di dalam perangkat. FIFO memungkinkan MAX30100 untuk dihubungkan ke mikrokontroler atau mikroprosesor
dengan bus terminal secara bersamaan, yang datanya tidak terus-menerus dibaca dari register perangkat.

Subsistem SpO2
Subsistem SpO2 di MAX30100 terdiri dari
ambient light cancellation (ALC), 16-bit sigma delta ADC, dan sebuah filter dengan waktu khusus. SpO2 ADC adalah sigma oversampling waktu berkelanjutan konverter delta dengan resolusi hingga 16-bit. Laju data keluaran ADC dapat diprogram dari 50Hz hingga 1kHz. 
MAX30100 menyertakan filter waktu terpisah untuk tolak interferensi 50Hz / 60Hz dan residu frekuensi rendah terhadap kebisingan sekitar.

Sensor temperatur
MAX30100 memiliki sensor suhu pada chip
(opsional) mengkalibrasi ketergantungan suhu di dalam Subsistem SpO2.
Algoritma SpO2 relatif tidak sensitif terhadap panjang gelombang LED IR, tetapi panjang gelombang LED merah sangat penting untuk mengoreksi interpretasi data. Suhu data sensor dapat digunakan untuk mengkompensasi kesalahan SpO2 dengan perubahan suhu lingkungan.

Driver LED
MAX30100 mengintegrasikan driver LED merah dan IR ke drive Pulsa LED untuk pengukuran SpO2 dan HR. Arus LED  dapat diprogram dari 0mA hingga 50mA dengan tegangan suplai yang tepat. Lebar pulsa LED dapat diprogram dari 200μs hingga 1.6ms untuk dioptimalkan
akurasi pengukuran dan konsumsi daya berdasarkan pada kasus penggunaan.

Sensor Pulse Oximeter (SPO2) Arduino

 Library Max30100

 Library Oled 






List Program
 
#include 
#include "MAX30100_PulseOximeter.h"

#define REPORTING_PERIOD_MS     1000


PulseOximeter pox;

uint32_t tsLastReport = 0;

#include "Wire.h"
#include "Adafruit_GFX.h"
#include "OakOLED.h"


/////// GLOBALS //////

OakOLED oled;

///////////////////////
void onBeatDetected()
{
    Serial.println("B:1");
}

void setup()
{
    Serial.begin(115200);

    // Initialize the PulseOximeter instance and register a beat-detected callback
    // The parameter passed to the begin() method changes the samples flow that
    // the library spews to the serial.
    // Options:
    //  * PULSEOXIMETER_DEBUGGINGMODE_PULSEDETECT : filtered samples and beat detection threshold
    //  * PULSEOXIMETER_DEBUGGINGMODE_RAW_VALUES : sampled values coming from the sensor, with no processing
    //  * PULSEOXIMETER_DEBUGGINGMODE_AC_VALUES : sampled values after the DC removal filter

    // Initialize the PulseOximeter instance
    // Failures are generally due to an improper I2C wiring, missing power supply
    // or wrong target chip
    if (!pox.begin(PULSEOXIMETER_DEBUGGINGMODE_PULSEDETECT)) {
        Serial.println("ERROR: Failed to initialize pulse oximeter");
        for(;;);
    }

    pox.setOnBeatDetectedCallback(onBeatDetected);
     oled.begin();

  oled.setTextSize(1);
  oled.setTextColor(1);
  oled.setCursor(0, 0);

  oled.println("Pulse Oximeter");
  oled.display();
}

void loop()
{
    // Make sure to call update as fast as possible
    pox.update();

    // Asynchronously dump heart rate and oxidation levels to the serial
    // For both, a value of 0 means "invalid"
    if (millis() - tsLastReport > REPORTING_PERIOD_MS) {
        Serial.print("H:");
        Serial.println(pox.getHeartRate());
        oled.setTextSize(1);
        oled.setTextColor(1);
        oled.setCursor(5, 4);

        oled.println(pox.getHeartRate());
        oled.display();

        Serial.print("O:");
        Serial.println(pox.getSpO2());
        oled.setTextSize(1);
        oled.setTextColor(1);
        oled.setCursor(10, 4);

        oled.println(pox.getSpO2());
        oled.display();
        tsLastReport = millis();
    }
}
 
Newer Posts Older Posts Home





POPULAR POSTS

  • Skema Power Supply Switching SMPS
  • Proteus 8.5 Full Version Professional
  • Serial Communication UART Raspberry Pico (SoftSerial)
  • Artificial Neural Network for Identification MATLAB
  • Tutorial ILI9341 TFT SPI LCD touch Screen
  • Pulse Oxymetry (SPO2) + Raspberry Pi
  • Menampilkan Text Pada LCD 16x2 I2C Arduino

ABOUT ME

cobabaru

Sinau Programming

SUBSCRIBE & FOLLOW

Training


Contact Form

Name

Email *

Message *

Categories

  • alkes 1
  • Android 4
  • Arduino 35
  • Basic & Doc 12
  • centrifuge 1
  • ESP32 8
  • Internet of Things (IoT) 23
  • LCD TFT SPI 2
  • MATLAB 6
  • Metode kendali 1
  • Modul Charger 1
  • Nextion 4
  • NodeMcu 8
  • oled 1
  • Pattern Recognition 2
  • Pemrograman 2
  • Perbaikan 1
  • PID 2
  • PLC HMI VTSCADA ARDUINO 3
  • PRIVACY POLICY 1
  • Proteus 11
  • Python 1
  • raspberry 5
  • Teknik Elektromedik 2
  • Thingsboard 1
  • Video 5
  • Wemos 4

sinau_programming

Sinau Programming Distributed by Sinau Programming