KY-032避障红外传感器实验

    最近入手了几个ky-032避障红外传感器,这个传感器不同于以前红外避障传感器,它包含了灵敏度和检测范围的调节以及EN引脚;其中EN引脚要启用需要先拿掉跳线帽。
#接线示例:
接线示例
#其中EN引脚,实验中处于启用状态;移除跳线帽后,NE555芯片定时器的引脚 4 由 22K 下拉电阻 R3 保持低电平(复位)。当高电平条件应用于 EN 引脚时,复位条件解除,555 定时器将开始振荡。由于 IR 接收器中的 AGC 很快饱和,因此 EN 引脚一次不应保持高电平(启用)超过 2 毫秒。EN 必须在短时间内变为低电平,然后再次变为高电平。由此定期关闭38kHz信号并让AGC电路放松,可使设备达到最大灵敏度。
#实验代码:

继续前进
#!/usr/bin/env python
#coding:utf-8

'''
from JiuJiang
树莓酱的操作实例
https:://www.shumeijiang.com
'''

import RPi.GPIO as GPIO  ##引入GPIO模块
import time              ##引入time库

sensePin = 22 #检测引脚
enablePin = 23 #en引脚

GPIO.setmode(GPIO.BCM)   ##此处采用的BCM编码
GPIO.setup(sensePin, GPIO.IN) ##设置为接收模式
GPIO.setup(enablePin, GPIO.OUT) ##设置en为输出模式

try:
    while True:
        #复位条件解除 传感器开始工作
        GPIO.output(enablePin, GPIO.HIGH)
        status = GPIO.input(sensePin) ##检测传感器状态
        if status == GPIO.LOW:  ##低电平触发
            print '有障碍物!!'
        else:
            print '继续前进'

        #复位EN引脚
        GPIO.output(enablePin, GPIO.LOW)
        time.sleep(0.05)  ##检测频率

except KeyboardInterrupt:
    pass

GPIO.cleanup()
#不启用EN引脚常规检测代码:

#!/usr/bin/env python
#coding:utf-8

'''
from JiuJiang
树莓酱的操作实例
https:://www.shumeijiang.com
'''

import RPi.GPIO as GPIO  ##引入GPIO模块
import time              ##引入time库

sensePin = 22

GPIO.setmode(GPIO.BCM)   ##此处采用的BCM编码
GPIO.setup(sensePin, GPIO.IN, pull_up_down=GPIO.PUD_UP) ##设置为接收模式

#添加事件检测
GPIO.add_event_detect(sensePin, GPIO.FALLING, bouncetime=500)

try:
    while True:
        status = GPIO.event_detected(sensePin)
        if status == GPIO.HIGH:
            print '发现障碍物!!'
        else:
            print '继续前进'

        time.sleep(0.05)  ##检测频率

except KeyboardInterrupt:
    pass

GPIO.cleanup()
#参考文章:http://irsensor.wizecode.com/