找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3721|回复: 1
打印 上一主题 下一主题
收起左侧

arduino小型体重称hx711程序

[复制链接]
跳转到指定楼层
楼主
ID:431677 发表于 2020-2-16 15:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ardino制作,简单体重计,使用压力传感器,通过公式转换,串口显示数据。
  1. #include "hx711.h"

  2. #define ValueGap 630
  3. //该数值可用砝码校准

  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采样数值。
  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, 下载次数: 18, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:356403 发表于 2020-5-11 20:26 | 只看该作者
怎么校准
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表