FitNex

A smart device to calculate your BMI, TBW and ideal water consumption for better health.

IntermediateFull instructions provided10 hours662
FitNex

Things used in this project

Story

Read more

Code

BMI.ino

C/C++
code to read weight of person from load cell and send the same via bluetooth
#include "HX711.h"

// HX711.DOUT	- pin #A1
// HX711.PD_SCK	- pin #A0

HX711 scale(12, 11);		// parameter "gain" is ommited; the default value 128 is used by the libra
char rec;
void setup() {
  Serial.begin(9600);
  //Serial.println("HX711 Demo");

  //Serial.println("Before setting up the scale:");
  //Serial.print("read: \t\t");
  scale.read();//Serial.println(scale.read());			// print a raw reading from the ADC

  //Serial.print("read average: \t\t");
  scale.read_average(20);//Serial.println(scale.read_average(20));  	// print the average of 20 readings from the ADC

  //Serial.print("get value: \t\t");
  scale.get_value(5);//Serial.println(scale.get_value(5));		// print the average of 5 readings from the ADC minus the tare weight (not set yet)

  //Serial.print("get units: \t\t");
  //Serial.println(scale.get_units(5), 1);	// print the average of 5 readings from the ADC minus tare weight (not set) divided 
						// by the SCALE parameter (not set yet)  

  scale.set_scale(2280.f);                      // this value is obtained by calibrating the scale with known weights; see the README for details
  scale.tare();				        // reset the scale to 0

  //Serial.println("After setting up the scale:");

  //Serial.print("read: \t\t");
  scale.read();//Serial.println(scale.read());                 // print a raw reading from the ADC

  //Serial.print("read average: \t\t");
  scale.read_average(20);//Serial.println(scale.read_average(20));       // print the average of 20 readings from the ADC

  //Serial.print("get value: \t\t");
  scale.get_value(5);//Serial.println(scale.get_value(5));		// print the average of 5 readings from the ADC minus the tare weight, set with tare()

  //Serial.print("get units: \t\t");
  //Serial.println(scale.get_units(5), 1);        // print the average of 5 readings from the ADC minus tare weight, divided 
						// by the SCALE parameter set with set_scale

 // Serial.println("Readings:");

}

void loop() 
{
  //Serial.print("one reading:\t");
  //Serial.print(scale.get_units(), 1);
  //Serial.print("\t| average:\t");
  if(Serial.available()>0)
  {
    rec = Serial.read();
    if(rec == 'A')  /* If data is available on serial port */
    {
      Serial.println(scale.get_units(10)/10);
      scale.power_down();			        // put the ADC in sleep mode
      delay(4000);
      scale.power_up();
    }
  }
}

Credits

Tushar Garg
1 project • 0 followers
Lakshya Mittal
1 project • 0 followers
Dr. Umesh Dutta
42 projects • 61 followers
Working as Director of Innovation Centre at Manav Rachna, India. I am into development for the last 12 years.
Texas Instruments University Program
91 projects • 120 followers
TI helps students discover what's possible to engineer their future.

Comments