Translate

Membuat Alat Ukur dan Monitor Kadar Gula Darah Dalam Tubuh Secara NON INVASIVE Menggunakan Arduino

Membuat Alat Ukur dan Monitor Kadar Gula Darah Dalam Tubuh Secara NON INVASIVE Menggunakan Arduino


        Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat digunakan untuk mengukur kadar gula darah dalam tubuh dengan menggunakan Arduino dan sensor yang dipakai adalah photodioda. alat ini menggunakan LCD TFT sebagai interfacenya. dan juga terdapat sebuah tombol untuk memulai pengukurannya. untuk lebih jelasnya berikut adalah daftar komponen dan programnya. 




a. Arduino Uno




b. LCD TFT




c. Sensor Photodioda dan Led Merah

     R3 = 100 Kohm
     R2 = 220 Ohm






d. Program Arduino IDE

#include <Adafruit_GFX.h>    // Core graphics library
#include <MCUFRIEND_kbv.h>   // Hardware-specific library
MCUFRIEND_kbv tft;

#include <Fonts/FreeSans9pt7b.h>
#include <Fonts/FreeSans12pt7b.h>
#include <Fonts/FreeSerif12pt7b.h>

#include <FreeDefaultFonts.h>

#define BLACK   0x0000
#define RED     0xF800
#define GREEN   0x07E0
#define WHITE   0xFFFF
#define GREY    0x8410

int adcsensor;
int buzzer = 11;
int btok = 10;
float fix;
int datafix;
int cacah;
float kalibrasi;

void setup()
{
    uint16_t ID = tft.readID();
    if (ID == 0xD3D3) ID = 0x9481; //force ID if write-only display
    tft.begin(ID);
    tft.setRotation(0);
    tft.fillScreen(BLACK);
    tft.setTextColor(GREEN, BLACK);
    tft.setTextSize(2);
    pinMode(buzzer,OUTPUT);
    pinMode(btok,INPUT_PULLUP);
    
digitalWrite(buzzer,HIGH);
delay(500);
digitalWrite(buzzer,LOW);
delay(500);
digitalWrite(buzzer,HIGH);
delay(500);
digitalWrite(buzzer,LOW);
delay(500);
digitalWrite(buzzer,HIGH);
delay(500);
digitalWrite(buzzer,LOW);
delay(500);

}

void loop()
{

    int x = digitalRead(btok);
    
    tft.setTextColor(GREEN, BLACK);
    tft.setCursor(15, 60);
    tft.print("TEKAN TOMBOL       ");
    tft.setCursor(15, 80);
    tft.print("UNTUK MULAI        ");
   

if(x == 0){
    tft.setTextColor(GREEN, BLACK);
    tft.setCursor(15, 60);
    tft.print(" TUNGGU SEBENTAR   ");
    tft.setCursor(15, 80);
    tft.print(" SEDANG PROSES     ");

    tft.setTextColor(GREEN, BLACK);
    tft.setCursor(15, 110);
    tft.print("                  ");
    tft.setCursor(15, 130);
    tft.print("                  ");
    tft.setCursor(15, 150);
    tft.print("                  ");
    tft.setTextColor(RED, BLACK);
    tft.print("                  ");
    tft.setCursor(15, 190);
    tft.print("                  ");
    
    delay(5000);
    cacah = 0;
    datafix = 0;
    fix = 0;
  proses();
  }
   
    delay(200);
}


void proses(){
  
    adcsensor = analogRead(A3);

    tft.setTextColor(GREEN, BLACK);
    tft.setCursor(15, 60);
    tft.print("Monitor Gula Darah ");
    tft.setCursor(15, 80);
    tft.print("ADC= ");
    tft.setTextColor(RED, BLACK);
    tft.print(adcsensor);
    tft.print("      ");

cacah++;

datafix = adcsensor + datafix;

delay(10);

if(cacah > 20){
  fix = datafix / 20.0;
  kalibrasi = (fix - 1022.1) / 0.0967;

  if(kalibrasi > 200){
    digitalWrite(buzzer,HIGH);
    }
  if(kalibrasi < 200){
    digitalWrite(buzzer,LOW);
    }
    
    tft.setTextColor(GREEN, BLACK);
    tft.setCursor(15, 110);
    tft.print("KADAR Gula Darah");
    tft.setCursor(15, 130);
    tft.print("mg/dl= ");
    tft.setTextColor(RED, BLACK);
    tft.print(kalibrasi);
    tft.setTextColor(GREEN, BLACK);
    tft.setCursor(15, 150);
    tft.print("ADC= ");
    tft.setTextColor(RED, BLACK);
    tft.print(fix);
    tft.print("      ");

  if(kalibrasi < 60){
    tft.setTextColor(GREEN, BLACK);
    tft.setCursor(15, 190);
    tft.print("KADAR RENDAH    ");    
    }

  if((kalibrasi >= 60)&&(kalibrasi <= 90)){
    tft.setTextColor(WHITE, BLACK);
    tft.setCursor(15, 190);
    tft.print("KADAR NORMAL    ");    
    } 

  if(kalibrasi > 90){
    tft.setTextColor(RED, BLACK);
    tft.setCursor(15, 190);
    tft.print("KADAR TINGGI    ");    
    }   
    
  return;  
  }
  
  
proses();  
  }





e. VIDEO HASILNYA








No comments:

Post a Comment