Translate

Monitor Gula Darah Non Invasive Notif Telegram IOT SP8266 Nodemcu

Monitor Gula Darah Non Invasive Notif Telegram IOT SP8266 Nodemcu


        Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat dapat memonitor gula darah secara non invasive dengan menggunakn notifikasi Telegram dengan IOT ESP8266 Nodemcu. untuk lebih jelasnya berikut adalah koding dan komponennya.


a. Komponen




b. Program ESP8266

#include <Wire.h>
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <ArduinoJson.h>

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

char ssid[ ] = "hotspothpku";
char pass[ ] = "12345678";//password wifi

#define BOTtoken "6479039456:AAEewLE_SoxTckygc_A1EgP8lXxxxxxxxxx" //token bot telegram
#define idChat "123456789" //idbot

WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);

int bt = D6;
int btx = 0;
int adcsensor;
float fix;
int datafix;
int cacah = 0;
float kalibrasi;
int tanda = 0;
int buzzer = D7;

void setup() {

  pinMode(buzzer,OUTPUT);
  Serial.begin(9600);
  lcd.begin();
  lcd.clear();
  lcd.noCursor();
  
  pinMode(bt,INPUT_PULLUP);
  digitalWrite(bt,HIGH);

  client.setInsecure();
  Serial.print("Connecting Wifi: ");
  Serial.println(ssid);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, pass);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
}

void loop(){
 delay(100);
   
 btx = digitalRead(bt);

 if(btx == 0){
   delay(200); 
   tanda = 1; 
   cacah = 0;
   lcd.clear();
   delay(1000);
 }

if(tanda == 0){ 
 lcd.setCursor(0,0);
 lcd.print("TEKAN MULAI");
 lcd.setCursor(0,1);
 lcd.print("mg/dl= ");
 lcd.print(fix);
 lcd.print("      "); 
}

if(tanda == 1){  
 datafix = 0;
 fix = 0;

adcsensor = analogRead(A0);

 lcd.setCursor(0,0);
 lcd.print("ADC= ");
 lcd.print(adcsensor);
 lcd.print("      ");

 cacah++;

 datafix = adcsensor + datafix;

 delay(100);

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

    bot.sendChatAction(idChat, "Sedang mengetik...");
    Serial.print("Mg/dl : ");
    Serial.println(fix);
    delay(2000);
    
    String suhu = " Gula Darah : ";
    suhu += float(fix);
    suhu += " mg/dl\n";
    suhu += "Informasi Kesehatan Penyakit Tidak Menular Diabetes Militus, bisa akses di:https://drive.google.com/drive/folders/xxxxxxxxxxxxxxxx \n";
    bot.sendMessage(idChat, suhu, "");
    Serial.print("Mengirim data sensor ke telegram");
   
  tanda = 0;
  }

  if(fix > 100){
    digitalWrite(buzzer,HIGH);
    delay(3000);
    digitalWrite(buzzer,LOW);
  }

}

}



c. VIDEO HASILNYA






No comments:

Post a Comment