这是主机程序
#include <Wire.h>
#include <HX711.h>
#include <LiquidCrystal.h>
HX711 hx(9, 10, 128, -0.115);
LiquidCrystal lcd(12,11,5,4,3,2);
double F=0;
const int address=4;
double val;
void setup() {
Wire.begin();
Serial.begin(9600);
hx.set_offset(-16000);
lcd.begin(16,2);
lcd.print("START!");
delay(3000);
}
void loop()
{
lcd.clear();
F=Get_F();
if(F<1)
{
F=0;
}
val=F;
Wire.beginTransmission(address);
Wire.println(val);
Wire.endTransmission();
lcd.print("F = ");
lcd.print(F);
lcd.print(" N");
delay(500);
}
double Get_F()
{
double sum0 = 0;
double sum1 = 0;
double Weight_Shiwu0;
double Weight_Shiwu;
for (int i = 0; i < 10; i++)
{
sum0 += hx.read();
sum1 += hx.bias_read();
}
Weight_Shiwu0=(double)(sum0/10);
Weight_Shiwu=(double)(sum1/10);
F=(double)(Weight_Shiwu/100-1);
return F;
}
void requestEvent()
{
Wire.write("F");
} |