实验中的红外避障传感器是树莓派基础实验套件里其中一个模块,
后面会讲解里面其他的实验,感兴趣的可以看看。


在这里插入图片描述

概述

  • 该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管用于检测障碍物,
    通过电位器旋钮调节检测距离,顺时针旋转时增加有效距离,该模块有效距离范围为2~5cm.。传感器特设M3固定安装孔,调节方向与固定方便易用,使用宽电压LM393比较器,信号干净,波形好,驱动能力强,超过15mA。可以应用于流水线计件、机器人避障及黑白线循迹等众多场合。
  • 电路图说明:
    在这里插入图片描述
    接好VCC和GND,模块的电源指示灯会亮,红外发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线会被反射回来被红外接收管接收,经过比较器电路处理之后,开关指示灯会亮起,同时信号输出接口持续输出低电平数字信号(平时输出高电平)。

使用说明

在这里插入图片描述

  • 引脚说明:
    VCC:电源正极,外接3.3V-5V电压,可直接与单片机相连。
    GND:电源负极,外接GND
    OUT:数字输出(输出0和1)
  • 产品说明:
    1.检测距离可以通过电位器进行调节。顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。
    2.模块中监测目标的反射率和形状是探测距离的关键。其中黑色探测距离最小,白色最大;小面积物体距离小,大面积距离大。
    3.传感器模块输出端口 OUT 可直接与单片机 IO 口连接即可,也可以直接驱动一个5V继电器。
    4.比较器采用 LM393,工作稳定。
    注:
    接好VCC和GND,模块的电源指示灯会亮,红外发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线会被反射回来被红外接收管接收,经过比较器电路处理之后,开关指示灯会亮起,同时信号输出接口持续输出低电平数字信号(平时输出高电平)
    在这里插入图片描述

程序说明

  • 实验现象:
    当模块检测到有障碍物时,LED点亮;当没有检测到障碍物时,LED熄灭。

  • 电路连接:
    在这里插入图片描述

  • 主要程序:
    在这里插入图片描述

树莓派程序运行
  • 电路连接:
    在这里插入图片描述

  • 程序运行:
    Python
    安装gpiozero库
    可以使下面命令来安装该库
    在这里插入图片描述

其它树莓派上的系统可以使下面命令来安装该库:

在这里插入图片描述

运行以下语句可以查看树莓派GPIO口定义

在这里插入图片描述

下载树莓派参考例程,将文件解压后拷贝放在用户名目录下,运行

在这里插入图片描述

此时可看见树莓派在正确运行程序,若想退出,按ctrl+C即可。

指令说明:gpiozero.Button(pin, pull_up, active_state, bounce_time, hold_time, hold_repeat)

Button 继承于 DigitalInputDevice,代表一个简单的按钮或者开关按钮的一端连接地线,另一端连接到任何GPIO引脚;或者按钮的一端连接3V3引脚,另一端连接任何GPIO引脚,然后在Button的初始化构造方法设置pull_up为False。

主要参数:
pin:GPIO口编号

pull_up: 内部上下拉电阻设置,
设置为True(默认)时,GPIO引脚被拉高,需将按键的另一端接地。
设置为Flase时,GPIO引脚被拉高低,需将按键的另一端接3V3。
设置为None时,GPIO引脚悬空,gpiozero无法猜测活动状态,必须设置active_state。

active_state:
设置为True时,当硬件引脚状态为“高”,软件显示引脚状态也为“高”。
设置为False时,则输入的极性相反,当硬件引脚状态为“高”,软件显示引脚状态为“低”。
当pull_up设置为None时,使用该参数设置未知的引脚活动状态。
当pull_up设置为True或者False时,引脚的活动状态被将自动赋值。
bounce_time: 软件消抖时间。一般开关在大约20ms内信号不稳定,存在所谓的“开关抖动。

设置为None时,将不执行软件抖动补偿,否则该参数是组件在初始更改后忽略的时间长度(秒),默认1s。

hold_time: 按下按钮后直到触发when_held的时间,单位秒。

hold_repeat:
如果为True,则只要按钮持续被按下when_held会每隔hold_time时间持续被触发。
如果为False,则when_held只会触发一次。
更多指令请查看gpiozero文档

注意事项

1、正确接线,切勿将正负接反,使板子电子器件烧毁。
2、使用本模块时,避免探头阳光直射。光线对模块有干扰作用;灵敏度调节不应过高,过高的灵敏度可能引起误触发;在临界值时,会出现LED微亮,这种情况是未触发状态,此时输出为高电平。
3、使用控制板时(比如树莓派、STM32、ARDUINO等),应将MCU 的I/O口设置为输入模式/接收模式,否则无法使用;其他MC或者更为高级的控制板如 ARM 这些,若需设置I0口为输入输出模式,都必须设置为输入模式/接收模式,否则无法使用;51系列单片机可直接使用,无需设置输入输出模式。

相关资料

串口助手
红外避障模块相关资料

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐