微型碰撞开关传感器,是一种很小的物理力启动电子开关。常用于电梯的安全开关和水平测试、微波炉的门联锁装置、撞击感应开关,智能小车防碰撞等等应用。传感器探头前方如果受到撞击后将输出高电平信号。
树莓派主板 | 碰撞传感器模块 |
5V | VCC |
GND | GND |
GPIO18 | OUT |
已知传感器收到撞击后OUT引脚会输出高电平,那么我们可以写一个Python程序,通过实时监测该引脚是否有高电平信号输入来判断碰撞状态!
import RPi.GPIO as GPIO import time # 配置GPIO GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO_PIN = 18 # 初始化引脚为输入模式,启用下拉电阻 GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) try: print("监测系统启动中...") last_status = None # 记录上次状态 while True: # 读取当前引脚状态 current_status = GPIO.input(GPIO_PIN) # 只在状态变化时更新显示 if current_status != last_status: if current_status == GPIO.HIGH: print("\r当前状态:正常状态", end="", flush=True) else: print("\r当前状态:受到撞击 ", end="", flush=True) last_status = current_status time.sleep(0.1) # 降低CPU占用率 except KeyboardInterrupt: print("\n监测已终止") finally: GPIO.cleanup()
执行程序后在无碰撞下显示: 正常状态!
传感器受到撞击后显示:受到撞击