干簧管传感器 | 树莓派开发板 | LED灯 |
VCC | 5V | 5V |
GND | GND | GND |
DO | GPIO.7(BCM4) | GPIO.0(BCM17) |
树莓派GPIO针脚图
已知传感器在检测到磁场后会输出开关量信号,通过测量电压为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灯关闭,并显示:检测正常!