【雕爷学编程】Arduino动手做(24)---水位传感器模块2

news2024/11/25 10:05:12

在这里插入图片描述

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二十四:水位传感器 液滴传感器 水深检测模块 水位检测模块 Water depth Sensor

在这里插入图片描述

知识点:水、水位与水位传感器
一、水(Water)
水(化学式为H₂O),是由氢、氧两种元素组成的无机物,无毒,可饮用。在常温常压下为无色无味的透明液体,被称为人类生命的源泉,是维持生命的重要物质,也叫氧化氢。

水是地球上最常见的物质之一,地球表面有71%被水覆盖。它是包括无机化合、人类在内所有生命生存的重要资源,也是生物体最重要的组成部分。

纯水导电性十分微弱,属于极弱的电解质。日常生活中的水由于溶解了其他电解质而有较多的阴阳离子,才有较为明显的导电性。

在这里插入图片描述
二、水位(water level)
1、水位是指自由水面相对于某一基面的高程,水面离河底的距离称水深。计算水位所用基面可以是以某处特征海平面高程作为零点水准基面,称为绝对基面,常用的是黄海基面;也可以用特定点高程作为参证计算水位的零点,称测站基面。水位是反映水体水情最直观的因素,它的变化主要由于水体水量的增减变化引起的。水位过程线是某处水位随时间变化的曲线,横座标为时间,纵座标为水位。

2、水位是水体(如河流、湖泊、水库、沼泽等)的自由水面相对于某一基面的高程。一般都以一个基本水准面为起始面,这个基本水准面又称为基面。由于基本水准面的选择不同,其高程也不同,在测量工作中一般均以大地水准面作为高程基准面。大地水准面是平均海水面及其在全球延伸的水准面,在理论上讲,它是一个的连续闭合曲面。但在实际中无法获得这样一个全球统一的大地水准面,各国只能以某一海滨地点的特征海水位为准。这样的基准面也称绝对基面,另外,水文测验中除使用绝对基本面外还涉有假定基本,测站基面,冻结基面等。表达水位所用基面,通常有两种:一种是绝对基面,一种是测站基面。中国目前采用的绝对基面是黄海基面,是以黄海口某一海滨地点的特征海水面为零点的。在以前还曾采用过吴淞基面,为使各站的水位便于比较,在“水文年鉴”中均注明了黄海与吴淞基面的换算关系。如长沙水位站,所使用的基面为吴淞基面,将其换算为黄海基面起算水位,则:黄海基面以上水位=现观测水位(吴淞基面)―2.280米测站基面,是水文测站专用的一种固定基面,以略低于历年最低水位或河床最低点作为零点来计算水位高程。为便于比较各站水位,在刊布水文资料时,均注明了该基面与绝对基面的关系,换算关系可将测站基面水位换算为绝对基面水位。

3、水位是反映水体、水流变化的重要标志,是水文测验中最基本的观测要素,是水文测站常规的观测项目。水位观测资料可以直接应用于堤防、水库、电站、堰闸、浇灌、排涝、航道、桥梁等工程的规划、设计、施工等过程中。水位是防汛抗旱斗争中的主要依据,水位资料是水库、堤防等防汛的重要资料,是防汛抢险的主要依据,是掌握水文情况和进行水文预报的依据。同时水位也是推算其它水文要素并掌握其变化过程的间接资料。在水文测验中,常用水位直接或间接的推算其它水文要素,如由水位通过水位流量关系,推求流量;通过流量推算输沙率;由水位计算水面比降等,从而确定其它水文要素的变化特征。由此可见,在水位的观测中,要认真贯彻《规范》,发现问题及时排除,使观测数据准确可靠。同时还要保证水位资料的连续性,不漏测洪峰和洪峰的起涨点,对于暴涨暴落的洪水,应更加注意。

在这里插入图片描述
三、水位传感器(Water level sensor)
1、水位传感器是指能将被测点水位参量实时地转变为相应电量信号的仪器。其工作原理是:容器内的水位传感器,将感受到的水位信号传送到控制器,控制器内的计算机将实测的水位信号与设定信号进行比较,得出偏差,然后根据偏差的性质,向给水电动阀发出"开"和"关"的指令,保证容器达到设定水位。进水程序完成后,温控部份的计算机向供给热媒的电动阀发出"开"的指令,于是系统开始对容器内的水进行加热。到设定温度时。控制器才发出关阀的命令、切断热源,系统进入保温状态。程序编制过程中,确保系统在没有达到安全水位的情况下,控制热源的电动调节阀不开阀,从而避免了热量的损失与事故的发生。广泛用于水厂、炼油厂、化工厂、玻璃厂、污水处理厂、高楼供水系统、水库、河道、海洋等对供水池、配水池、水处理池、水井、水罐、水箱、油井、油罐、油池及对各种液体静态、动态液位的测量和控制。举例说明投入式水位传感器在水位监测系统中的应用:

在这里插入图片描述
2、工作原理:容器内的水位传感器,将感受到的水位信号传送到控制器,控制器内的计算机将实测的水位信号与设定信号进行比较,得出偏差,然后根据偏差的性质,向给水电动阀发出"开"和"关"的指令,保证容器达到设定水位。进水程序完成后,温控部份的计算机向供给热媒的电动阀发出"开"的指令,于是系统开始对容器内的水进行加热。到设定温度时。控制器才发出关阀的命令、切断热源,系统进入保温状态。程序编制过程中,确保系统在没有达到安全水位的情况下,控制热源的电动调节阀不开阀,从而避免了热量的损失与事故的发生。

知识点:水位传感器模块
1、Water Sensor液位(水位)传感器是一款简单易用、小巧轻便、性价比较高的水位/水滴识别检测传感器,其是通过具有一系列的暴露的平行导线线迹测量其水量大小从而判断水位。轻松完成水量到模拟信号的转换,输出的模拟值可以直接被程序中函数所应用,达到水位报警的功效,低功耗,灵敏度是其又一大特点。配合Arduino 控制器可直接插接到传感器扩展板上应用,效果更加明显。

在这里插入图片描述
2、如果您曾经遇到过热水器爆炸或尝试制造潜水电子设备,那么您就会知道检测周围是否有水是多么重要。有了这个水位传感器,您就可以做到这一点!该传感器可用于测量水位、监测集水坑、检测降雨或检测泄漏。

该传感器有一系列的 10 条外露铜迹线,其中 5 条为电源迹线,5 条为感应迹线。这些迹线是交错的,因此每两条电源迹线之间有一条感测迹线。通常这些痕迹没有连接,但在淹没时被水桥接。板上有一个电源 LED,当板通电时会亮起。

在这里插入图片描述
3、水位传感器如何工作?
水位传感器的工作原理非常的简单。一系列暴露的平行导体一起充当可变电阻器(就像电位器一样),其电阻根据水位而变化。电阻的变化对应于传感器顶部到水面的距离。

电阻与水的高度成反比,原因如下:
传感器浸入的水越多,导电性就越好,阻力就越小,连通的电量值就越大。
传感器浸入的水越少,导电性越差,电阻越大,连通的电量值就越小。
传感器根据电阻产生输出电压,通过测量我们可以确定水位的高低。
然而,纯净水是不导电的,水中的矿物质和杂质才使其具有导电性。也就所以,在你的实验当中得出的数值会有可能与其他人实验的不一样。在用作雨滴传感器也是一样的原理,雨水滴在排列的铜线表面,就可以产生连接,从而产生导电电量,就有模拟信号的变化。

在这里插入图片描述
4、模块主要参数
(1)工作电压:5V
(2)工作电流:<20ma
(3)接口:模拟S
(4)检测板宽度:40mm×16mm
(5)工作温度:10°~30°
(6)重量:3g
(7)尺寸:65mm×20mm×8mm
(8)Arduino兼容接口
(9)低功耗
(10)高灵敏度
(11)输出电压信号:0~4.2V
(12)检测的水位高度为0-4cm

在这里插入图片描述
5、模块接口说明(3线制)
(1)S开关信号输出(0和1)
(2)- 接电源负极GND
(3)+ 接电源正极VCC 3.3-5V

!!注意,在使用的过程中,水位传感器/雨滴传感器除了铜线排列部分,其他裸露的电路板位置应应做好防水保护,以免短路烧坏模块!

在这里插入图片描述
在这里插入图片描述

水位传感器模块的实验环境
1、水位传感器模块实验所需硬件清单

水位传感器模块X2
Arduino Uno开发板 X1
杜邦线 若干(备了10条)
高电平触发有源蜂鸣器模块X1
LED发光二极管(绿、蓝色)X2
5MM三色RGB全彩LED模块 X1
高电平触发单路5V继电器模块X1
Proto Shield 原型扩展板(带mini面包板)X1

在这里插入图片描述
2、水位传感器模块实验所需软件平台
代码编程 Arduino IDE (版本1.8.19)
仿真编程 Linkboy (版本V4.6.3)
图形编程 Mind+ (版本 V1.7.0 RC2.0)以及编玩边学(线上平台)

3、实验接线示意图

在这里插入图片描述

水位传感器模块的几个实验
1、程序一:水位传感器模块的简易测试
(1)Arduino参考开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  程序一:水位传感器模块的简易测试
*/

void setup() {
  Serial.begin(9600);  // 设置串口波特率为9600
  pinMode(A0, INPUT);  // 模块连接引脚A0,并设置为输入模式
}

void loop() {
  Serial.print("水位传感器值:");
  //将读取的A0模拟值输出到串口监视器
  Serial.println(analogRead(A0));
  delay(500); //延时500毫秒
}

(2)实验串口返回情况(杯子里面没有水)

在这里插入图片描述
(3)打开Arduino IDE——工具——串口绘图器,查看实验波形

在这里插入图片描述

(4)实验串口绘图器返回情况(杯子里面没有水时的波形)

在这里插入图片描述

(5)实验场景图

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/868113.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里云服务器安装WordPress网站教程基于CentOS系统

阿里云百科分享使用阿里云服务器安装WordPress博客网站教程&#xff0c;WordPress是使用PHP语言开发的博客平台&#xff0c;在支持PHP和MySQL数据库的服务器上&#xff0c;您可以用WordPress架设自己的网站&#xff0c;也可以用作内容管理系统&#xff08;CMS&#xff09;。本教…

数据结构-带头双向循环链表的实现

前言 带头双向循环链表是一种重要的数据结构&#xff0c;它的结构是很完美的&#xff0c;它弥补了单链表的许多不足&#xff0c;让我们一起来了解一下它是如何实现的吧&#xff01; 1.节点的结构 它的节点中存储着数据和两个指针&#xff0c;一个指针_prev用来记录前一个节点…

C语言学习之大端小端的数据存储

小端的数据存储&#xff1a;数据低位存在地址低位&#xff0c;数据高位存在地址高位&#xff1b;大端的数据存储&#xff1a;数据低位存在地址高位&#xff0c;数据高位存在地址低位&#xff1b;图例显示&#xff1a; 验证PC是大端还是小端的代码&#xff1a; #include <st…

安全学习DAY145_主机服务器端口扫描蜜罐、WAF识别

信息打点-主机架构&蜜罐识别&WAF识别&端口扫描 文章目录 信息打点-主机架构&蜜罐识别&WAF识别&端口扫描概述-思维导图本节知识点&#xff1a;识别应用服务器&其他服务协议&#xff1a;端口扫描NmapMasscan意外环境&#xff1a; 识别WAF防火墙WAF解…

宝塔Linux面板升级“获取更新包失败”怎么解决?

宝塔Linux面板执行升级命令后失败&#xff0c;提示“获取更新包失败&#xff0c;请稍后更新或联系宝塔运维”如何解决&#xff1f;新手站长分享宝塔面板升级失败的解决方法&#xff1a; 宝塔面板升级失败解决方法 1、使用root账户登录到你的云服务器上&#xff0c;宝塔Linux面…

lab1 utilities

测试和运行 参考大佬 修改grade-lab-util文件中的python为python3xv6.out这个文件的所有者可能是root&#xff0c;需要修改为用户&#xff0c;sudo chown woaixiaoxiao xv6.out 每完成一个函数&#xff0c;执行下面的步骤在Makefile中加入新增的程序$U/_sleep\make qemu&…

git 使用远端代码强制覆盖本地

有时候会遇到这种情景&#xff0c;我们本地的代码不需要了&#xff0c;需要使用远端的代码强制覆盖&#xff0c;这时候可以使用下面的命令 git fetch --all然后再执行下面的命令&#xff0c;重置为远端的代码&#xff0c;即使用远端的代码将本地覆盖 origin/远端分之名 git re…

Map中compute、putIfAbsent、computeIfAbsent、merge、computeIfPresent使用

目录 putIfAbsent computeIfAbsent computeIfPresent compute merge putIfAbsent 解释&#xff1a;【不存在则添加】&#xff0c;如果map中没有该key&#xff0c;则直接添加&#xff1b;如果map中已经存在该key&#xff0c;则value保持不变 default V putIfAbsent(K key,…

Metasploitable2靶机漏洞复现

一、信息收集 nmap扫描靶机信息 二、弱口令 1.系统弱口令 在Kali Linux中使用telnet远程连接靶机 输入账号密码msfadmin即可登录 2.MySQL弱口令 使用mysql -h 靶机IP地址即可连接 3.PostgreSQL弱密码登录 输入psql -h 192.168.110.134 -U postgres 密码为postgres 输入\…

Python中的lambda函数

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! Python中的lambda函数 在Python中&#xff0c;我们使用lambda关键字来声明一个匿名函数&#xff0c; 这就是为什么我们将它们称为“lambda函数”。 匿名函数是指没有声明函数名称的函数。 尽管它们在语法上看起来不同&a…

【MySQL】并发执行事务可能存在的问题, 事物的四种隔离级别

文章目录 前言一、并发执行事务可能存在的问题1, 脏读问题2, 不可重复读3, 幻读 二、MySQL 的四种隔离级别1, READ UNCOMMITTED 读未提交2, READ COMMITTED 读已提交3, REPEATABLE READ 可重复读 (MySQL 的默认事务隔离级别)4, SERIALIZABLE 串行化 总结 前言 各位读者好, 我是…

百度智能云“千帆大模型平台”升级,大模型最多,Prompt模板最全

1、前言 从ChatGPT正式推出之后&#xff0c;大模型开始逐渐火爆起来&#xff0c;基于大模型的潜力与广泛应用前景&#xff0c;多个厂商也开始在大模型领域进行深耕布局。越来越多的人也开始尝试使用大模型来解决日常工作或生活中的问题&#xff0c;有效地提高了处理问题的效率。…

探讨uniapp的生命周期问题

在uniapp中,生命周期函数分为应用生命周期函数、页面生命周期函数和组件生命周期函数. 1应用声明周期 应用生命周期函数只能在 App.vue 中监听有效&#xff0c;在其他页监听无效。 onLaunch&#xff1a;当uni-app 初始化完成时触发&#xff08;全局只触发一次&#xff09;on…

【变形金刚03】使用 Pytorch 开始构建transformer

一、说明 在本教程中&#xff0c;我们将使用 PyTorch 从头开始构建一个基本的转换器模型。Vaswani等人在论文“注意力是你所需要的一切”中引入的Transformer模型是一种深度学习架构&#xff0c;专为序列到序列任务而设计&#xff0c;例如机器翻译和文本摘要。它基于自我注意机…

【传输层】Tcp协议的原理(二)

文章目录 一、TCP协议原理&#xff08;二&#xff09;总结 一、TCP协议原理&#xff08;二&#xff09; 1.解决TIME_WAIT状态引起的bind失败的方法 我们之前实现tcp服务器的时候发现&#xff0c;服务器经常有时候断开可以立即重启&#xff0c;有时候断开必须换端口号才能重新…

qt事件系统源码-----定时器

qt定时器的使用一般有以下几种方式&#xff1a; 1、直接使用QTimer对象&#xff0c;绑定定时器的timeout信号&#xff1b; 2、使用QTimer的静态方法singleshot方法&#xff0c;产生一个一次性的定时事件 3、在QObject子类中&#xff0c;调用startTimer方法&#xff0c;产生定…

Vue.js从入门到精通:软件开发视频大讲堂

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 前言 随着Web应用程序的…

nodejs+vue+elementui+express旅游出行指南网站_655ms

本文主要介绍了一种基于windows平台实现的旅游出行指南。该系统为用户找到景点信息和酒店信息提供了更安全、更高效、更便捷的途径。本系统有两个角色&#xff1a;管理员和用户&#xff0c;要求具备以下功能&#xff1a; &#xff08;1&#xff09;用户可以浏览主页了解旅游出行…

2023牛客暑期多校训练营8-C Clamped Sequence II

2023牛客暑期多校训练营8-C Clamped Sequence II https://ac.nowcoder.com/acm/contest/57362/C 文章目录 2023牛客暑期多校训练营8-C Clamped Sequence II题意解题思路代码 题意 解题思路 先考虑不加紧密度的情况&#xff0c;要支持单点修改&#xff0c;整体查询&#xff0…

阿里云服务器安装AMH面板建站教程

本文阿里云百科分享使用阿里云服务器安装AMH面板建站教程&#xff0c;AMH是一套通过Web控制和管理Linux服务器以及虚拟主机的管理系统。您可以使用云服务器ECS安装AMH来搭建PHP网站。本篇教程分别介绍如何在Linux系统实例中部署AMH并快速搭建PHP网站。 目录 前提条件 手动部…