之前做过一个电子秤,后来老婆说她要送给她同学一台,我只好再做一个....顺便把制作方法也发了。
用到的器材有应变梁式力传感器一个(淘宝上有卖),Arduino nano一个,nokia 5110液晶一块,hx711测重芯片一个(已经焊好的),有机玻璃板两块,面包板一块,网线里的细导线若干。
在附上程序代码:
#include //液晶驱动的库
#include //hx711的库
const int btpin=7;
int btst=0;
HX711 hx(9, 10);
int j=0;
int i=0;
int ii=0;
int j0=0;
double sum0 = 0;
double sum = 0;
LCD5110 myGLCD(2,3,4,6,5);
extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];
extern uint8_t BigNumbers[];
void setup()
{ Serial.begin(9600);
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);
myGLCD.print("Angela to ", LEFT, 12); //开机时会显示Angela送给Helen
myGLCD.print("Helen!", CENTER, 36);
delay(1500);
myGLCD.InitLCD();
sum = hx.read();
sum0=sum/1300;}
void loop()
{ btst=digitalRead(btpin);
sum = hx.read();
//Serial.println(sum);
sum=sum/1300;//除以多少需要自己去根据不同的力传感器调节
if(btst==1)
sum0=sum;
j=sum-sum0;
if(j!=j0)
myGLCD.InitLCD();
j0=j;
Serial.println(j);
myGLCD.setFont(BigNumbers);
myGLCD.printNumI(j, CENTER, 24);
myGLCD.setFont(SmallFont);
myGLCD.print("Helen's scale", LEFT, 0); //会显示Helen的称
myGLCD.print("g", RIGHT, 36);
delay(200);
}
void loop()
{ btst=digitalRead(btpin);
sum = hx.read();
//Serial.println(sum);
sum=sum/1300;
if(btst==1)
sum0=sum;
j=sum-sum0;
if(j!=j0)
myGLCD.InitLCD();
j0=j;
Serial.println(j);
myGLCD.setFont(BigNumbers);
myGLCD.printNumI(j, CENTER, 24);
myGLCD.setFont(SmallFont);
myGLCD.print("Helen's scale", LEFT, 0);
myGLCD.print("g", RIGHT, 36);
delay(200);
}