树莓派资料
显示屏资料
系统下载
树莓派Pico
首页 动态 发帖 版块 我的
 退出
游客  
等级:
金币:
经验值:

Q2常闭震动传感器教程 Python

  1490 
 0
 1
RASPI   RASPI 

一:传感器介绍

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


工作电压

3-5VDC

触发方式

检测震动效果

尺寸

32mmx20mm

信号输出

DO开关数字量

指示灯状态

带开关指示灯(有震动灯亮,反之灯灭)


原理图如下:


与树莓派接线图

树莓派主板Q2常闭震动传感器
5VVCC
GNDGND
GPIO18DO

Image

与树莓派接线图

此款模块比较简单,每次震动后输出低电平,我们只需要写个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()


运行程序后,当检测震动显示:“震动触发”,摇晃至归位后显示:“检测正常”


注意:再次检测务必归位传感器哦请看前面的说明



标签:
作者签名: raspi.cc   楼主  2025-04-23 23:29:10
回复列表
Powered by RASPI _VERSION
© 2017-2025 树莓派极客版权
您的IP: 3.137.172.252 , 2025-04-26 18:51:20
Powered by RASPI _VERSION
© 2017-2025 树莓派极客版权