×

水位监测器的构建

消耗积分:2 | 格式:zip | 大小:0.02 MB | 2022-12-07

elecfans

分享资料个

描述

:作者:NewMC

:电子邮件:{AuthorEmail}

:日期:2018 年 12 月 17 日

:修订:0.1.0.0

:许可证:公共领域

= 项目:水位监测器

该项目将演示如何使用 Arduino Nano、Solu SL067 水位传感器和 LED 指示灯构建水位监测器。这个简单的系统有许多可能的用途,示例包括监测集水坑(以控制泵的启动)、降雨检测、泄漏检测或监测工厂水位。我专门建造这个来监测我的圣诞树的水位。

信用:

我最初在这里找到了一个类似的项目

我对上面链接中的代码进行了重大修改,以使用一个带闪烁代码的 LED,而不是原始开发中使用的三个 LED。我还清理了校准说明,希望能让外行人完全理解。您可以简单地组装威廉希尔官方网站 ,将我的草图上传到您的 Arduino,并按照校准要求获得功能可靠的水位监测器。需要最少的编程知识来修改我的草图以满足您的需求。

**注意 - 我只使用了几天,不知道传感器的性能如何。存在腐蚀的可能性,一块碎片(湿松针)可能会使两条走线短路并给出错误的读数。我强烈建议您目视确认水位,直到您确信传感器将继续按预期工作。我将每隔几天继续验证传感器的运行情况,但这有助于避免每天移动礼物和树裙来检查水位的必要性。

关于传感器:

用于我的开发的传感器。

该传感器通过使用一系列连接到系统接地的五个外露迹线来工作。每两条地线之间交错一条感应线,共五条地线和五条感应线。感应走线连接到一个 1 兆欧姆的上拉电阻。感测迹线被拉高,直到一滴水或水平面将感测迹线短路到地。该传感器理论上会输出 0-1024 之间的模拟信号,但根据该 PCB 上走线的长度,我发现可用范围在 480 到 ~710 之间。传感器未设计为完全浸没,安装时请注意,只有 PCB 上裸露的走线才会与水接触。传感器的输出电压为 0 - 4.2 V,因此如果只需要低/高指示,这可以用作数字输入。

模拟输出值对应于传感器底部的以下距离(近似值):

480 = 0 毫米

530 = 5 毫米

615 = 10 毫米

660 = 15 毫米

680 = 20 毫米

690 = 25 毫米

700 = 30 毫米

705 = 35 毫米

710 = 40 毫米

传感器分辨率随着水位的增加而降低。

== 安装

1. 将草图上传到您的 Arduino。

2. 使用本项目附带的原理图组装威廉希尔官方网站 。

**LED:LED 电阻必须安装在威廉希尔官方网站 接地和 LED 之间。如果您的 LED 的一条腿比另一条腿长,则较长的腿需要连接到电源电压(Arduino 的 D2)。

*注意:我为传感器使用了约 2.5 英尺的线长,为 LED 使用了 2 英尺的线长。这使我能够将 Arduino 放置在远离水的地方,并将 LED 布线到树枝的末端以提高可见度。

3. 按照下面的校准说明进行操作(也包含在草图中):

**************************** 校准/设置 ******************* *********

a) 将 Arduino 连接到 IDE 并打开串口监视器。

b) 将深度传感器插入水中至您认为触发满指示器所需的最小深度。请注意串行监视器中指示的值用作 FULL 级别。

* 任何值 >= 这将触发相应的 FULL 闪烁代码。

c) 重复步骤 2 以确定您将分配给 LOW 值的值。

* 高于此值但低于 FULL 值的任何值都将触发相应的中间闪烁代码。

* 低于此值的任何值都将触发相应的低闪烁代码。

d) 将步骤 2 和 3 中确定的值作为 const int FULL 和 LOW 值插入草图中。

e) 上传具有更新值的草图,您的传感器现在已校准。

4. 将您的 Arduino 放置在某种类型的外壳中,以防止因水、移动部件或短路而损坏。

5. 将系统安装到您的应用程序中。

=== 文件夹结构

WaterLevelMontior_SingleLED => Arduino 草图文件夹

├── WaterLevelMonitor_SingleLED.ino => 主 Arduino 文件

├── WaterLevelMonitor.png => 所需原理图的图像

└── ReadMe.adoc => 这个文件

===许可证

本项目利用通用电子理论和C/C++编程语言。我并未声称拥有与上一节中所列文件相关的版权或任何知识产权。本文档、相关的 Arduino 草图和系统原理图可以自由修改或分发。该项目是在公共领域许可下发布的。

=== 免责声明

本软件产品由提供商“按原样”提供,并且“包含所有错误”。提供商不对本软件产品的安全性、适用性、无病毒、不准确、印刷错误或其他有害成分作出任何形式的陈述或保证。使用任何软件都存在固有的危险,您全权负责确定本软件产品是否与您的设备和安装在您设备上的其他软件兼容。您还全权负责保护您的设备和备份您的数据,对于您因使用、修改或分发本软件产品而可能遭受的任何损害,提供商概不负责。

===贡献

要为此项目做出贡献,请联系NewMC

=== 物料清单

ID 零件名称 零件编号 数量

R1 1k 1/4 W 电阻器 TE Con​​nectivity CFR16J1K0(或类似产品)1

L1 LED CREE C503B-RAN-CZ0C0AA2(或类似产品)1

S1 解决方案传感器解决方案 SL067 1

IC1 Arduino 纳米 A000005 1

PS 电源 您选择,推荐 5 Vdc (>= 300mA) 1

===帮助

该项目包含上面“文件夹结构”部分中列出的三个文件。这些文件提供系统原理图、基本实施说明以及构建系统所需的软件草图。没有暗示或给出进一步的协助义务。如需帮助,请在https://forum.arduino.cc/上发帖,社区将提供指导。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'水位监测器的构建',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);