HS-S37A 水位传感器

HS-S37A  水位传感器

1、介绍

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

2、原理图

水深传感器-HS-S37A 原理图 点击查看

3、模块参数

引脚名称

描述

G

GND(电源输入负极)

V

VCC(电源输入正极)

S

模拟信号引脚

  • 供电电压:3.3V / 5V

  • 连接方式:2.54mm排针

  • 安装方式:双螺丝固定

4、电路板尺寸

5、Arduino IDE示例程序

注意:程序上传时如果提示库文件报错,请先导入库文件!
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);

  }

}

6、ESP32 Python 示例(适用于Mixly IDE /米思齐)

开发板选择 Python ESP32 【ESP32 Generic(4MB)】切换为代码模式上传

注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:
点击查看

示例程序(ESP32-Python):

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)

7、米思齐 Mixly 示例程序(图形化语言)

示例程序(UNO开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE Arduino库文件下载及导入教程:点击查看

示例程序(ESP32开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:
点击查看

8、测试环境搭建

Arduino UNO 测试环境搭建

准备配件:

  • HELLO STEM UNO R3 PRO 开发板 *1

  • USB type-c 数据线 *1

  • 水位传感器模块(HS-S37A)*1

  • 有源蜂鸣器模块(HS-F07AB)*1

  • 1P母对母杜邦线 *6条 或 3P母对母杜邦线 *2条

电路接线图:

ESP32 测试环境搭建

准备配件:待更新...

电路接线图:待更新...

9、视频教程

视频教程:点击查看

10、测试结果

Arduino UNO 测试结果:

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