ANJANA PRIYAMeenakshi ShyamAnnamariaVishnupriya K G
Published

IV Alert System

The Automatic IV Drip Monitoring and Alerting System uses IoT and sensor technology to track IV fluid levels in real time .

IntermediateFull instructions provided85
IV Alert System

Things used in this project

Hardware components

Espressif ESP32 Development Board - Developer Edition
Espressif ESP32 Development Board - Developer Edition
Main processing unit.
×1
YZC-133 load cell
Weight sensor.
×1
SparkFun Load Cell Amplifier - HX711
SparkFun Load Cell Amplifier - HX711
load cell signal amplifier.
×1
Standard LCD - 16x2 White on Blue
Adafruit Standard LCD - 16x2 White on Blue
displays output.
×1
I2C Module for 16x2 character LCD
Enables communication between microcontroller and LCD.
×1
Buzzer
Buzzer
Alerts when not in threshold range.
×1

Software apps and online services

Blynk
Blynk
Arduino IDE
Arduino IDE

Hand tools and fabrication machines

10 Pc. Jumper Wire Kit, 5 cm Long
10 Pc. Jumper Wire Kit, 5 cm Long
Soldering iron (generic)
Soldering iron (generic)
Multitool, Screwdriver
Multitool, Screwdriver

Story

Read more

Schematics

CIRCUIT DIAGRAM

Code

IV_ALERT SYSTEM.

C/C++
#define BLYNK_TEMPLATE_ID "TMPL3qR3kdYc7"
#define BLYNK_TEMPLATE_NAME "IOT based IV Bag Monitor"

#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#include "HX711.h"
#define DOUT  23
#define CLK  19
#define BUZZER 25
HX711 scale; 


char auth[] = "FrrVFPn0k3HfZtFOUH4KL-46ujLfrgr4";
char ssid[] = "ohyouwantinternet";
char pass[] = "19012005";

int liter;
int val;
float weight; 
float calibration_factor = 102500; // change this value for your Load cell sensor 



void setup() {
  // Set up serial monitor
  scale.begin(DOUT, CLK);  
  Serial.begin(115200);
  lcd.init();
  lcd.backlight();
  pinMode(BUZZER ,OUTPUT);
  Serial.println("Remove all weight from scale");
  scale.set_scale();
  scale.tare(); //Reset the scale to 0
  long zero_factor = scale.read_average(); //Get a baseline reading
  Serial.print("Zero factor: "); //This can be used to remove the need to tare the scale. Useful in permanent scale projects.
  Serial.println(zero_factor);
  Blynk.begin(auth, ssid, pass); 
  lcd.setCursor(3, 0);
  lcd.print("IOT Based IVBag");
  lcd.setCursor(5, 1);
  lcd.print("Monitering System");
  delay(2000);
  lcd.clear();
}
 void loop() {
 Blynk.run();
 measureweight();
}
 
void measureweight(){
 scale.set_scale(calibration_factor); //Adjust to this calibration factor
  weight = scale.get_units(5); 
    if(weight<0)
  {
    weight=0.00;
    }
  liter = weight*1000;
  val = liter;
  val = map(val, 0, 505, 0, 100);

  Serial.print("Kilogram: ");
  Serial.print(weight); 
  Serial.println(" Kg");

  Serial.print("IV BOTTLE: ");
  Serial.print(liter);
  Serial.println("mL");

  Serial.print("IV Bag Percent: ");
  Serial.print(val);
  Serial.println("%");
  Serial.println();
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("IV BOTTLE: ");
  lcd.print(liter);
  lcd.print("mL");
 
  lcd.setCursor(0, 1);
  lcd.print("IV Bag Percent: ");
  lcd.print(val);
  lcd.print("%");

  delay(500);
  if (val <= 50 && val >= 40){
    Blynk.logEvent("iv_alert","IV Bottle is 50%");
    digitalWrite(BUZZER, HIGH);
    delay(50);
    digitalWrite(BUZZER, LOW);
    delay(50);
  }
  else if (val <= 20){
    Blynk.logEvent("iv_alert","IV Bottle is too LOW");
    digitalWrite(BUZZER, HIGH);
  }
  else{
    digitalWrite(BUZZER, LOW);
  }
  Blynk.virtualWrite(V0,liter);
  Blynk.virtualWrite(V1,val);
}

IV_ALERT SYSTEM.

Credits

ANJANA PRIYA
1 project • 2 followers
Meenakshi Shyam
1 project • 3 followers
Electronics & embedded systems enthusiast | IoT, PCB design, microcontrollers | Building, learning & sharing tech projects.
Annamaria
1 project • 2 followers
Vishnupriya K G
1 project • 2 followers

Comments