说明: 土壤湿度传感器能够监测土壤的含水量。土壤湿度传感器包含两部分(如下图所示)。当土壤较为干燥时,土壤电阻趋于无穷大,而当土壤较为湿润时,电阻率将迅速降低。土壤湿度传感器依据土壤电阻的变化输出不同模拟信号值,来监测湿度的变化。同时可以通过电位器(图上蓝色部分)来设置土壤湿度阈值:当超过某一特定值时,输出高电平,反之输出低电平(数字信号)。 在《工程勘察》2019年的一项研究中指出(孙旭,杨庆义,高兰,李振宇.湿度变化对土壤电阻率的影响研究[J].工程勘察,2019,47(01):35-40.),土壤电阻率与含水量之间的关系可以较好的拟合成指数函数关系,即 两个金属片之间的距离约为1.5cm,面积为0.5cm×4.5cm,串联电阻为10KΩ。由该模块的电路,可知模拟信号输出值(AO)与电阻率之间的关系为: 联立可得:
(以上公式的基础,建立在模拟量读取12位数据,即AO范围为0~4095,如果是10位读取,则应当将以上公式中的4096改为1024,重新计算。) 值得提出的是,该函数两端值明显不符合常识,不能很好拟合,无实际意义。得出的土壤含水量也只有是定性价值,仅供学习。
实验目的:利用土壤湿度传感器,监测土壤含水量。
器材:Stduino UNO/Nano;杜邦线;土壤湿度监测模块
电路连接:
代码展示: #define Moisture A0 //引脚A0
#define DO 7 //引脚D7
float value = .000;
void setup()
{
// put your setup code here, to run once:
pinMode(Moisture, INPUT_ANALOG);//定义A0为输入模式
pinMode(DO, INPUT);
Serial.begin(9600);
}
void loop()
{
// put your main code here, to run repeatedly:
//串口返回测量数据
value = (6619.136/analogRead(Moisture))-2.203;
Serial.print("当前含水量");
Serial.print(value);
Serial.print("|DO=");
Serial.println(digitalRead(DO));//读取DO的数值
delay(1000);
}
实验效果:
Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。IDE当前支持的功能有:
GDB调试
封装库下载安装
代码自动补全提示
中英文模式
UTF-8\GBK编码格式
代码快速格式化
SWD\串口程序下载&调试(已验证)
DFU程序下载方式(待验证)
USB HID程序下载方式(待验证)
maple DFU程序下载方式(待验证)
maple DFU2程序下载方式(待验证)
MassStorage程序下载方式(待验证)
更多功能细节请点击图片上水印显示的网址进行了解
已经支持的芯片&板型列表:
Stduino UNO&Nano
Nucleo 144 boards
Nucleo 64 boards
Nucleo 32 boards
Discovery boards
Eval boards
STM32MP1 series coprocessor boards
Generic STM32F0 boards
Generic STM32F1 boards
Generic STM32F3 boards
Generic STM32F4 boards
Generic STM32H7 boards
Generic STM32L0 boards
3D printer boards
LoRa boards
Electronic Speed Controller boards
Generic flight controllers
Garatronics boards
Midatronics boards
更多功能集成正在进行中~
|