标题: HX711.h的头文件 含Arduino实例 称重传感器 [打印本页]

作者: wkk233    时间: 2017-5-26 09:39
标题: 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, 下载次数: 297)


作者: wbjfly    时间: 2017-10-23 14:54
这个可以的
作者: 1577960154    时间: 2017-11-15 09:21
好东西,顶顶顶
作者: 3292445373    时间: 2017-11-19 21:50
为什么显示scale不存在,编译报错
作者: BrianLiu    时间: 2017-12-20 21:54
这个库不错,找了好久
作者: BrianLiu    时间: 2017-12-20 21:54
这个库不错,找了好久,非常感谢
作者: xueqingna    时间: 2018-2-23 05:15
楼主很给力呀
作者: superrichman    时间: 2018-3-11 15:05

这个库不错,找了好久
作者: superrichman    时间: 2018-3-11 15:24

为什么显示scale不存在,编译报错
作者: 孙小伟    时间: 2018-5-1 10:56
给力,一直需要这个东西
作者: 痴迷电子    时间: 2018-5-24 19:38
好东西,谢谢楼主
作者: bobokalo    时间: 2018-8-13 13:52
good。。。。
作者: 白鱼    时间: 2018-11-19 14:47
我是来学习的,新手入门请多指教
作者: rtrt334    时间: 2019-1-30 22:16
看看是否能用上
作者: Bargen    时间: 2019-5-23 14:57
看看是否能用上
作者: 157121501    时间: 2019-8-5 19:52
还行,很需要,谢谢
作者: JL木辛    时间: 2020-2-28 18:30
谢谢大神
作者: 13299328872    时间: 2020-10-15 10:25
怎么用。我是菜鸡,教我一下

作者: xingch50    时间: 2022-6-21 00:38
很需要啊,好东西
作者: johnny0563    时间: 2023-1-3 14:30
找这个库文件真心不容易




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