Een TCRT5000 optische tracking sensor kun je gebruiken voor het detecteren van reflecterende materialen. Zo kun je er bijvoorbeeld een robot een bepaald traject laten volgen, stroommeter pulsen detecteren of een object detecteren op 12 mm afstand. Natuurlijk is het mogelijk om de sensor aan te sluiten op een Raspberry Pi, volg hiervoor de onderstaande stappen.
Gebruikte componenten
• TCRT-5000 tracking sensor module
• 3x Dupont verbindingskabels female/female
Raspberry Pi Zero, Raspberry Pi 2, Raspberry Pi 3
Raspbian Jessie (2016-05-27 kernel 4.4.13)
Aansluitschema
Raspberry Pi | TCRT5000 module |
---|---|
5V (PIN #2) | VCC |
GND (PIN #6) | GND |
GPIO 17 (PIN #11) | DO |
TCRT5000 python script
Nadat de sensor is aangesloten kunnen we de werken gaan testen, hiervoor maken we gebruik van het onderstaande Python script. Omdat we alleen GPIO poort #17 gebruiken hoeven we niet I2C of SPI te activeren.
#!/usr/bin/env python | |
# TCRT5000 tracking sensor | |
# https://raspberrytips.nl/tcrt5000 | |
import RPi.GPIO as GPIO | |
TrackingPin = 11 | |
def setup(): | |
GPIO.setmode(GPIO.BOARD) | |
GPIO.setup(TrackingPin, GPIO.IN, pull_up_down=GPIO.PUD_UP) | |
def loop(): | |
while True: | |
if GPIO.input(TrackingPin) == GPIO.LOW: | |
# Detectie wit oppervalk (of voorwerp bij sensor) | |
print '[wit | object]' | |
else: | |
# detectie zwart oppervlak (of geen voorwerp bij sensor) | |
print '[zwart | geen object]' | |
def destroy(): | |
GPIO.cleanup() | |
if __name__ == '__main__': | |
setup() | |
try: | |
loop() | |
except KeyboardInterrupt: | |
destroy() |
Kopieer het bovenstaande script of download deze op je Raspberry Pi met:
wget https://raspberrytips.nl/tcrt5000sensor.py
Activeer het script:
python tcrt5000sensor.py
Wanneer er geen object aanwezig voor de sensor aanwezig is of als deze is gericht op een zwart oppervalk dan zal in het terminal venster [zwart | geen object]
worden weergeven. Plaats je nu je hand voor de sensor of een wit oppervlak dan zal [wit | object]
worden weergegeven.
Het script controleert de status van GPIO #17, is er een object gedetecteerd dan wordt deze ‘low’ gezet, is er geen object dan is de status ‘high’. Je kunt hierdoor de sensor gebruiken als bijvoorbeeld een handsfree schakelaar. Een andere toepassing kan zijn het monitoren van de gas-, water- of stroommeter.
Wil je afstanden tot een bepaald object meten dan kun je een HC-SR04 ultrasone sensor gebruiken.