37种传感器(二十五)土壤湿度传感器模块+Stduino Nano&UNO
% j1 b! i2 k7 Q, g% ^
' m0 s1 y3 g0 i; K" \* T% F) R9 ~8 u. j/ z' v0 G
关键词: 51;stm32;arduino;stduino单片机;stduino UNO&Nano;土壤湿度传感器模块
% q/ }" q# x) |7 N% E. [9 N2 {, Z% K说明:
% [& M) _2 z" T* E% F: Q/ \& I- U土壤湿度传感器能够监测土壤的含水量。土壤湿度传感器包含两部分(如下图所示)。当土壤较为干燥时,土壤电阻趋于无穷大,而当土壤较为湿润时,电阻率将迅速降低。土壤湿度传感器依据土壤电阻的变化输出不同模拟信号值,来监测湿度的变化。同时可以通过电位器(图上蓝色部分)来设置土壤湿度阈值:当超过某一特定值时,输出高电平,反之输出低电平(数字信号)。
# u, p+ Y8 M" W/ n: S/ |4 W0 F' Q. _. y 在《工程勘察》2019年的一项研究中指出(孙旭,杨庆义,高兰,李振宇.湿度变化对土壤电阻率的影响研究[J].工程勘察,2019,47(01):35-40.),土壤电阻率与含水量之间的关系可以较好的拟合成指数函数关系,即
& t+ Q$ D: Q9 ]* y
两个金属片之间的距离约为1.5cm,面积为0.5cm×4.5cm,串联电阻为10KΩ。由该模块的电路,可知模拟信号输出值(AO)与电阻率之间的关系为:
0 b& T% I1 C# v" z- Q 联立可得:
(以上公式的基础,建立在模拟量读取12位数据,即AO范围为0~4095,如果是10位读取,则应当将以上公式中的4096改为1024,重新计算。) 值得提出的是,该函数两端值明显不符合常识,不能很好拟合,无实际意义。得出的土壤含水量也只有是定性价值,仅供学习。
7 T0 {' ^, K* n0 d 实验目的:利用土壤湿度传感器,监测土壤含水量。
8 C8 t+ s, B4 v% q( O器材:Stduino UNO/Nano;杜邦线;土壤湿度监测模块 9 F4 m2 D: P% p3 d+ f9 a
电路连接:
: O+ S0 K, h4 J* x. }
; s4 @, X+ F" V0 B% Z: u2 e. B4 W3 Q
代码展示: - <font face="Arial" size="3">#define Moisture A0 //引脚A0& |% b" J/ m! a. L. n2 S
- #define DO 7 //引脚D71 L* U- p% x3 v9 L
- float value = .000;* o' A6 }5 q! O9 o
- " N0 c. U" g. B4 g
- void setup()
% x1 i F+ u& {9 L6 K" g - {' I% n+ B- g+ N# n" ]
- // put your setup code here, to run once:- _ U6 b; x# e
- pinMode(Moisture, INPUT_ANALOG);//定义A0为输入模式6 M) H$ |. a8 l& O" m6 ]$ Z
- pinMode(DO, INPUT);
/ H" b1 D" a* M9 v - Serial.begin(9600);
- R f5 \) l0 E3 M7 Y4 J: _* j - }+ d/ }( O* H, w# x$ k
- void loop()" S0 Y3 W6 m2 V4 K: K' y
- </font><font face="Arial" size="3">{
8 L$ c- t( X. D% O - // put your main code here, to run repeatedly:
- r# e9 ~. s) H$ g - //串口返回测量数据
5 F* E5 h g7 C. b% P! G& B5 y. g( r - value = (6619.136/analogRead(Moisture))-2.203;
6 U, o3 P5 `# P# F - Serial.print("当前含水量");& @9 F) W6 x* V. t
- Serial.print(value);0 x u: P6 n! Z( k
- Serial.print("|DO=");
' v' _& y. X# }7 n - Serial.println(digitalRead(DO));//读取DO的数值
5 l w8 o$ k0 [" J - delay(1000);
; t4 V# |+ X6 A# |; ], [ - }</font>
复制代码
9 z, g) }+ x( K' o- M* n/ l+ ]9 @3 p2 }4 k. G6 B3 e
实验效果:
6 k7 _/ ^4 U4 s, t* [
1 B$ y+ ^! m( R7 Q
$ R' o7 O$ s- D Y
Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。) \* }- _' g8 j* ]
IDE当前支持的功能有: - GDB调试
- 封装库下载安装
- 代码自动补全提示
- 中英文模式
- UTF-8\GBK编码格式
- 代码快速格式化
- SWD\串口程序下载&调试(已验证)
- DFU程序下载方式(待验证)
- USB HID程序下载方式(待验证)
- maple DFU程序下载方式(待验证)
- maple DFU2程序下载方式(待验证)
- MassStorage程序下载方式(待验证)
5 ~' k" t- T8 p" C; J3 I( R Y* h8 N& g
# }+ ^( f6 d" S- F
更多功能细节请前往www.stduino.com进行了解 已经支持的芯片&板型列表: - 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
! Y2 w! O9 I$ ^; }. ^+ ^; g5 o3 x+ N" l$ m
. I6 B7 g$ ^# {) y( y
更多功能集成正在进行中~
5 F% C0 B. D7 `$ q * W8 y3 f6 M8 P2 k8 F o
|