Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
ShreyaShree3011 authored May 24, 2023
1 parent aac2452 commit f618c66
Showing 1 changed file with 258 additions and 0 deletions.
258 changes: 258 additions & 0 deletions code.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,258 @@
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
const int trigPin = 5;
const int echoPin = 6;
const int trigPin2 = 7;
const int echoPin2 = 8;
long duration;
int distance,hight,be;
long reading;
LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display
#include "HX711.h"

// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 3;
const int LOADCELL_SCK_PIN = 4;
int show = -1,s=0,m=0;
float bm;
float vout,Iout,P,sout,sout1,Iout1,aout;
HX711 scale;

void setup()
{
int error;
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
Serial.begin(9600);
Serial.println("LCD...");
//attachInterrupt(pin_irq, IRQcounter, RISING);


be=0;
lcd.clear();

lcd.setBacklight(255);


lcd.setCursor(0, 0);
lcd.print(" health care");
lcd.setCursor(0, 1);
lcd.setBacklight(255);
delay(1000);

// wait on Serial to be available on Leonardo
while (!Serial)
;

Serial.println("Dose: check for LCD");

// See https://playground.arduino.cc/Main/I2cScanner how to test for a I2C device.
Wire.begin();
Wire.beginTransmission(0x27);
error = Wire.endTransmission();
Serial.print("Error: ");
Serial.print(error);

if (error == 0) {
Serial.println(": LCD found.");
show = 0;
lcd.begin(20, 4); // initialize the lcd

} else {
Serial.println(": LCD not found.");
} // if

lcd.print("Health care");
//lcd.setCursor(0, 1);
//lcd.print("monitoring system");
delay(2500);
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
pinMode(9, OUTPUT);
pinMode(2, INPUT);
} // setup()


void loop()
{
s++;
int t=analogRead(A0); //Reading the value from sensor

//t=(t*100)/1023;
t=t/2;
if (digitalRead(2)== HIGH)
{
be++;
}
if(s>180)
{
Serial.print(reading); ///distance/aout/vout/sout/reading
Serial.print(",");
Serial.print(hight);
Serial.print(",");
Serial.print(be);
Serial.print(",");
Serial.print(t);
Serial.print(",");
Serial.print(bm);
Serial.print(",");
Serial.println("0");


be=0;
s=0;
m++;
}

if(m>60)
{
m=0;

}

if((m==1)&&(s<3))
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("tablet remainder");
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
}


if((m==2)&&(s<3))
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("syrup remainder");
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
}

if((m==3)&&(s<3))
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("medicine before");
lcd.setCursor(0,1);
lcd.print("food alert");
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
}

if (scale.is_ready()) {
reading = scale.read();
reading=reading/10000;
reading=reading;
// Serial.print("HX711 reading: ");
//Serial.println(reading);
}


digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance= duration*0.034/2;

digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
duration = pulseIn(echoPin2, HIGH);
hight= duration*0.034/2;
reading=reading*2;
hight=200-hight;
float hei=hight;
bm=hei/100;
bm=(reading/(bm*bm));
lcd.clear();
lcd.setCursor(0,0);
lcd.print("W ");
lcd.print(reading);
lcd.setCursor(4,0);
lcd.print(" H ");
lcd.print(hight);
lcd.setCursor(10,0);
lcd.print(" HB ");
lcd.print(be);
lcd.print(" ");
lcd.print(bm);

lcd.setCursor(0,1);
lcd.print("d ");
lcd.print(distance);
lcd.setCursor(6,1);
lcd.print(" T ");
lcd.print(t);

lcd.setCursor(12,1);
lcd.print(s/3);
lcd.setCursor(15,1);
lcd.print(m);


lcd.print(" ");
//lcd.print(reading);
// Serial.print(Iout1);
// Serial.print(",");


delay(333);
if(reading>10)
{
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("BMI ");
lcd.print(bm);
delay(2000);
if(bm<19)
{
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("under weight");
delay(2000);
}


if(bm>27)
{
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("over weight");
delay(2000);
}

if((bm<27)&&(bm>19))
{
delay(1000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("normal weight");
delay(2000);
}

}


if(distance<15)
{
digitalWrite(9, HIGH);
delay(1000);
}
else
{
digitalWrite(9, LOW);
}

}

0 comments on commit f618c66

Please sign in to comment.