找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3691|回復: 1
打印 上一主題 下一主題
收起左側(cè)

arduino小型體重稱hx711程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:431677 發(fā)表于 2020-2-16 15:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
ardino制作,簡單體重計,使用壓力傳感器,通過公式轉(zhuǎn)換,串口顯示數(shù)據(jù)。
  1. #include "hx711.h"

  2. #define ValueGap 630
  3. //該數(shù)值可用砝碼校準

  4. long HX711_Buffer = 0;
  5. long Weight_Maopi = 0,Weight_Shiwu = 0;

  6. //****************************************************
  7. //初始化HX711
  8. //****************************************************
  9. void Init_Hx711()
  10. {
  11.         pinMode(HX711_SCK, OUTPUT);       
  12.         pinMode(HX711_DT, INPUT);
  13. }


  14. //****************************************************
  15. //獲取毛皮重量
  16. //****************************************************
  17. void Get_Maopi()
  18. {
  19.         Weight_Maopi = HX711_Read();               
  20. }

  21. //****************************************************
  22. //稱重
  23. //****************************************************
  24. unsigned int Get_Weight()
  25. {
  26.         HX711_Buffer = HX711_Read();

  27.         Weight_Shiwu = HX711_Buffer;
  28.         Weight_Shiwu = Weight_Shiwu - Weight_Maopi;                                //獲取實物的AD采樣數(shù)值。
  29.        
  30.         Weight_Shiwu = (int)((float)Weight_Shiwu/ValueGap+0.05);        

  31.         return Weight_Shiwu;
  32. }

  33. //****************************************************
  34. //讀取HX711
  35. //****************************************************
  36. unsigned long HX711_Read(void)        //增益128
  37. {
  38.         unsigned long count;
  39.         unsigned char i;
  40.         bool Flag = 0;

  41.         digitalWrite(HX711_DT, HIGH);
  42.         delayMicroseconds(1);

  43.         digitalWrite(HX711_SCK, LOW);
  44.         delayMicroseconds(1);

  45.           count=0;
  46.           while(digitalRead(HX711_DT));
  47.           for(i=0;i<24;i++)
  48.         {
  49.                   digitalWrite(HX711_SCK, HIGH);
  50.                 delayMicroseconds(1);
  51.                   count=count<<1;
  52.                 digitalWrite(HX711_SCK, LOW);
  53.                 delayMicroseconds(1);
  54.                   if(digitalRead(HX711_DT))
  55.                         count++;
  56.         }
  57.         digitalWrite(HX711_SCK, HIGH);
  58.         delayMicroseconds(1);
  59.         digitalWrite(HX711_SCK, LOW);
  60.         delayMicroseconds(1);
  61.         count ^= 0x800000;
  62.         return(count);
  63. }
復制代碼


體重秤.zip

4.28 KB, 下載次數(shù): 18, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:356403 發(fā)表于 2020-5-11 20:26 | 只看該作者
怎么校準
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表