红外避障传感器
红外避障传感器是专为轮式机器人设计的一款距离可调式避障传感器。其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,此时指示灯亮起,经过电路处理后,信号输出接口输出数字信号,可通过电位器旋钮调节检测距离,有效距离2~40cm,工作电压为3.3V-5V,由于工作电压范围宽泛,在电源电压波动比较大的情况下仍能稳定工作,适合多种单片机、Arduino控制器、树莓派使用,安装到机器人上即可感测周围环境的变化。
跟此传感器类似的还有一个循迹传感器模块,工作原理是一样的,相比避障传感器少了“EN”的接口。如图所示:
规格参数:
1.工作电压:DC 3.3V-5V
2.工作电流:≥20mA
3.工作温度:-10℃—+50℃
4.检测距离:2-40cm
5.IO接口:4线制接口(-/+/S/EN)
6.输出信号:TTL电平(有障碍物低电平,无障碍物高电平)
7.调节方式:多圈电阻式调节
8.有效角度:35°
7.尺寸大小:28mm×23mm
控制红外避障传感器
1、所需材料:
• 红外避障模块一个
• 树莓派
• LED等一只
• 连接线数根
2、引脚连接说明:
红外避障模块 | 树莓派 |
GND | GND |
+ | +5V |
OUT | GPIO 23 |
EN | 不接 悬空 |
LED灯 | 树莓派 |
短脚 | GND |
长脚 | GPIO 21 |
注:接树莓派的GPIO口可能略有不同,小编用的是树莓派2代版,有些GPIO口使用B版的同学可能找不到,这没有关系,懂了原理,无所谓接口。
整体实物连接图:
3、软件设计:
#!/usr/bin/python
#-*- coding: utf-8 -*-
import time
import RPi.GPIO as GPIO
import os
GPIO.setmode(GPIO.BCM) #使用BCM编码方式
#定义引脚
GPIO_OUT = 23
led = 21
#设置引脚为输入和输出
GPIO.setwarnings(False)
#设置23针脚为输入,接到红外避障传感器模块的out引脚
GPIO.setup(GPIO_OUT,GPIO.IN)
GPIO.setup(led,GPIO.OUT)
def warn(): #亮灯来作为有障碍物时发出的警告
GPIO.output(led,GPIO.HIGH)
time.sleep(0.5)
GPIO.output(led,GPIO.LOW)
time.sleep(0.5)
while True:
if GPIO.input(GPIO_OUT)==0: #当有障碍物时,传感器输出低电平,所以检测低电平
warn()
GPIO.cleanup()
保存代码执行,然后将手挡在传感器前,就会看到led灯一闪一闪的,拿开手时,led灯将熄灭。