一、介绍
红外跟踪循迹传感器使用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灯熄灭。
#!/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()
实验结果示例:
实验结果
网友评论