树莓派基础实验33:TCRT5000红外循迹传感器实验

2020-09-27 10:37:14 浏览数 (1)

一、介绍

  红外跟踪循迹传感器使用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()

  实验结果示例:

实验结果

0 人点赞