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()
运行程序后,当检测震动显示:“震动触发”,摇晃至归位后显示:“检测正常”
注意:再次检测务必归位传感器哦请看前面的说明