專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> Arduino >> 瀏覽文章

Arduino制作電子秤

作者:未知   來源:互聯(lián)網(wǎng)   點擊數(shù):  更新時間:2014年07月31日   【字體:
之前做過一個電子秤,后來老婆說她要送給她同學(xué)一臺,我只好再做一個....順便把制作方法也發(fā)了。
用到的器材有應(yīng)變梁式力傳感器一個(淘寶上有賣),Arduino nano一個,nokia 5110液晶一塊,hx711測重芯片一個(已經(jīng)焊好的),有機玻璃板兩塊,面包板一塊,網(wǎng)線里的細導(dǎo)線若干。
在附上程序代碼:
#include   //液晶驅(qū)動的庫
#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;//除以多少需要自己去根據(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); //會顯示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);
}
///////////////////////////////////////////////////////////////
關(guān)閉窗口

相關(guān)文章