HS-S37A 水位传感器

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

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

1、介绍 点这里回到目录

水位传感器专为水深检测而设计,可广泛用于感应降雨,水位,甚至液体泄漏。当将水位传感器放入水中时,水位没过铜线越多模拟值越大,读取水深传感器模块的模拟值,在串口打印出来,如需知道水深,我们直接将传感器放探测部分前面的一点点放入水中,这样我们就可以知道刚放入水中时的模拟值,知道这个值之后我们可以得出一个公式: 当前模拟值为CA ,放入水下时的模拟值为DA,水深 =(CA-DA)/100。


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

HS-S37A  水位传感器


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

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

  • 连接方式:2.54mm排针

  • 安装方式:双螺丝固定


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

HS-S37A  水位传感器


5、Arduino IDE示例程序 点这里回到目录

示例程序(UNO开发板):点击下载

volatile float num;
volatile int Buzzer;

void setup(){
  num = 0.0;
  Buzzer = 9;
  Serial.begin(9600);
  pinMode(A2, INPUT);
}

void loop(){
  //水深传感器接A2.,蜂鸣器接uno开发板D9
  //检测水越深,水深传感器模拟值越大;反之,水深传感器模拟值越小
  num = long(analogRead(A2));
  Serial.println(num);
  delay(500);
  if (num > 700) {
    //大概大于3cm
    pinMode(Buzzer, OUTPUT);
    digitalWrite(Buzzer,HIGH);

  } else {
    pinMode(Buzzer, OUTPUT);
    digitalWrite(Buzzer,LOW);

  }

}

示例程序(ESP32开发板—基于Python语言,不能用Arduino IDE上传代码):

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 示例程序(图形化语言) 点这里回到目录

示例程序(UNO开发板):点击下载

HS-S37A  水位传感器

示例程序(ESP32开发板):点击下载

HS-S37A  水位传感器


7、测试环境搭建 点这里回到目录

准备配件:

  • HELLO STEM UNO R3 PRO 开发板 *1
  • USB type-c 数据线 *1
  • 水位传感器模块(HS-S37A)*1
  • 有源蜂鸣器模块(HS-F07AB)*1
  • 1P母对母杜邦线 *6条 或 3P母对母杜邦线 *2条

电路接线图:

HS-S37A  水位传感器


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

视频教程:点击查看


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

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

HS-S37A  水位传感器


点这里回到目录