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

Arduino制作電子秤

作者:未知   來源:互聯(lián)網(wǎng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年07月31日   【字體:
之前做過一個(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)的庫(kù)
#include      //hx711的庫(kù)
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);
}
///////////////////////////////////////////////////////////////
關(guān)閉窗口

相關(guān)文章