找回密码
 立即注册

QQ登录

只需一步,快速开始

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

HX711.h的头文件 含Arduino实例 称重传感器

  [复制链接]
跳转到指定楼层
楼主
称重传感器hX711 的头文件,含实例
Hx711    KEYWORD1
setScale    KEYWORD2
setOffset    KEYWORD2
getValue    KEYWORD2
getAverageValue    KEYWORD2
getWeight    KEYWORD2

Arduino程序:
HX711.h头文件:
  1. #ifndef HX711_h
  2. #define HX711_h

  3. #include "Arduino.h"

  4. class Hx711
  5. {
  6. private:
  7.         int DOUT;//定义数据引脚
  8.         int SCK;//定义时钟引脚

  9.         float scale;//定义比例系数
  10.         long offset;//定义补偿值
  11. public:
  12.         Hx711(int IO_DOUT,int IO_SCK);//构造函数
  13.         void setScale(float IO_scale);//设置比例系数
  14.         void setOffset(long IO_offset);//设置补偿值

  15.         long getValue();//采集一次ADC值
  16.         long getAverageValue(char IO_times);//采集ADC平均值
  17.         float getWeight(char IO_times);//得出重量值
  18. };

  19. #endif
复制代码

HX711.cpp 文件:
  1. #include "HX711.h"

  2. #include "Arduino.h"

  3. //int DOUT;//定义数据引脚
  4. //int SCK;//定义时钟引脚

  5. //float scale;//定义比例系数
  6. //long offset;//定义补偿值
  7. //int times;//定义采集次数

  8. Hx711::Hx711(int IO_DOUT,int IO_SCK)//构造函数
  9. {
  10.         DOUT = IO_DOUT;
  11.         SCK = IO_SCK;
  12.         pinMode(SCK, OUTPUT);//设置IO口工作方式
  13.         pinMode(DOUT, INPUT);

  14. }

  15. void Hx711::setScale(float IO_scale)//设置比例系数
  16. {
  17.         scale = IO_scale;
  18. }

  19. void Hx711::setOffset(long IO_offset)//设置补偿值
  20. {
  21.         offset = IO_offset;
  22. }

  23. long Hx711::getValue()//采集一次ADC值
  24. {
  25.         unsigned long Count;
  26.         unsigned char i;
  27.         digitalWrite(SCK,LOW);
  28.         Count = 0;
  29.         while(digitalRead(DOUT) == 1);//低电平时数据可以输出
  30.         for(i=0;i<24;i++)//循环读取数据
  31.         {
  32.                 digitalWrite(SCK,HIGH);
  33.                 Count = Count<<1;
  34.                 digitalWrite(SCK,LOW);
  35.                 if(digitalRead(DOUT) == 1) Count++;//最低位置1
  36.         }
  37.         digitalWrite(SCK,HIGH);
  38.         Count = Count^0x800000;//最高位置0
  39.         digitalWrite(SCK,LOW);//128增益
  40.         return Count;
  41. }

  42. long Hx711::getAverageValue(char IO_times)//采集ADC平均值
  43. {
  44.         long sum=0;
  45.         char i;
  46.         for(i=0;i<IO_times;i++)
  47.         {
  48.                 sum += getValue();
  49.         }
  50.         return sum/IO_times;

  51. ……………………

  52. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

下载:
HX711.zip (8.6 KB, 下载次数: 296)

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

使用道具 举报

沙发
ID:242054 发表于 2017-10-23 14:54 | 只看该作者
这个可以的
回复

使用道具 举报

板凳
ID:249550 发表于 2017-11-15 09:21 | 只看该作者
好东西,顶顶顶
回复

使用道具 举报

地板
ID:248689 发表于 2017-11-19 21:50 | 只看该作者
为什么显示scale不存在,编译报错
回复

使用道具 举报

5#
ID:264535 发表于 2017-12-20 21:54 | 只看该作者
这个库不错,找了好久
回复

使用道具 举报

6#
ID:264535 发表于 2017-12-20 21:54 | 只看该作者
这个库不错,找了好久,非常感谢
回复

使用道具 举报

7#
ID:284872 发表于 2018-2-23 05:15 | 只看该作者
楼主很给力呀
回复

使用道具 举报

8#
ID:290383 发表于 2018-3-11 15:05 | 只看该作者

这个库不错,找了好久
回复

使用道具 举报

9#
ID:290383 发表于 2018-3-11 15:24 | 只看该作者

为什么显示scale不存在,编译报错
回复

使用道具 举报

10#
ID:319537 发表于 2018-5-1 10:56 | 只看该作者
给力,一直需要这个东西
回复

使用道具 举报

11#
ID:213209 发表于 2018-5-24 19:38 | 只看该作者
好东西,谢谢楼主
回复

使用道具 举报

12#
ID:385483 发表于 2018-8-13 13:52 | 只看该作者
good。。。。
回复

使用道具 举报

13#
ID:429183 发表于 2018-11-19 14:47 | 只看该作者
我是来学习的,新手入门请多指教
回复

使用道具 举报

14#
ID:474235 发表于 2019-1-30 22:16 | 只看该作者
看看是否能用上
回复

使用道具 举报

15#
ID:545518 发表于 2019-5-23 14:57 | 只看该作者
看看是否能用上
回复

使用道具 举报

16#
ID:525793 发表于 2019-8-5 19:52 | 只看该作者
还行,很需要,谢谢
回复

使用道具 举报

17#
ID:699779 发表于 2020-2-28 18:30 | 只看该作者
谢谢大神
回复

使用道具 举报

18#
ID:830071 发表于 2020-10-15 10:25 | 只看该作者
怎么用。我是菜鸡,教我一下
回复

使用道具 举报

19#
ID:1036052 发表于 2022-6-21 00:38 | 只看该作者
很需要啊,好东西
回复

使用道具 举报

20#
ID:1060163 发表于 2023-1-3 14:30 | 只看该作者
找这个库文件真心不容易
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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