该传感器对火焰具有特别灵敏的感应。它利用红了外线对火焰非常敏感的特点,使用特制的红外线接收管来检测火焰,用于检测火焰或特定波长在(760nm-1100nm)红外光的传感器。它的探测角度60°左右,对火焰光谱特别灵敏。检测到火焰亮度后转化为高低电平信号进行输出。
传感器的灵敏度可手动调(下图传感器上的蓝色的电位器用于调节)。火焰的探测距离与灵敏度和火焰强度大小有关,火焰越大距离越远,一般情况下打火机的火焰距离大概在5m内,可适用于工业自动化、安全监控、消防预警、机器人技术等领域。
使用树莓派开发板+火焰传感器+报警器打造一个自动检测是否有火焰 并显示+报警的功能,我们已知火焰传感器在检测到火焰后DO引脚会输出低电平信号。那么我们将用Python程序去实时监测传感器的DO引脚是否有低电平输出。如果有输出则说明检测到火焰了。
树莓派主板 | 火焰传感器 | 报警器 |
5V | VCC | 接树莓派GPIO28(BCM20) |
GND | GND | GND |
GPIO29(BCM21) | D0 |
按上述连接方式,将树莓派-传感器-报警器 全部连接好。这时我们将传感器的DO引脚接在树莓派的GPIO29针脚上(BCM编码GPIO21),下列程序实时读取该引脚是否有低电平输入。如果该引脚有低电平输入情况,树莓派将GPIO20输出5V电压给报警器。 将下列Python程序代码直接运行并查看结果即可。
import RPi.GPIO as GPIO import time # 初始化 GPIO 模块,设置 GPIO21 和 GPIO20 为输入和输出 GPIO.setmode(GPIO.BCM) GPIO.setup(21, GPIO.IN, pull_up_down=GPIO.PUD_UP) # GPIO21 作为输入,上拉 GPIO.setup(20, GPIO.OUT) # GPIO20 作为输出 try: while True: input_state = GPIO.input(21) # 读取 GPIO21 的状态 if input_state == GPIO.HIGH: # 高电平(正常) print("检测正常") GPIO.output(20, GPIO.LOW) # GPIO20 输出高电平 else: # 低电平(检测到火焰) print("检测到火焰")
GPIO.output(20, GPIO.HIGH) # GPIO20 输出低电平 # 每秒检查一次,你可以根据需要调整检查频率 time.sleep(1) except KeyboardInterrupt: # 用户按下 Ctrl+C 退出程序 print("检测到用户中断,清理 GPIO...") finally: GPIO.cleanup() # 清理 GPIO 口,释放资源
效果:当传感器探头检测到火焰后,会显示:”检测到火焰“ 报警器也会发出响声。 反之则提示:“检测正常”。