使用MS5803–01BA压力传感器制作潜水计算机
现在,我们可以利用连接到Arduino的压力传感器(MS5803–01BA)来检测海平面深度,并在Node-RED仪表板上显示传感器数据。
通过将MS5803–01BA压力传感器与Arduino连接,并在Node-RED仪表板上展示传感器数据,我们便可以轻松监测海平面深度。
在本篇博客教程中,我们将了解如何最有效地测量海平面深度,并测试MS5803–01BA传感器的性能。该传感器易于连接ESP32、Xbee以及多种其他通信设备。
硬件
•MS5803–01 BA 压力传感器
•Arduino Uno
•Arduino Shield
软件平台
•Node-RED
•Arduino IDE
关于压力传感器
符合ROHS标准的MS5803–01BA压力传感器,其工作压力范围精确为1kPa至130kPa,具备约10厘米的高分辨率。通过使用MS5803–01BA传感器,我们可以获取24位精度的压强变化数据。
压力传感器的应用
由于我们是该传感器的新手,因此我们尝试通过模块化I2C扩展板来接收传感器数据。借助此传感器,我们能够同时测量压力和温度。结合之前博客中的教程,利用特定公式和称为“高度测量”的方法,可以计算出物体与地面之间的距离。
然而,考虑到其坚固耐用的设计以及适用于水下过程系统的需求,我们建议使用该传感器轻松测定从地表到海底核心的深度。这类传感器主要可用于潜艇等设备,以监控和控制执行器。借助多种通信装置,您还可以在更远的距离内远程操作传感器数据。
I2C代码
•初始化名为Wire.h的文件,即I2C库,特别适用于Arduino IDE。
•初始化传感器模块的I2C寄存器,该模块指定使用双线协议。
•开始I2C传输,并根据串行通信的要求设置波特率。
•通过I2C连接请求读取传感器发送的3字节数据,用于压力和温度测量。
•如果可用3字节数据,则使用以下公式可将数据字节转换为所需数值并显示。
•根据数据手册中给出的精度设置要求,调整相关参数。
•使用Serial.print函数,即可在串口监视器屏幕上读取传感器数据。
Node-RED
借助Node-RED,您可以在仪表板格式中显示传感器数据,这已在之前的博客教程中提到。
本文编译自hackster.io





