Water Sensor传感器结构简单,价格便宜,可以通过暴露在电路板上的平行线路和液体的接触来测量液体的深度,检测的液位深度值被传感器以电压信号的方式输出。但由于被测量的水或其他液体纯度及内含杂质的不确定性,该传感器仅适用于精度要求不是太高的场合,更多的是希望用该传感器来判断水位是否涨跌,以及涨跌的大概幅度。
名称 | 推荐购买链接(或者您可以自己制作) |
---|---|
液位传感器模块 | 模块购买链接 |
声明:这里推荐的购买链接仅供参考,您完全可以去其他商家或渠道购买,只要功能相似即可,如果需要更低的成本建议自己开发硬件模块或定制。
--配置Core的USB口以虚拟串口模式工作,这样print()输出的内容就可以在电脑串口终端上显示了 LIB_UsbConfig("CDC") --配置AD电压采集功能,最大值采样值4096对应3.6V输入电压 --当通道采集满1个点时缓存满,每个点的采集时间间隔为300ms LIB_ADConfig(1,300000) --开始大循环 while(GC(1) == true) do --每隔300ms查询A0通道是否转换完成 --开发者也可以将传感器接至A1-A3中的任一通道,也可以多个通道接多个传感器,用法都和下面一样 LIB_DelayMs(300) A0_full_flag, A0_buf = LIB_ADCheckBufFull("A0") if A0_full_flag == 1 then --打印输出A0通道的AD采样值以及对应的电压值 print(string.format("A0=%04d Voltage=%.2fv", A0_buf[1], A0_buf[1]*3.6/4096.0)) end end
如果感兴趣,上面代码中出现的LIB开头的库函数可以在API文档中通过Ctrl+F查询。
可以看到在无水状态下时传感器输出的电压值在0V
可以看到在水位达到传感器测量半程状态下时传感器输出的电压值在1.81V左右
可以看到在水位达到传感器测量全程状态下时传感器输出的电压值在1.87V左右
可以看到即使把传感器从水中拿出来后,传感器表面仍然有水分,此时输出的电压值在0.85V左右
通过上面实验可以看出,传感器在”无水”–>”半程”–>”满程”–>”脱水”这四个状态输出的电压值分别为:0.00V, 1.81V, 1.88V, 0.85V。
可以看出并不能简单的把水位深度和传感器输出电压值用线性关系描述。所以我们在实际应用中需要对被测液体进行实际的测量标定才能将传感器的输出电压和实际液位建立数学关系。
简单、快捷、高效、强大的物联网开发板
© 2022. All Rights Reserved. 粤ICP备2021058065号