红外避障传感器的工作原理主要依赖于红外线特性,传感器是由红外发射管和红外接收管组成,会对探头正前方环境进行探测。通过发射出一束红外光并接收其反射回来的信号来工作。当收到反射的信号后,会产生相应的电压信号。 通过传感器的原理,我们可以用来做机器人循迹、避障或流水线计数等!


| 红外避障传感器原理图 | 传感器资料 |
教程思路:使用树莓派开发板+避障传感器+报警器打造一个自动检测前方是否有障碍物出现并显示+报警。
| 红外避障传感器 | 树莓派开发板 |
| VCC | 5V |
| GND | GND |
| OUT | GPIO29(BCM21) |
| 5V两线报警器 | 树莓派开发板 |
| 红线-正极 | GPIO28(BCM20) |
| 黑线-负极 | GND |


按上述连接方式,将树莓派传感器报警 一起连接好后。将下列Python程序代码直接运行并查看结果。
import RPi.GPIO as GPIO
import time
# 初始化 GPIO 模块,设置 GPIO21 和 GPIO20 为输入和输出
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN, pull_up_down=GPIO.PUD_UP) # GPIO21 作为输入,上拉
GPIO.setup(20, GPIO.OUT) # GPIO20 作为输出
try:
while True:
input_state = GPIO.input(21) # 读取 GPIO21 的状态
if input_state == GPIO.HIGH: # 高电平(正常)
print("前方正常")
GPIO.output(20, GPIO.LOW) # GPIO20 输出高电平
else: # 低电平(障碍物)
print("请注意,有障碍物")
GPIO.output(20, GPIO.HIGH) # GPIO20 输出低电平
# 每秒检查一次,你可以根据需要调整检查频率
time.sleep(1)
except KeyboardInterrupt: # 用户按下 Ctrl+C 退出程序
print("检测到用户中断,清理 GPIO...")
finally:
GPIO.cleanup() # 清理 GPIO 口,释放资源效果如下:当探头被遮挡后,会显示:”请注意 有障碍物“ 报警器也会发出响声。 反之则提示:“前方正常”。
