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

干簧管传感器磁性磁场检测Python例程

  1648 
 0
 1
mo   mo 

一:传感器原理

干簧管传感器其实也叫干式舌簧管的简称,它是一种有触点的无源电子开关元件,结构比较简单,体积小用于控制等功能,探头部分是一根密封的玻璃管,管中装有两个铁质的弹性簧片电板,内部灌有一种叫金属铑的惰性气体。正常情况玻璃管中的两个由特殊材料制成的簧片是分开的。当有磁性物质靠近玻璃管时,在磁场磁力线的作用下,内部的的两个簧片被磁化后就会吸引接触,当簧片吸合在一起后使结点所接的电路就连通。当外磁力消失后,两个簧片由于本身的弹性而分开,此时线路也就断开了。(简单理解:有磁就连通,无磁就断开)。所以,它可作为一种利用磁场信号来控制的线路开关器件,用于计数,限位等等,常常用在安防系统中或门磁、电磁、窗磁的应用

二:传感器参数

电路原理图下载

工作电压

3.3~5V

阈值调节

电位器灵敏度调节

尺寸

14mm×32mm

输出方式

开关量(DO)15mA

检测距离

磁场越大距离越大 (1.5cm)

Image

三:硬件连接

干簧管传感器树莓派开发板LED灯
VCC5V5V
GNDGNDGND
DOGPIO.7(BCM4)GPIO.0(BCM17)

Image


Image

树莓派GPIO针脚图

四:Pythpn程序代码

教程思路:


已知传感器在检测到磁场后会输出开关量信号,通过测量电压为0-3V。实为低电平信号。可以通过树莓派来写个实时监测Python代码。用于检测该引脚的低电平信号,在树莓派上我们可以使用RPi.GPIO库来控制GPIO引脚!通过上面的接线方式,我们将传感器的信号输出引脚接入在了树莓派GPIO7(BCM为4),再将LED灯的正极接在树莓派的GPIO17(BCM0),通过程序来设定实时监测GPIO7信号输入状态,(如果GPIO7有信号输入则让GPIO17输出电压并显示出:检测到磁性,反之则不输出并显示“检测正常”)

import time

# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)

# 定义GPIO引脚
GPIO_PIN_4 = 4
GPIO_PIN_17 = 17

# 设置GPIO4为输入,GPIO17为输出
GPIO.setup(GPIO_PIN_4, GPIO.IN)
GPIO.setup(GPIO_PIN_17, GPIO.OUT)

try:
    while True:
        # 检测GPIO4的输入状态
        if not GPIO.input(GPIO_PIN_4):  # 如果GPIO4有低电平
            GPIO.output(GPIO_PIN_17, GPIO.LOW)  # 关闭GPIO17的高电平输出
            print("检测正常")
        else:
            GPIO.output(GPIO_PIN_17, GPIO.HIGH)  # 否则保持GPIO17为高电平
            print("检测到磁性")

        # 等待一段时间再检查一次(这里假设每秒检查一次,可根据需要调整)
        time.sleep(1)

except KeyboardInterrupt:
    # 键盘中断(Ctrl+C)时,清理GPIO资源
    GPIO.cleanup()


结果:当有磁性物体靠近传感器时,LED灯打开,并显示:检测到磁性。  当磁性物体拿开后LED灯关闭,并显示:检测正常!


标签:
作者签名:    楼主  2025-03-22 20:03:34
回复列表
Powered by RASPI _VERSION
© 2017-2025 树莓派极客版权
您的IP: 3.144.109.104 , 2025-04-03 15:10:15
Powered by RASPI _VERSION
© 2017-2025 树莓派极客版权