基于STM32 的 B30 压力传感器程序代码

本人第一次 接触压力传感器 只知道 通过I2C通讯,测试海水的压力和并计算深度 有没有哪位大佬有相关的代码呢?

1 个赞

基于 Arduino 的方案和参考代码,这里要注意的是,如果用uno的话:

  • SDA = A4
  • SDL=A5

image

#include <Wire.h>
#include "MS5837.h"
MS5837 sensor;

void setup() {

Serial.begin(9600);

Serial.println("Starting");

Wire.begin();

sensor.init();

sensor.setModel(MS5837::MS5837_30BA);

sensor.setFluidDensity(997); // kg/m^3 (997 freshwater, 1029 for seawater)
}

void loop() {

sensor.read();

Serial.print("Pressure: "); 
Serial.print(sensor.pressure()); 
Serial.println(" mbar");

Serial.print("Temperature: "); 
Serial.print(sensor.temperature()); 
Serial.println(" deg C");

Serial.print("Depth: "); 
Serial.print(sensor.depth()); 
Serial.println(" m");

Serial.print("Altitude: "); 
Serial.print(sensor.altitude()); 
Serial.println(" m above mean sea level");

delay(1000);
}
1 个赞

用arduino需要电平转换器。

国内用stm32比较多,电平是符合的,具体可参考MS5837的Datasheet。

MS5837-30BA.pdf (1.3 MB)

1 个赞

谢谢您 我会好好参考的 谢谢您

这个函数 我看着 有点奇怪 有没有 stm32 的 程序呢? B30 的

这是来自西安电子科技大学的社区网友贡献的代码,基于stm32,可供参考:

MS5837串口输出 oled显示.zip (2.9 MB)

谢谢您 祝您工作生活愉快 ! 谢谢您的分享。

1 个赞

参考代码好像有点问题,计算深度对吗?

你好,请问arduino用B30深度计需要接电平转换器吗? 怎样的电平转换器?求推荐个型号。 我不加电平转换测出来深度好像不太对

这是我买过的一款,就是接在Arduino上的。

十分感谢