最近入手了几个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/