标题: hx711重力传感器arduino例程 1Kg 5Kg 10Kg 20Kg [打印本页]

作者: 传奇之我    时间: 2018-11-3 10:57
标题: hx711重力传感器arduino例程 1Kg 5Kg 10Kg 20Kg
如题,重力传感器hx711代码

  1. #include "HX711.h"
  2. float Weight = 0;

  3. void setup()
  4. {
  5.         Init_Hx711();                                //初始化HX711模块连接的IO设置

  6.         Serial.begin(9600);
  7.         Serial.print("Welcome to use!\n");

  8.         delay(3000);
  9.         Get_Maopi();                //获取毛皮
  10. }

  11. void loop()
  12. {
  13.         Weight = Get_Weight();        //计算放在传感器上的重物重量
  14.         Serial.print(float(Weight/1000),3);        //串口显示重量
  15.         Serial.print(" kg\n");        //显示单位
  16.         Serial.print("\n");                //显示单位
  17.         delay(1000);                                //延时1s

  18. }
复制代码
  1. #include "hx711.h"

  2. long HX711_Buffer = 0;
  3. long Weight_Maopi = 0,Weight_Shiwu = 0;

  4. #define GapValue 215//10kg

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


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

  20. //****************************************************
  21. //称重
  22. //****************************************************
  23. long Get_Weight()
  24. {
  25.         HX711_Buffer = HX711_Read();
  26.         Weight_Shiwu = HX711_Buffer;
  27.         Weight_Shiwu = Weight_Shiwu - Weight_Maopi;                                //获取实物的AD采样数值。
  28.         Weight_Shiwu = (long)((float)Weight_Shiwu/GapValue);        
  29.         return Weight_Shiwu;
  30. }

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

  39.         digitalWrite(HX711_DT, HIGH);
  40.         delayMicroseconds(1);

  41.         digitalWrite(HX711_SCK, LOW);
  42.         delayMicroseconds(1);

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



HX711_1Kg.rar

1.3 KB, 下载次数: 33, 下载积分: 黑币 -5

HX711_5Kg.rar

1.3 KB, 下载次数: 33, 下载积分: 黑币 -5

HX711_10Kg.rar

1.31 KB, 下载次数: 25, 下载积分: 黑币 -5

HX711_20Kg.rar

1.31 KB, 下载次数: 41, 下载积分: 黑币 -5


作者: 我是你大爷1999    时间: 2019-1-3 15:14
你好,为什么我下载了1Kg的试用后,数据一直是0kg?给压力也没变化
作者: ruoc    时间: 2020-10-23 21:33
你好  我的称重是负值是什么问题啊
作者: sunlichao    时间: 2020-10-24 13:09
可能是传感器方向接反了
作者: wqhanweiwei    时间: 2021-1-31 21:38
10千克的为什么下不了,还有这个文件是您写的吗




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1