HS-S31A 碰撞传感器

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

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

1、介绍 点这里回到目录

碰撞开关模块实质为一个微型快动开关,即广为人知的微型开关,是一种由很小的物理压力启动的电子开关。它能够直接连在单片机上。它将负载电阻同 LED 指示灯整合在一起。这使得对他进行测试更为简单。当有物理压力触发开关闭合时,板上的 LED 指示灯会亮起。碰撞开关的原理比较简单,如下原理图,当被外力触发闭合时,开关闭合,模块输出低电平;当撤销外力时,开关被打开,模块输出高电平。


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

HS-S31A   碰撞传感器


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

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

  • 连接方式:2.54mm排针

  • 安装方式:双螺丝固定


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

HS-S31A   碰撞传感器


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

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

volatile int limitswitchPin;
volatile int led;

boolean mixly_digitalRead(uint8_t pin) {
  pinMode(pin, INPUT);
  boolean _return =  digitalRead(pin);
  pinMode(pin, OUTPUT);
  return _return;
}

void setup(){
  limitswitchPin = 4;
  led = 9;
  Serial.begin(9600);
}

void loop(){
  //碰撞开关接uno开发板D4引脚;LED灯模块接D9引脚

  if (mixly_digitalRead(limitswitchPin) == LOW) {
    Serial.println("触发开关,点亮led1秒");
    pinMode(led, OUTPUT);
    digitalWrite(led,HIGH);
    delay(1000);

  } else {
    Serial.println("没有触发开关,熄灭led");
    pinMode(led, OUTPUT);
    digitalWrite(led,LOW);

  }
  delay(500);

}

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

import machine
import time


pin2 = machine.Pin(2, machine.Pin.IN)
pin4 = machine.Pin(4, machine.Pin.OUT)
while True:
if pin2.value() == 0:
pin4.value(1)
time.sleep(1)
else:
pin4.value(0)


6、米思齐 Mixly 示例程序(图形化语言) 点这里回到目录

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

HS-S31A   碰撞传感器

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

HS-S31A   碰撞传感器


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

准备配件:

  • HELLO STEM UNO R3 PRO 开发板 *1
  • USB type-c 数据线 *1
  • LED灯模块(HS-F08A)*1
  • 碰撞传感器模块(HS-S31A)*1
  • 1P母对母杜邦线 *6条 或 3P母对母杜邦线 *2条

电路接线图:

HS-S31A   碰撞传感器


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

视频教程:点击查看


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

HS-S31A   碰撞传感器HS-S31A   碰撞传感器

当碰撞开关模块受到碰撞的时候,碰撞开关模块的信号口会输出低电平。通过判断信号口的高低电平状态,控制 LED 灯的亮与灭。器件连接好线之后,将上述程序烧录到Arduino UNO 开发板,给主板通电,按下碰触开关,LED 灯亮1秒,松开则灯灭,达到目的。


点这里回到目录