HS-S37L 水位传感器

目 录 (点击目录列表可以跳转到相应位置)

  1. 介绍
  2. 原理图
  3. 模块参数
  4. 电路板尺寸
  5. ArduinoIDE 和Python语言示例程序
  6. 米思齐 Mixly 示例程序(图形化语言)
  7. Arduino测试环境搭建
  8. 视频教程
  9. 测试结论

1、介绍 点这里回到目录

水位传感器专为水深检测而设计,可广泛用于感应降雨,水位,甚至液体泄漏。当将水位传感器放入水中时,水位没过铜线越多模拟值越大。

读取水深传感器模块的模拟值,在串口打印出来。如需知道水深,我们直接将传感器放探测部分前面的一点点放入水中,这样我们就可以知道刚放入水中时的模拟值,知道这个值之后我们可以得出一个公式: 当前模拟值为CA ,放入水下时的模拟值为DA 。水深 =(CA-DA)/100


2、原理图 点这里回到目录

HS-S37L 水位传感器


3、模块参数 点这里回到目录

引脚名称 描述
G GND(电源输入负极)
V VCC(电源输入正极)
S 模拟信号引脚
  • 供电电压:3.3V / 5V

  • 连接方式:PH2.0端子线

  • 安装方式:双螺丝固定/乐高搭建


4、电路板尺寸 点这里回到目录

HS-S37L 水位传感器


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 图形化示例程序:点击下载

HS-S37L 水位传感器

ESP32 Python图形化示例程序:点击下载

HS-S37L 水位传感器


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

电路接线图:

HS-S37L 水位传感器


ESP32 Python 测试环境搭建


8、视频教程 点这里回到目录

Arduino UNO视频教程点击查看

ESP32 Python视频教程:


9、测试结论 点这里回到目录

Arduino UNO测试结论:

器件连接好线之后,将上述程序上传到 Arduino UNO 开发板之后, 打开Mxily串口监视器,将水位传感器模块慢慢放入水中,串口输出水深传感器的模拟值大于670(相当于大于3cm),蜂鸣器响起。

HS-S37L 水位传感器


ESP32 Python测试结论:

器件连接好线之后,将上述程序上传到 ESP32 开发板之后, 打开Mxily串口监视器,将水位传感器模块慢慢放入水中,串口输出水深传感器的模拟值大于670(相当于大于3cm),蜂鸣器响起。


点这里回到目录