分享

HX710B气压模块的使用和测试

 新用户5228KeDY 2023-05-23 发布于北京

网上卖的HX710B气压模块,只有4元钱,其中电压放大的部分,使用的是HX710B差分ADC模块,真正的气压传感器使用的则是PSG010系列。它们被标定可以测量0~40kPa范围,实际根本达不到,实测基本在101kPa~104kPa左右的范围上,返回的数据就不再变化了。也就是只有标定的十分之一范围左右。

因此这个东西真想不出来它能有什么用途,范围太小了。只是它很便宜。

这个东西使用的是单线的SPI,有一个时钟引脚SCK,所以按照DataSheet直接读就行。网上大体有两个版本的Arduino代码,一种不使用库,硬读,直接返回raw

const int HX_OUT_PIN = 2;

const int HX_SCK_PIN = 3;

enum HX_MODE { NONE, DIFF_10Hz, TEMP_40Hz, DIFF_40Hz};

const byte HX_MODE = DIFF_40Hz;

void setup() {

pinMode(HX_SCK_PIN, OUTPUT);

pinMode(HX_OUT_PIN, INPUT);

Serial.begin(9600);

}

void loop() {

Serial.println(readHX());

}

unsigned long readHX() {

// pulse clock line to start a reading

for (char i = 0; i < HX_MODE; i++) {

digitalWrite(HX_SCK_PIN, HIGH);

  digitalWrite(HX_SCK_PIN, LOW);

}

// wait for the reading to finish

while (digitalRead(HX_OUT_PIN)) {}

// read the 24-bit pressure as 3 bytes using SPI

byte data[3];

for (byte j = 3; j--;) {

data[j] = shiftIn(HX_OUT_PIN, HX_SCK_PIN, MSBFIRST);

}

data[2] ^= 0x80;  // see note

// shift the 3 bytes into a large integer

long result;

result += (long)data[2] << 16;

result += (long)data[1] << 8;

result += (long)data[0];

return result;

}

还有一种是类似HX711那样,直接被写成了库,淘宝商家会直接提供这个资料,叫小水位模块,加了调零和转换,用着也是各种奇怪的反应。还不如直接读数据了。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多