一、介绍
红外跟踪循迹传感器使用TCRT5000循迹模块。TCRT5000采用的是蓝色的LED发射管,通电后发出人眼看不到的红外线。传感器的黑色部分用于接收,内部电阻器的电阻随所接受的红外光而变化。
二、组件
★Raspberry Pi 3主板*1
★树莓派电源*1
★40P软排线*1
★循迹传感器模块*1
★双色LED模块*1
★面包板*1
★跳线若干
三、实验原理
循迹传感器1
循迹传感器2
循迹传感器模块原理图
循迹的检测原理是红外发射管发射光线到路面,红外光遇到白线等颜色较浅的地面则被反射,接收管接收到反射光,经施密特触发器整形后输出低电平;当红外光遇到黑线等颜色较深的地面时则被吸收,接收管没有接收到反射光,经施密特触发器整形后输出高电平。
四、实验步骤
第1步: 连接电路。
树莓派 | T型转接板 | 循迹传感器 |
---|---|---|
GPIO0 | G17 | SIG |
5V | 5V | VCC |
GND | GND | GND |
树莓派 | T型转接板 | 双色LED灯 |
---|---|---|
GPIO1 | G18 | R |
- | - | G |
GND | GND | GND |
循迹传感器实验电路图
循迹传感器实验实物接线图
第2步: 我使用的是数字输出DO口,所以控制程序很简单。运行程序,不断循环打印检测信息。当检测到白色物品时打印'White line is detected',且LED灯亮红色;当检测到黑色物品时,打印'...Black line is detected',LED灯熄灭。
代码语言:javascript复制#!/usr/bin/env python
import RPi.GPIO as GPIO
TrackPin = 11
LedPin = 12
def setup():
GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location
GPIO.setup(LedPin, GPIO.OUT) # Set LedPin's mode is output
GPIO.setup(TrackPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.output(LedPin, GPIO.LOW) # Set LedPin LOW to off led
def loop():
while True:
if GPIO.input(TrackPin) == GPIO.LOW:
print 'White line is detected'
GPIO.output(LedPin, GPIO.HIGH) # led on
else:
print '...Black line is detected'
GPIO.output(LedPin, GPIO.LOW) # led off
def destroy():
GPIO.output(LedPin, GPIO.LOW) # led off
GPIO.cleanup() # Release resource
if __name__ == '__main__': # Program start from here
setup()
try:
loop()
except KeyboardInterrupt:
# When 'Ctrl C' is pressed, the child program destroy() will be executed.
destroy()
实验结果示例:
实验结果