倾斜开关传感器,是一种很小的角度倾斜开关元件。常用于水平测试、角度开关、倾倒检测、倾倒断电等等应用。传感器的探头在水平放置是关闭状态,如果将传感器朝上90度垂直放置是打开状态。 该传感器采用了MEC原装倾斜开关SW-460D,灵敏度比较高,基于内部原理是钢球开关的数字模块,利用钢球的特性,通过垂直的重力作用使钢球向低处滚动,从而实现开关闭合或断开功能。
树莓派主板 | 倾斜传感器 |
5V | VCC |
GND | GND |
GPIO1(BCM18) | DO |
已知传感器在水平放置时无信号输出,如果朝上90度放置时输出低电平信号,那么我们可以写一个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()
执行程序后在水平放置状态下显示: 检测正常
将传感器朝上90度放置状态下显示: 检测倾倒