Infrared Proximity Sensor
| |||||||||||||||||||||
| |||||||||||||||||||||
说明
产品概述
Infrared Proximity Sensor是红外接近传感器,能发射红外线,也能接收反射回来的红外线,并反馈前方是否存在障碍物。
原理:红外发射管是由红外发光二极管矩组成发光体,用红外辐射效率高的材料(常用砷化镓)制成 PN 结,正向偏压向 PN 结注入电流激发红外光。红外接收管是将红外线光信号变成电信号的半导体器件,它的核心部件是一个特殊材料的 PN 结,随着红外光强度的增加电流也随之增大输出模拟信号。当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过 LM393 比较器处理后输出数字信号,同时绿色指示灯点亮,可通过电位器旋钮调节检测距离。
产品特性
参数名称 | 参数 |
工作电压 | 3.3V ~ 5V |
产品尺寸 | 39mm * 15.5mm(含红外管) |
固定孔尺寸 | 3.0mm |
探测距离 | 2~30 cm (不同颜色障碍物测量具体不同,白色最远) |
检测角度 | 35° |
- 推荐使用环境:模块受太阳光影响,建议在室内使用
主要用途
可以广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等场合。
接口说明
引脚 | 功能 |
DOUT | 数字量输出 |
AOUT | 模拟量输出 |
GND | 电源地 |
VCC | 电源正(3.3V-5V) |
Pico使用教程
提供Python、C例程
Pico 快速上手
硬件连接
您可以对照以下表格连线。
Proximity | Pico | 功能 |
VCC | 3.3V | 电源输入 |
GND | GND | 电源地 |
AOUT | GP26 | 模拟量输出 |
DOUT | GP22 | 数字量输出 |
火焰传感器、霍尔传感器、红外接近传感器、液位传感器、土壤传感器、气体传感器、声音传感器、紫外线传感器这些模块的引出脚一致(根据表格进行连接,图仅为参考):
基础介绍
程序下载
打开树莓派终端,执行以下命令:
sudo apt-get install p7zip-full cd ~ sudo wget https://www.waveshare.net/w/upload/0/05/Infrared_Proximity_Sensor_Demo.7z 7z x Infrared_Proximity_Sensor_Demo.7z -o./Infrared_Proximity_Sensor_Demo cd ~/Infrared_Proximity_Sensor_Demo cd Pico/c/build/
例程使用
C部分
- 以下教程为在树莓派上操作,但由于cmake的多平台、可移植的特点,在PC上也是能成功编译,但操作略有不同,需用户自行判断。
进行编译,请确保在c目录:
cd ~/Infrared_Proximity_Sensor_Demo/Pico/c/
在文件夹中创建并进入build目录,并添加SDK: 其中 ../../pico-sdk 是你的SDK的目录。 我们示例程序中是有build的,直接进入即可
cd build export PICO_SDK_PATH=../../pico-sdk (注意:务必写对你自己的SDK所在路径)
执行cmake自动生成Makefile文件
cmake ..
执行make生成可执行文件,第一次编译时间比较久
make -j9
编译完成,会生成uf2文件。 按住Pico板上的按键,将pico通过Micro USB线接到树莓派的USB接口,然后松开按键。接入之后,树莓派会自动识别到一个可移动盘(RPI-RP2),将build文件夹下的main.uf2 文件复制到识别的可移动盘(RPI-RP2)中即可。
cp main.uf2 /media/pi/RPI-RP2/
Python部分
windows环境下的使用
- 1.按住Pico板上的BOOTSET按键,将pico通过Micro USB线接到电脑的USB接口,待电脑识别出一个可移动硬盘(RPI-RP2)后,松开按键。
- 2.将python目录中rp2-pico-20210418-v1.15.uf2 文件复制到识别的可移动盘(RPI-RP2)中
- 3.打开Thonny IDE(注意:要使用最新版本的Thonny,否则是没有Pico的支持包的,当前Windows下的最新版本为v3.3.3)
- 4.点击工具->设置->解释器,如图所示选择Pico及对应的端口
- 5.文件->打开->Infrared_Proximity_Sensor.py,点击运行即可,如下图所示:
树莓派环境下的使用
- 1.刷固件的过程与Windows上一样,你可以选择在PC或者树莓派上将rp2-pico-20210418-v1.15.uf2 文件拷入pico中。
- 2.在树莓派山打开Thonny IDE (点击树莓logo -> Programming -> Thonny Python IDE ),你可以在Help->About Thonny查看版本信息
以确保你的版本是有Pico支持包的,同样你可以点击Tools -> Options... -> Interpreter选择MicroPython(Raspberry Pi Pico 和ttyACM0端口
如图所示:
如果你当前的Thonny版本没有pico支持包,输入以下指令来更新Thonny IDE
sudo apt upgrade thonny
3.点击File->Open...->python/Infrared_Proximity_Sensor.py,运行脚本即可
现象
1、传感器靠近障碍物时,模块上的信号指示灯点亮。传感器远离障碍物时,模块上的信号指示灯熄灭。
2、随着传感器与障碍物距离的变化, 串口输出的数据会发生相应改变。
STM32使用教程
我们提供的例程是基于STM32F103RBT6跟STM32H743的,提供的连接方式是对应的STM32F103RBT6的引脚为例,如果有需要使用其他STM32,请按实际引脚连接
硬件连接
Proximity | STM32 | 功能 |
VCC | 3.3V | 电源输入 |
GND | GND | 电源地 |
AOUT | PA6 | 模拟量输出 |
DOUT | PA4 | 数字量输出 |
火焰传感器、霍尔传感器、红外接近传感器、液位传感器、土壤传感器、气体传感器、声音传感器、紫外线传感器这些模块的引出脚一致(根据表格进行连接,图仅为参考):
软件说明
例程是基于HAL库进行开发的。
请在资料里面下载程序,找到STM32程序文件目录,打开Infrared_Proximity_Sensor_Demo\STM32\STM32F103RB\MDK-ARM
目录下的Infrared Proximity Sensor.uvprojx,即可看到程序。(图片只做参考)
下载成功后,运行SSCOM连接Infrared Proximity模块,就可以实时查看传感器的状态啦。
现象
1、传感器靠近障碍物时,模块上的信号指示灯点亮。传感器远离障碍物时,模块上的信号指示灯熄灭。
2、随着传感器与障碍物距离的变化, 串口输出的数据会发生相应改变。
Arduino使用教程
本例程已经在Arduino uno上测试通过,直接按下表连接Arduino uno即可
硬件连接
您可以对照以下表格连线。
Proximity | Arduino | 功能 |
VCC | 5V | 电源输入 |
GND | GND | 电源地 |
AOUT | A0 | 模拟量输出 |
DOUT | D2 | 数字量输出 |
火焰传感器、霍尔传感器、红外接近传感器、液位传感器、土壤传感器、气体传感器、声音传感器、紫外线传感器这些模块的引出脚一致(根据表格进行连接,图仅为参考):
安装编译软件(Windows教程)
运行程序
在我们提供的资料里面下载程序,并解压,再进入Infrared_Proximity_Sensor_Demo/Arduino/Infrared_Proximity_Sensor目录下
双击打开Infrared_Proximity_Sensor.ino文件。
选择你的开发板,跟对应的端口。
进行编译下载,如下图:
下载成功后,运行SSCOM连接Infrared_Proximity模块,就可以实时查看传感器的状态啦。
现象
1、传感器靠近障碍物时,模块上的信号指示灯点亮。传感器远离障碍物时,模块上的信号指示灯熄灭。
2、随着传感器与障碍物距离的变化, 串口输出的数据会发生相应改变。