37种传感器(二十五)土壤湿度传感器模块+Stduino Nano&UNO
9 T: }& t; }% r8 t& \
1 H9 p3 C1 ~& g" M$ F* x* l0 ~" ~. D$ r5 ?( d' L& g: M
关键词: 51;stm32;arduino;stduino单片机;stduino UNO&Nano;土壤湿度传感器模块
3 \* g5 B6 T% \7 t" F说明:) r" o: j# Y0 ]. w1 f
土壤湿度传感器能够监测土壤的含水量。土壤湿度传感器包含两部分(如下图所示)。当土壤较为干燥时,土壤电阻趋于无穷大,而当土壤较为湿润时,电阻率将迅速降低。土壤湿度传感器依据土壤电阻的变化输出不同模拟信号值,来监测湿度的变化。同时可以通过电位器(图上蓝色部分)来设置土壤湿度阈值:当超过某一特定值时,输出高电平,反之输出低电平(数字信号)。
. K" D+ }" o7 ?7 k; q( I5 J* j/ z 在《工程勘察》2019年的一项研究中指出(孙旭,杨庆义,高兰,李振宇.湿度变化对土壤电阻率的影响研究[J].工程勘察,2019,47(01):35-40.),土壤电阻率与含水量之间的关系可以较好的拟合成指数函数关系,即
5 @& S. q/ M, H( |1 _
两个金属片之间的距离约为1.5cm,面积为0.5cm×4.5cm,串联电阻为10KΩ。由该模块的电路,可知模拟信号输出值(AO)与电阻率之间的关系为:
. H3 ~# t: P# o) T
联立可得:
(以上公式的基础,建立在模拟量读取12位数据,即AO范围为0~4095,如果是10位读取,则应当将以上公式中的4096改为1024,重新计算。) 值得提出的是,该函数两端值明显不符合常识,不能很好拟合,无实际意义。得出的土壤含水量也只有是定性价值,仅供学习。
* ~9 v% O% K( i% u2 U8 |# j1 t1 V! T( r 实验目的:利用土壤湿度传感器,监测土壤含水量。 1 t6 z3 G! Q; L7 N9 h$ \
器材:Stduino UNO/Nano;杜邦线;土壤湿度监测模块 - `: R# e7 M7 o. d
电路连接:
4 J2 f! K) {0 l p/ Q0 ^$ t
P2 R, Z1 H) k" k4 ?代码展示: - <font face="Arial" size="3">#define Moisture A0 //引脚A0; h0 ~% }' @' p
- #define DO 7 //引脚D76 c1 M$ L }' O- R0 p' a1 D
- float value = .000;: q- u. p4 b6 C8 B
1 B* q6 |/ {/ B% P- void setup()
) u6 Y# a+ i: Q) F9 c - {& f( n: r$ L; c' K4 |
- // put your setup code here, to run once:( [- m8 n2 O& V% |& ~, x C# ^5 b& M
- pinMode(Moisture, INPUT_ANALOG);//定义A0为输入模式
! i. [+ h2 A! e, p7 h' |% X - pinMode(DO, INPUT);) F7 m& [4 s/ Y' l' g/ I8 M6 [
- Serial.begin(9600);
2 C! T9 P0 w/ r& o" r - }* t5 M/ R% a2 ^$ I
- void loop()! [) T3 g6 Q; b
- </font><font face="Arial" size="3">{2 p7 r& s- h L6 P( v$ y8 W
- // put your main code here, to run repeatedly:8 \) N- L( O: U) A6 a. N5 P
- //串口返回测量数据
5 z0 w) } T: W - value = (6619.136/analogRead(Moisture))-2.203;
& Y9 A& m4 m+ X9 ^3 w% R: Y2 } - Serial.print("当前含水量");/ h% X0 m7 A5 o: I" @
- Serial.print(value);+ t, \8 ]7 m4 Z4 w! l5 b
- Serial.print("|DO=");
) B6 S" V6 n4 \7 k- T - Serial.println(digitalRead(DO));//读取DO的数值 d7 T/ j4 F7 E: p9 K- O4 V1 O
- delay(1000);. U; o b. m4 p/ u1 b
- }</font>
复制代码
& f. _% I2 Q) N$ }' D1 \2 _& H! l7 X, B4 Y1 @
实验效果:
9 w4 b2 m! c1 p& \ h9 d( L- b; h
" n- c; p1 V# I$ v# z
1 D* y% Y# X' _2 e
Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。
; _9 Z0 s% O/ LIDE当前支持的功能有: - GDB调试
- 封装库下载安装
- 代码自动补全提示
- 中英文模式
- UTF-8\GBK编码格式
- 代码快速格式化
- SWD\串口程序下载&调试(已验证)
- DFU程序下载方式(待验证)
- USB HID程序下载方式(待验证)
- maple DFU程序下载方式(待验证)
- maple DFU2程序下载方式(待验证)
- MassStorage程序下载方式(待验证)
, s3 n9 e! q# I' X' R9 c) C: ?! S
9 Z4 R# y: k: ^/ Z5 m; ]4 x* j& T' z$ }6 y0 ?( W, k n8 D
更多功能细节请前往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 boards6 _" u/ |0 }8 B* ~
' j! p5 v/ t7 |
' @# N8 o1 F8 d9 m& P
更多功能集成正在进行中~ ; g5 z, U! t+ \& q
2 R l: s/ f+ B. y
|