土壤湿度传感器模块(4线制)可以宽范围控制土壤的湿度。 通过电位器调节控制相应阈值,湿度低于设定值时,DO输出高电平,高于设定值时,DO输出低电平。 使用该模块做一个自助浇水系统,再也不用担心家里的植物忘记浇水了。 此处很绕,我也看了好几遍,如果有什么问题,留言处交流哈,如果有误,我会在留言处更正。 3.3V时,使用STM32自带ADC功能,在空气中AO读取的值最大为4092 , 浸泡在水里的最小值1250;放在潮湿的纸上,值大约为3090附近。 也就是说,水锈蚀会导致土壤湿度检测模块的电阻值发生变化,进而会导致土壤湿度的检测值发生偏差。 可以应用于自动对菜园,花园自动浇水,家庭花盆土壤湿度的控制,水位检测。 两个电极插入土壤后,土壤将两个电极连接到一起,充当电阻,与电路中的电阻分压,再送到LM393同相端中与变阻器得到的电压比较,最后得出湿度是否超过阈值。 LM393是常用的运放芯片,最主要的用途就是用作电压比较器。 所以LM393常称之为电压比较器芯片。 什么是电压比较器,就是比较两个输入的电压是不是一样。 这个特点很有用,我们身边的电器很多都用到了这个功能。比如锂电池的充电保护,还有有些设备有温度保护模块,模块里面有个温度传感器,这个温度传感器将温度变化转变成电压变化,当这个电压超过给定的电压时,就会自动切断电路。 当同相端电压大于反相端电压时,电压比较器的输出端OUT输出高电平电压; 由电路原理图我们可以看出,模块的核心是一个电压比较器,采用了常见的LM393。 LM393的正相输入端接的是由两个电阻组成的分压电路,其中下电阻是土壤湿度传感器,该土壤湿度传感器就是两个电极,当两个电极之间有土壤连接之后,就等效为一个电阻,电阻值会随着土壤湿度变化而变化。实物图中,带两个大电极的那个就是土壤湿度传感器了。 LM393是电压比较器,将接在土壤湿度传感器端的两个电极插入土壤中,由于土壤中的水有一定的导电性,土壤湿度的变化会导致土壤的等效电阻值发生变化,将分压得到的电压信号传递给电压比较器的同相输入端,这个变化的电压信号与电压比较器的反相输入端的基准电压相比较。 在土壤干燥时,两个电极之间的等效电阻值很大,AO处分压点电压升高,一定程度后,使同相端电压大于反相端电压,电压比较器的输出端OUT输出高电平电压,此时开关指示灯不亮。 在土壤湿润时,两个电极之间的等效电阻值很小,AO处分压点电压下降,一定程度后,使同相端电压小于反相端电压,电压比较器的输出端OUT输出低电平电压,此时开关指示灯亮。 接在反相端端的电位器用于调节该端的电位电压,这个电压也就是电压比较器输入的阀值翻转电压,用于土壤湿度灵敏度调节。 注意: 模块(小板)连接传感器的两条线不分正负,随便接。 程序实现通过串口1打印输出传感器AO引脚的电压值和DO引脚的电平状态,点开串口助手,查看数值的变化。 传感器浸泡在水中和提起的来的数据变化,AO引脚的电压值数值越小,湿度越高,反之越低。功能介绍
应用
LM393原理
当同相端电压小于反相端端电压时,电压比较器的输出端OUT输出低电平电压,此时开关指示灯亮。湿度检测原理
硬件连接
模块 STM32 VCC 3.3V GND GND DO PA2 AO PA3 结果展示
资料获取
微信公众号后台回复“土壤湿度传感器”,可以下载本文对应的工程源码。
其他网友提问汇总
1. 两个线程,两个互斥锁,怎么形成一个死循环?
2. 一个端口号可以同时被两个进程绑定吗?
3. 一个多线程的简单例子让你看清线程调度的随机性
4. 粉丝提问|c语言:如何定义一个和库函数名一样的函数,并在函数中调用该库函数
推荐阅读
【2】Linux面试题100道,看看会多少?
【6】又一华为程序员进了ICU:压垮一个家庭,一张结算单就够了!必读
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。