找回密码
 立即注册

QQ登录

只需一步,快速开始

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

电子秤HX711AD模块资料包(V3.0)Arduino与单片机例程

[复制链接]
跳转到指定楼层
楼主
    在使用压力传感器制作电子秤时需要进行模数转换,HX711是专门用于电子秤设计的高精度AD模块



全部资料51hei下载地址:
电子秤HX711AD模块资料包(V3.0).rar (3.12 MB, 下载次数: 90)

单片机源程序如下:
  1. #include "hx711.h"

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

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


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

  20. //****************************************************
  21. //称重
  22. //****************************************************
  23. unsigned int Get_Weight()
  24. {
  25.         HX711_Buffer = HX711_Read();
  26.         HX711_Buffer = HX711_Buffer/100;
  27.         Serial.print(HX711_Buffer);
  28.         Serial.print("\n");
  29.         if(HX711_Buffer > Weight_Maopi)                        
  30.         {
  31.                 Weight_Shiwu = HX711_Buffer;
  32.                 Weight_Shiwu = Weight_Shiwu - Weight_Maopi;                                //获取实物的AD采样数值。
  33.         
  34.                 Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/4.05+0.05);         
  35.                         //计算实物的实际重量
  36.                         //因为不同的传感器特性曲线不一样,因此,每一个传感器需要矫正这里的4.30这个除数。
  37.                         //当发现测试出来的重量偏大时,增加该数值。
  38.                         //如果测试出来的重量偏小时,减小改数值。
  39.                         //该数值一般在4.0-5.0之间。因传感器不同而定。
  40.                         //+0.05是为了四舍五入百分位
  41.         }

  42.         if(Weight_Shiwu > 5000 || HX711_Buffer < Weight_Maopi - 30)
  43.         {
  44.                 Serial.print("Error");
  45.         }
  46.         return Weight_Shiwu;
  47. }

  48. //****************************************************
  49. //读取HX711
  50. //****************************************************
  51. unsigned long HX711_Read(void)        //增益128
  52. {
  53.         unsigned long count;
  54.         unsigned char i;
  55.         bool Flag = 0;

  56.         digitalWrite(HX711_DT, HIGH);
  57.         delayMicroseconds(1);

  58.         digitalWrite(HX711_SCK, LOW);
  59.         delayMicroseconds(1);

  60.           count=0;
  61.           while(digitalRead(HX711_DT));
  62.           for(i=0;i<24;i++)
  63.         {
  64.                   digitalWrite(HX711_SCK, HIGH);
  65.                 delayMicroseconds(1);
  66.                   count=count<<1;
  67.                 digitalWrite(HX711_SCK, LOW);
  68.                 delayMicroseconds(1);
  69.                   if(digitalRead(HX711_DT))
  70.                         count++;
  71.         }
  72.          digitalWrite(HX711_SCK, HIGH);
  73.         delayMicroseconds(1);
  74.         digitalWrite(HX711_SCK, LOW);
  75.         delayMicroseconds(1);
  76.         //count ^= 0x800000;
  77.         return(count);
  78. }
复制代码

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:162514 发表于 2018-8-29 08:38 | 只看该作者
是51单片机,不是arduino!
回复

使用道具 举报

板凳
ID:443255 发表于 2018-12-10 14:05 | 只看该作者
谢谢分享
回复

使用道具 举报

地板
ID:666747 发表于 2019-12-18 09:19 | 只看该作者
hx711的库
回复

使用道具 举报

5#
ID:951142 发表于 2021-7-9 12:24 | 只看该作者
包内有hx711.h吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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