气压计LPS28DFW开发(2)----水压检测
气压计LPS28DFW开发.2--水压检测
- 概述
- 视频教学
- 样品申请
- 完整代码下载
- 水压计算
- 设置速率和分辨率
- 轮询读取数据
- 测试结果
概述
本文将介绍如何使用 LPS28DFW 传感器来读取的压强数据,来估算水下深度,可以利用液体静压的原理。
最近在弄ST和瑞萨RA的课程,需要样片的可以加群申请:615061293 。
视频教学
样品申请
https://www.wjx.top/vm/OhcKxJk.aspx#
完整代码下载
水压计算
对于水平地面的固体对地面产生的压强,由于压力大小等于重力,计算固体压力时一般都会先计算压力后计算压强,所以 F=G 在固体中经常用到,但同时我们又要明确知道压力与重力的不同。对于液体计算公式的由来,同一深度朝各个方向都有压强且相等;密度相同时,深度越深压强越大;深度相同
时,密度越大压强越大。这只是定性的关系,对于定量关系则是建立了一个规则形状的液柱,设想
液柱下方平面的压强就是该位置的液体压强大小。如下图所示,液柱对平面的压力等于液柱所受
的重力,借助于公式的变形 F=G=mg=ρVg=ρgSh ,从而推出 P=F/S=ρgh 。由于液体同一深度朝各个方向都有压强且相等,所以这个公式就可以普遍计算同一深度其他位置的液体压强大小。
其中:
● P 是液体的压力(即气压计测得的压力值),
● ρ 是液体的密度(通常在20°C下水密度为1000 kg/m³)
● g 是重力加速度(通常取9.8 m/s²),
● h 是液体的深度。
设置速率和分辨率
对于 LPS28DFW 气压传感器,CTRL_REG1(10h)和 CTRL_REG2(11h)的主要设置如下:
CTRL_REG1(10h)
● ODR[3:0]:输出数据速率选择。默认值:0000。具体的配置值见数据表 19。
● AVG[2:0]:平均值选择。默认值:000。具体的配置值见数据表 20。
CTRL_REG2(11h)
● BOOT:重新启动内存内容。默认值:0(0:正常模式;1:重新启动内存内容)。
● FS_MODE:全量程选择。默认值:0(0:模式1,全量程高达1260 hPa;1:模式2,全量程高达4060 hPa)。
● LFPF_CFG:低通滤波器配置。默认值:0(0:ODR/4;1:ODR/9)。
● EN_LPFP:启用压力数据上的低通滤波器。默认值:0(0:禁用;1:启用)。
● BDU:块数据更新。默认值:0(0:连续更新;1:直到读取了 MSB 和 LSB 之前,输出寄存器不更新)。
● SWRESET:软件复位。默认值:0(0:正常模式;1:软件复位)。复位完成时位自动清零。
● ONESHOT:启用一次性模式。默认值:0(0:空闲模式;1:获取新的数据集)。
设置输出数据速率 (md.odr = LPS28DFW_1Hz):将输出数据速率设置为每秒 1 次(1Hz)。较低的数据速率通常可以减少噪声,从而提高测量的准确性。
设置平均值 (md.avg = LPS28DFW_512_AVG):选择 512 次平均。这意味着传感器将获取 512 个样本并计算它们的平均值作为最终输出。平均更多的样本可以显著减少随机噪声,从而提高数据的稳定性和准确性。
设置低通滤波器 (md.lpf = LPS28DFW_LPF_ODR_DIV_9):低通滤波器设置为 ODR/9,这将进一步平滑输出数据,消除高频噪声。
设置全量程 (md.fs = LPS28DFW_1260hPa):选择全量程为 1260hPa。这种较低的全量程可能更适合于测量较小的压力变化,进一步提高测量精度。
应用这些设置 (lps28dfw_mode_set(&dev_ctx, &md)):最后,这些配置通过 lps28dfw_mode_set 函数应用于传感器。
这样的设置组合有助于提高 LPS28DFW 传感器的精度,特别是通过降低噪声和增加测量稳定性。这些设置对于需要高精度测量的应用场景特别有用。
/* Set Output Data Rate */md.odr = LPS28DFW_1Hz;md.avg = LPS28DFW_512_AVG;md.lpf = LPS28DFW_LPF_ODR_DIV_9;md.fs = LPS28DFW_1260hPa;lps28dfw_mode_set(&dev_ctx, &md);
轮询读取数据
水下每增加一定深度,水的压力就会增加。这个增加的压力与水的深度成正比。公式中减去的 气压值 是为了将传感器读数调整为相对于大气压的压力。这是因为传感器测得的是绝对压力,包括了大气压在内。
公式中的密度和重力加速度用的是标准单位(千克每立方米和米每平方秒),而压强用的是百帕。因此,计算出的水深是以米为单位的。最后,为了将结果以更易读的形式(厘米)展示,乘以了 100*100。
/* Infinite loop *//* USER CODE BEGIN WHILE */while (1){ /* Read output only if new values are available */lps28dfw_all_sources_get(&dev_ctx, &all_sources);if ( all_sources.drdy_pres | all_sources.drdy_temp ) {lps28dfw_data_get(&dev_ctx, &md, &data);if(i==0){open_h =data.pressure.hpa;printf("初始化压强:%6.2fhPa,温度:%6.2f\r\n",open_h,data.heat.deg_c);i++;}else{float h;h=(data.pressure.hpa-open_h)/(1000*9.8);//水深=压强/(水密度*重力加速度)//1百帕 (hPa)= 100 Pa = 1 mbar1千帕 (kPa)= 1000 Pa = 10 hPaprintf("压强:%6.2fhPa,水深:%6.2f cm,温度:%6.2f\r\n",data.pressure.hpa,h*100*100,data.heat.deg_c);}} /* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
测试结果
10cm测试情况如下。
15cm测试情况如下。
20cm测试情况如下。
25cm测试情况如下。
相关文章:
气压计LPS28DFW开发(2)----水压检测
气压计LPS28DFW开发.2--水压检测 概述视频教学样品申请完整代码下载水压计算设置速率和分辨率轮询读取数据测试结果 概述 本文将介绍如何使用 LPS28DFW 传感器来读取的压强数据,来估算水下深度,可以利用液体静压的原理。 最近在弄ST和瑞萨RA的课程&…...
设计模式之-装饰模式,快速掌握装饰模式,通俗易懂的讲解装饰模式以及它的使用场景
系列文章目录 设计模式之-6大设计原则简单易懂的理解以及它们的适用场景和代码示列 设计模式之-单列设计模式,5种单例设计模式使用场景以及它们的优缺点 设计模式之-3种常见的工厂模式简单工厂模式、工厂方法模式和抽象工厂模式,每一种模式的概念、使用…...
计算机网络个人小结
不同层的数据报的名称 应用层: data TCP层: segment IP 层: packet MAC层: frame MTU vs MSS: MTU:一个网络包的最大长度,以太网中一般为 1500 字节。 https://www.xiaolincoding.com/network/1_base/how_os_deal_network_package.html#linux-%E7%BD%91…...
酒店网站搭建的作用是什么
线上已经成为各行业商家增长破局的必要手段,传统酒店行业因信息扩展度不够,导致品牌难以传播、无法实现用户对酒店所有信息全面知悉,也无法实现在线预约及其它赋能用户消费的路径。 面对获客转化难题,很多酒店商家通过建立自营商…...
俄罗斯联邦税务局遭乌克兰入侵,数据库和副本被清空,政府数据安全不容忽视
俄罗斯联邦税务局遭乌克兰入侵,数据库和副本被清空,政府数据安全不容忽视 据相关报道,2023年12月12日,乌克兰国防情报局(GUR)称其成功入侵了俄罗斯联邦税务局(FNS)系统,并清除了该机构的数据库和…...
WPF组合控件TreeView+DataGrid之TreeView封装
(关注博主后,在“粉丝专栏”,可免费阅读此文) wpf的功能非常强大,很多控件都是原生的,但是要使用TreeViewDataGrid的组合,就需要我们自己去封装实现。 我们需要的效果如图所示&#x…...
redisson 哨兵模式配置
背景:项目redis由集群改为哨兵模式,漏洞扫描未授权访问漏洞(CNVD-2019-21763),要求对redis哨兵也设置密码,redisson依赖版本为3.11.5 spring-boot版本为2.1.13。 redisson依赖升级 <dependency>&l…...
免费的ChatGPT分享
免费的ChatGPT 以下是一些免费的ChatGPT平台和工具: 零声教学AI助手 零声教育内部使用的ChatGPT,提供智能对话和问题解答功能。 Ora.ai 一个可以自定义的AI聊天机器人,可以根据个人需求进行定制和训练。 ChatGPT 人工智能聊天机器人&a…...
C语言—每日选择题—Day54
指针相关博客 打响指针的第一枪:指针家族-CSDN博客 深入理解:指针变量的解引用 与 加法运算-CSDN博客 第一题 1. 存在int类型变量x,y,z,其对应值为x0x59,y0x39,z0x6E,则x * y z的值…...
先进制造身份治理现状洞察:从手动运维迈向自动化身份治理时代
在新一轮科技革命和产业变革的推动下,制造业正面临绿色化、智能化、服务化和定制化发展趋势。为顺应新技术革命及工业发展模式变化趋势,传统工业化理论需要进行修正和创新。其中,对工业化水平的判断标准从以三次产业比重标准为主回归到工业技…...
【密码学引论】密码协议
定义:两个或者两个以上参与者为了完成某一特定任务而采取的一系列执行步骤密码协议:Kerberos、IPSec、SSL、SET算法是低层次上的概念,而协议是高层次上的概念,协议建立在算法的基础上。所有密码协议都容易受中间人攻击,…...
利用快手的用户数据和精准营销提升电商平台用户转化率和销售额
一、快手用户数据的价值 快手作为国内领先的短视频平台,拥有庞大的用户群体和丰富的用户行为数据。这些数据包括用户的观看习惯、互动行为、兴趣偏好等,对于电商平台来说具有极高的商业价值。通过分析这些数据,电商平台可以深入了解用户需求…...
Linux根目录下默认目录作用
在Linux操作系统中,根目录(/)下的默认目录一般用于不同用途的文件存放和系统管理。以下是一些常见的默认目录及其用途: /bin:该目录存放系统的基本命令和可执行文件,如ls、cp、mv等。这些命令可供系统用户…...
国产Type-C接口逻辑协议芯片:Type-C显示器芯片方案
产品介绍 双Type-C盲插选型: LDR6282 PD3.0认证协议芯片,USB-IF TID号:212 支持iic,USB转UART,CC升级方式,多年市场验证,显示器市场出货量,显示器大厂采用兼容性NO.1。采用QFN32 5*…...
uniapp如何原生app-云打包
首先第一步,需要大家在HBuilder X中找到一个项目,然后呢在找到上面的发行选项 发行->原生App-云打包 选择完该选中的直接大包就ok。 大包完毕后呢,会出现一个apk包,这是后将这个包拖动发给随便一个人就行了。 然后接收到的那…...
分布式编译distcc
工程代码编译速度太慢,决定采用分布式编译来提高编译速度. distcc ,请参考https://www.distcc.org/ 安装 我用的distcc的版本是distcc-3.2rc1, 下载源码,安装步骤如下: ./autogen.sh ./configure --disable-Werror --prefix/…...
Elasticsearch常见面试题
文章目录 1.简单介绍下ES?2.简单介绍当前可以下载的ES稳定版本?3.安装ES前需要安装哪种软件?4.请介绍启动ES服务的步骤?5.ES中的倒排索引是什么?6. ES是如何实现master选举的?7. 如何解决ES集群的脑裂问题8…...
solidity 重入漏洞
目录 1. 重入漏洞的原理 2. 重入漏洞的场景 2.1 msg.sender.call 转账 2.2 修饰器中调用地址可控的函数 1. 重入漏洞的原理 重入漏洞产生的条件: 合约之间可以进行相互间的外部调用 恶意合约 B 调用了合约 A 中的 public funcA 函数,在函数 funcA…...
【智能家电】东胜物联离在线语音方案为厨电企业赋能,实现厨房智能化控制
近年来,我国厨电市场蓬勃发展。据行业统计数据显示,至今年6月,市场规模已达356亿元,同比增长8.8%。随着数字科技、物联网和人工智能的兴起,厨电产品正在朝着更智能、多功能化的方向迅速发展。 为此厨电厂商正在积极布…...
3DMAX英文版怎么切换到中文版?
3DMAX英文换到中文版的方法 3dMax是专业三维建模、渲染和动画软件,它使你能够创建广阔的真实世界和各种高级设计。 -使用强大的建模工具为环境和景观注入活力。 -使用直观的纹理和着色工具创建精细的细节设计和道具。 -迭代并制作具有完全艺术控制的专业级渲染图…...
WEB渗透—PHP反序列化(八)
Web渗透—PHP反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩…...
LeetCode——2415. 反转二叉树的奇数层
通过万岁!!! 题目:给你一个完全二叉树,然后将其奇数层进行反转。思路:这个题他都说了是奇数层了,那基本就是层序遍历了。但是存在两个问题,一个是如何判断奇数层,另外一…...
【Spring学习笔记】Spring 注解开发
Spring学习——注解开发 注解开发注解开发定义bean纯注解开发 Bean管理bean作用范围bean生命周期 依赖注入自动装配 第三方bean管理注解开发总结XML配置与注解配置比较 注解开发 注解开发定义bean 使用Component定义开发 Component("bookDao") public class BookD…...
【华为数据之道学习笔记】6-5数据地图的核心价值
数据供应者与消费者之间往往存在一种矛盾:供应者做了大量的数据治理工作、提供了大量的数据,但数据消费者却仍然不满意,他们始终认为在使用数据之前存在两个重大困难。 1)找数难 企业的数据分散存储在上千个数据库、上百万张物理表…...
JavaWeb笔记之JSP
一、引言 现有问题 在之前学习Servlet时,服务端通过Servlet响应客户端页面,有什么不足之处? 开发方式麻烦:继承父类、覆盖方法、配置Web.xml或注解。 代码修改麻烦:重新编译、部署、重启服务。 显示方式麻烦&#x…...
在x64上构建智能家居(home assistant)(二)(新版Debain12)连接Postgresql数据库
新版数据库安装基本和旧版相同,大部分可以参考旧版本在x64上构建智能家居(home assistant)(二)连接Postgresql数据库_homeassist 数据库-CSDN博客 新版本的home assistant系统安装,我在原来写的手顺上直接修改了,需要的可以查看在x64上构建智能家居(home…...
八股文打卡day6——计算机网络(6)
面试题:GET请求和POST请求的区别 我的回答: 1.作用不同:GET是用来获取服务器资源的;POST是用来向服务器提交资源的; 2.参数传递方式不同:GET请求参数一般写在URL中的,只能接收ASCII字符;POST的…...
【PHY6222】绑定详解
1.函数详解 bStatus_t GAPBondMgr_SetParameter( uint16 param, uint8 len, void* pValue ) 设置绑定参数。 bStatus_t GAPBondMgr_GetParameter( uint16 param, void* pValue ) 获取绑定参数。 param: GAPBOND_PAIRING_MODE,配对模式,…...
vue事件绑定
vue提供了v-on事件绑定指令,用来辅助程序员为DOM元素绑定事件监听,语法格式如下: v-on:指令可以简写为 注意:原生DOM对象有onclick,oninput,onkeyup等原生事件,替换为vue的事件绑定…...
如何在服务器上部署springboot项目
在服务器上部署Spring Boot项目通常有以下步骤: 在服务器上安装Java运行环境:首先确保服务器上已经安装了Java运行环境(至少需要Java 8或以上版本)。 快速安装JDK命令: yum install java-1.8.0-openjdk.x86_64 打包S…...
成都市区必去的景点/南宁优化网站网络服务
先解释下标题的意思: 就是点击上图中的上传图片之后,出现这个文件选择框的反应时间太长,IE和火狐浏览器还正常点。谷歌和360等浏览器一般要8秒左右才能打开,用户体验太差了。 这里我们要解决这个问题首先就得知道简单的文件上传的…...
win7版本wordpress/爱站网备案查询
注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《分布式机器学习实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录自然语言处理系列二词频-逆文档频率(TF-IDF)Java代码实现TFIDF》总结自…...
赛迪建设网站/推广赚钱平台
十年内可以攻破癌症、糖尿病治愈难题?随着现代医疗技术和信息技术的融合发展,精准医疗的时代已经到来,这为许多特大疾病的治疗提供了新方向。这一领域也引来了国际巨头的关注。近日,英特尔在京推出了“英特尔精准医疗伙伴计划&…...
汉中做网站/网络推广客服好做吗
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/feilengcui008/article/details/68942106 0. Abstract It achieves high utilization by combining admission control, efficient task-packing, over-commitment, and mach…...
潍坊网站建设怎样/网络营销专业是干嘛的
做奢侈品回收这么久,遇见最多的问题就是大多数的顾客都觉得自己包包贬值太快,舍不得卖!那究竟是什么原因让你的包包贬值这么快呢?这就要说说包包的保值率了~影响包包保值率的原因有很多,主要有:品牌、款式、…...
中企动力官方网站/广告联盟平台自动赚钱
概述:因为一个应用程序是由很多文件所组成,所以安装卸载非常复杂,为了让用户更加方便的管理应用程序。所以引入了程序打包管理。主要包括:安装,卸载,升级,查询,检验。常见的包管理器…...