HS-S37L 水位传感器
1、介绍 点这里回到目录
水位传感器专为水深检测而设计,可广泛用于感应降雨,水位,甚至液体泄漏。当将水位传感器放入水中时,水位没过铜线越多模拟值越大。
读取水深传感器模块的模拟值,在串口打印出来。如需知道水深,我们直接将传感器放探测部分前面的一点点放入水中,这样我们就可以知道刚放入水中时的模拟值,知道这个值之后我们可以得出一个公式: 当前模拟值为CA ,放入水下时的模拟值为DA 。水深 =(CA-DA)/100
2、原理图 点这里回到目录
3、模块参数 点这里回到目录
引脚名称 | 描述 |
---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
S | 模拟信号引脚 |
-
供电电压:3.3V / 5V
-
连接方式:PH2.0端子线
-
安装方式:双螺丝固定/乐高搭建
4、电路板尺寸 点这里回到目录
5、Arduino IDE示例程序 点这里回到目录
Arduino UNO 示例(适用于Mixly IDE、Arduino IDE):
volatile float num; volatile int Buzzer; void setup(){ num = 0.0; Buzzer = 6; Serial.begin(9600); pinMode(A2, INPUT); } void loop(){ //水深传感器接A2.,蜂鸣器接uno开发板D6 //检测水越深,水深传感器模拟值越大;反之,水深传感器模拟值越小 num = long(analogRead(A2)); Serial.println(num); delay(500); if (num > 670) { //大概大于3cm pinMode(Buzzer, OUTPUT); digitalWrite(Buzzer,HIGH); } else { pinMode(Buzzer, OUTPUT); digitalWrite(Buzzer,LOW); } }
ESP32 Python 示例(适用于Mixly IDE /米思齐)
(开发板选择 Python ESP32 【ESP32 Generic(4MB)】切换为代码模式上传 ):
import machine
pin2 = machine.Pin(2, machine.Pin.OUT)
adc32 = machine.ADC(machine.Pin(32))
i = 0
while True:
i = adc32.read_u16()
print(i)
if i >= 50000:
pin2.value(1)
else:
pin2.value(0)
6、米思齐 Mixly 示例程序(图形化语言) 点这里回到目录
Arduino UNO 图形化示例程序:点击下载
ESP32 Python图形化示例程序:点击下载
7、测试环境搭建 点这里回到目录
Arduino UNO 测试环境搭建
准备配件:
- HELLO STEM UNO R3 开发板 *1
- HELLO STEM UNO R3 P 扩展板 *1
- USB type-c 数据线 *1
- 水位传感器模块(HS-S37L)*1
- 有源蜂鸣器模块(HS-F07L)*1
- PH2.0 3P双头端子线 *2
电路接线图:
ESP32 Python 测试环境搭建
8、视频教程 点这里回到目录
Arduino UNO视频教程:点击查看
ESP32 Python视频教程:
9、测试结论 点这里回到目录
Arduino UNO测试结论:
器件连接好线之后,将上述程序上传到 Arduino UNO 开发板之后, 打开Mxily串口监视器,将水位传感器模块慢慢放入水中,串口输出水深传感器的模拟值大于670(相当于大于3cm),蜂鸣器响起。
ESP32 Python测试结论:
器件连接好线之后,将上述程序上传到 ESP32 开发板之后, 打开Mxily串口监视器,将水位传感器模块慢慢放入水中,串口输出水深传感器的模拟值大于670(相当于大于3cm),蜂鸣器响起。