Q2常闭震动传感器适用于各种震动然后触发输出低电平信号,常用于报盗报警,震动检测等。请注意这个模块在感应到微小的震动时就会一直触发输出信号,如果想再次进行检测状态,需要将传感器归位后才可进行二次震动触发(轻微摇晃即可归位),这个逻辑类似古代的地震仪,如果检测到地震,仪器上的球体会落下来,当地震恢复后,需要人为将球体捡回放上仪器才能继续检测下次地震,这个传感器也大概是这个逻辑。
原理图如下:
| 树莓派主板 | Q2常闭震动传感器 |
| 5V | VCC |
| GND | GND |
| GPIO18 | DO |

此款模块比较简单,每次震动后输出低电平,我们只需要写个Python监测程序。判断引脚是否有低电平输出即可。如果有低电平让其显示:检测震动。如果想再次进行检测状态,需要将传感器归位后才可进行二次震动触发,归位后显示正:出现正常字样。
import RPi.GPIO as GPIO
import time
# www.raspi.cc
# 配置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()运行程序后,当检测震动显示:“震动触发”,摇晃至归位后显示:“检测正常”
注意:再次检测务必归位传感器哦请看前面的说明