37种传感器(二十六)水位传感器模块+Stduino Nano&UNO
; n" `1 X. Q( o- U6 z7 |, ^/ K4 D3 h9 |) l( s
+ ]" h6 m, c3 ~5 D( n" ^
$ j% `% [! b! {4 L p# `* V1 U1 M6 W& y
关键词: 51;stm32;arduino;stduino单片机;stduino UNO&Nano;土壤湿度传感器模块
+ G4 J8 }4 A) W# C 说明:
) Q# Y! Q) ^) B; S& Z* o sWater Sensor水位传感器能够监测水位。该模块主要是利用三极管的电流放大原理:当液位高度使三极管的基极与电源正极导通的时候,在三极管的基极和发射极之间就会产生一定大小的电流,此时在三极管的集电极和发射极之间就会产生一个一定放大倍数的电流,该电流经过发射极的电阻产生特点电压,被AD 转换器采集。
' I" r- J8 P- T* _$ p 对水位模块测量之后,收集到每一水深时对应的AO引脚数值,可得到如下的函数图像:(该模块入水20mm后,AO值非常不稳定,因此舍弃。) $ |0 I1 d7 v: L: A+ z9 c
+ w& m- D$ [3 z' y " w* ?) d5 G( @: X
0 Y. `6 V, [% w6 u
我们可以得到以下公式:. M* ?* \1 J/ n. F' H/ H% E
9 J( {; Y E# O" K, z) W& o
9 D" i+ K$ {) s% y3 P
7 q, W: e9 `# ?9 z3 V (AO为AO引脚数值,h的单位为毫米,只适用于h在0到20mm之间)- |* |5 A7 L" @$ l7 }: B! N
) E6 Z0 M+ I: G2 z* Q
2 {, U7 e9 _- t6 ~9 {& ]2 [, C- u! N4 o
( u/ S: S8 F+ C% x7 |! ` D5 E
& ~5 g% r' W, v6 T$ O; j
6 C$ r2 f. Y' T! C' d7 X" _; }. F s; { o
3 c* R" B c7 K实验目的:9 n6 P% J. p. B6 T2 S
利用水位模块,监测模块入水深度变化。
3 u3 {( |3 H9 N- j; s器材:
! e P6 j1 p& x z4 b! g' nStduino UNO/Nano;杜邦线;水位模块
; d ?* C0 O! W/ ?0 w8 x3 D电路连接:
+ _( a- H: P _+ w# J2 _9 G
/ x' H. F7 F1 O- w; i0 P代码展示:- <font face="Arial">#include <math.h>
, F6 _' w a1 X# u8 k$ ~ - double temp,data;; F9 w( L2 ^- G- ]$ H- a
- void setup() {
$ Z4 G$ P% _" i& E: S7 M+ @ - // put your setup code here, to run once:- P* T% V' T8 `
- Serial.begin(9600);
3 _: Z! Y. r- I3 d - pinMode(A0,INPUT_ANALOG);
2 d1 M% N+ T+ z y. k' x( ` - }" k6 D/ o1 I7 ^4 d: t+ `
- 4 Z( F4 v( b4 Y$ d; v: o
- void loop() {7 |: P5 P$ y% D1 R! N
- // put your main code here, to run repeatedly:
) I/ [2 A- _0 Z7 d; p' T/ d - temp=(long)analogRead(A0);5 |& n1 K) N( x
- data=(exp(0.0056*temp))*0.467;9 e3 |0 y9 X: M- E- W2 w0 R7 J
- Serial.print("the depth is:");
# p" N2 T4 |4 r _8 L( b - Serial.print(data);4 g. m, h4 I. q5 E5 l9 \9 g D, o
- Serial.println("cm");% {5 \; a% Z4 C, o
- delay(500);, s0 c, M* N' Q" B6 N5 T* ^: q
- }</font>
复制代码
' j2 Z( G: _8 _0 j: y1 g, R
% w( N* ~9 J% o# e5 ^/ l! I0 R; }# ^4 P0 d! K x
实验效果:
# }" E; U- Z3 [/ X& u
: S ?& Z) P3 m- g2 i* U; @1 [. }
0 K( k$ |& }6 g, i7 p8 v1 C4 e3 G6 K4 b3 c0 L
+ N$ F8 o) x* D/ }2 [* G% ZStduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。
, U( |6 H% \( L. y. nIDE当前支持的功能有: - GDB调试
- 封装库下载安装
- 代码自动补全提示
- 中英文模式
- UTF-8\GBK编码格式
- 代码快速格式化
- SWD\串口程序下载&调试(已验证)
- DFU程序下载方式(待验证)
- USB HID程序下载方式(待验证)
- maple DFU程序下载方式(待验证)
- maple DFU2程序下载方式(待验证)
- MassStorage程序下载方式(待验证)
5 `9 p+ i- W1 t I0 A$ b
8 X) [$ R3 L: C( f8 C- {7 \( `; n
) |4 E2 a0 Y! P" V- n
$ N8 S4 d7 d; P; |" S4 ^+ S( f; a
) n' u2 y2 |; Z1 @* L, H
$ g6 k5 c# C% z/ K更多功能细节请前往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
8 i# b; b$ c* M' H8 y
* y) z! q. J, y4 R5 v
( M, \8 c" ^- ~: m" M4 E4 c
更多功能集成正在进行中~
' `. y, X# U' [9 o, W( s6 W1 h3 }( }. g7 O7 L
8 _: ?1 K& I! K3 ?6 m. I* Y9 r" \: b. u( {. M( R
) X$ ~% Y8 { J, ]
1 s* l7 P. x f e: N o- H% `3 r9 M2 D
|