雨滴感应传感器
- 一、传感器介绍
- 二、接线图
- 三、完整代码
- 四、实验过程及结论
一、传感器介绍
- 雨滴感应传感器结构简单,价格便宜,可以通过暴露在电路板上的平行线路和液体的接触来测量是否有雨滴以及雨滴量大小。
- 传感器的DO引脚用来指示是否检测到雨滴,如果检测到至少一滴雨滴DO就输出高电平,反之一直保持低电平。
- 传感器的AO引脚输出模拟电压信号,用来指示检测的雨滴数量大小。
这里我们只检测AO输出的电压模拟量信号,因为该电压信号不仅可以反映有无雨滴,还可以看出雨量的大小。对于DO接口则使用起来更简单,如果开发者感兴趣的话可以用Core提供的GPIO库函数来实现,这里就不涉及了。
二、接线图
三、完整代码
--配置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
四、实验过程及结论
步骤一:雨滴感应器表面无任何水分
上图可以看到在无水状态下时传感器输出的电压值在3.3V满压状态
步骤二:雨滴感应器表面只有1滴水
上图可以看到只有1滴水时输出的电压值在2.23V
步骤三:雨滴感应器上有5滴水
上图可以看到有5滴水时输出的电压值在1.87V
步骤四:雨滴感应器上布满雨滴
上图可以看到感应器上布满水滴时输出的电压值在1.45V
结论:
通过上面实验可以看出,雨滴感应器在"无水"–>“1滴”–>“5滴”–>"布满"这四个状态输出的电压值分别为:3.30V, 2.23V, 1.87V, 1.45V。
可以看出传感器的输出电压和雨滴数量是成反比关系。即雨量越大,传感器输出的电压值越低。
更多详情请参看 shineblink.com官网链接