红外避障传感器的工作原理主要依赖于红外线特性,传感器是由红外发射管和红外接收管组成,会对探头正前方环境进行探测。通过发射出一束红外光并接收其反射回来的信号来工作。当收到反射的信号后,会产生相应的电压信号。 通过传感器的原理,我们可以用来做机器人循迹、避障或流水线计数等!
红外避障传感器原理图 | 传感器资料 |
教程思路:使用树莓派开发板+避障传感器+报警器打造一个自动检测前方是否有障碍物出现并显示+报警。
红外避障传感器 | 树莓派开发板 |
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 口,释放资源
效果如下:当探头被遮挡后,会显示:”请注意 有障碍物“ 报警器也会发出响声。 反之则提示:“前方正常”。