STM32 水质水位检测项目(硬件架构)及(软件架构)

news/2024/12/21 13:56:00/

硬件选型

水位测量模块

TDS采集模块

外置ADC模块(ADS1115)

水位测量模块使用方法

水位测量原理

压力传感器:水越深压力越大

P= ρgh

F=ps

F=ρgh*s + P大气压

水位测量传感器本质上是一个压力测量传感器。压力的值和传感器产生的电压值是线性关系,压力的值和水深也是线性关系。根据这个原理,我们不需要知道具体的电压,就可以测量出来水位。

假设水位是x,从ADC读取的值y。(y不必转成具体的电压)。则有下面的等式成立:

y= ax +b

当水管没有放入水里时,

x1 = 0 ,y1 = b(测出y1)

当水管放入水里10cm时,

x2 = 10,则 y2 = 10a + b (测出y2)

从而计算出来:

b = y1;a = (y2 - y1)/10

所以有:

x = (y - b)/a*y

我们实时测,从而计算出来 x (水位)的值

读取时序图

 TDS采集模块使用方法

TDS采集原理

当水中的导电粒子多时,导电性好,采集到的电压高;导电粒子少时导电性差,采集到的电压低。可以简单的认为水中杂质多时,导电粒子多,杂质少时导电粒子少。所以可以通过采集的电压高低来计算TDS的值。

TDS内部有一个固定的函数,可以通过手册进行查看。

通过这个函数可以看到电压值对应的TDS的值。

ADC模块ADS1115使用方法

ADC模块提供了5个寄存器(查看手册)

读写时序

软件架构 

 


http://www.ppmy.cn/news/1556942.html

相关文章

高并发-缓存预热

缓存预热的必要性 缓存预热是为了在系统面临高并发请求时,确保热点数据已经被加载到缓存中,从而提高系统响应速度和稳定性。通过缓存预热,可以避免因数据未命中而导致的数据库压力激增。 典型应用场景 电商系统:在秒杀活动期间&…

git bash中文显示问题

个人博客地址&#xff1a;git bash中文显示问题 | 一张假钞的真实世界。 默认情况下git bash中文以ASCII编码&#xff0c;不方便查看&#xff0c;如下&#xff1a; $ git status 位于分支 master尚无提交要提交的变更&#xff1a;&#xff08;使用 "git rm --cached <…

GTID详解

概念和组成 1&#xff0c;全局事务表示&#xff1a;global transaction identifiers 2, GTID和事务一一对应&#xff0c;并且全局唯一 3&#xff0c;一个GTID在一个服务器上只执行一次 4&#xff0c;mysql 5.6.5开始支持 组成 GTID server_uuid:transaction_id 如&#xf…

vimdc

set nocompatible filetype on set rtp~/.vim/bundle/Vundle.vim call vundle#begin() " 这里根据自己需要的插件来设置&#xff0c;以下是我的配置 " " " YouCompleteMe:语句补全插件 set runtimepath~/.vim/bundle/YouCompleteMe autocmd InsertLe…

智能座舱进阶-应用框架层-Handler分析

首先明确&#xff0c; handler是为了解决单进程内的线程之间的通信问题的。我也需要理解Android系统中进程和线程的概念&#xff0c; APP启动后&#xff0c;会有三四个线程启动起来&#xff0c;其中&#xff0c;有一条mainUITread的线程&#xff0c;专门用来处理UI事件&#xf…

Android笔记【20】

问题1&#xff1a;val student:Student?intent.getParcelableExtra("data",Student::class.java) 这啥意思 以及用途 解答 这一行代码的意思是从一个 Intent 中获取一个可选的 Student 对象。具体解释如下&#xff1a; 解析代码 val student: Student? intent.ge…

单元测试使用记录

什么是单元测试 简单来说就是对一个类中的方法进行测试&#xff0c;对输出的结果检查判断是否符合预期结果 但是在多年的工作中&#xff0c;从来没有哪个项目中真正系统的用到了单元测试&#xff0c;因此对它还是很陌生的&#xff0c;也就造成更加不会在项目中区使用它。 如何…

thinkphp8自带分页bootstrap

tp8引用的是bootstrap3.4.1这个版本&#xff1b; 前端结构&#xff1a; <ul class"pagination"><li><a href"/index.php?page4"></a></li><li><a href"/index.php?page1">1</a></li>…