之前做過一個(gè)電子秤,后來老婆說她要送給她同學(xué)一臺(tái),我只好再做一個(gè)....順便把制作方法也發(fā)了。
用到的器材有應(yīng)變梁式力傳感器一個(gè)(淘寶上有賣),Arduino nano一個(gè),nokia 5110液晶一塊,hx711測(cè)重芯片一個(gè)(已經(jīng)焊好的),有機(jī)玻璃板兩塊,面包板一塊,網(wǎng)線里的細(xì)導(dǎo)線若干。
在附上程序代碼:
#include //液晶驅(qū)動(dòng)的庫
#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); //開機(jī)時(shí)會(huì)顯示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;//除以多少需要自己去根據(jù)不同的力傳感器調(diào)節(jié)
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); //會(huì)顯示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);
}