A special circuit pushes the current through the emitting diode up to 0.5A for the duration of a pulse of approximately 100µs. 


  • Circuit for using with Python 
  • Circuit for using with Java     

Usage Zynq7000

To use the module with the Zynq7000 together with https://flink-project.ch/, you need a Reflective Photoelectric Sensor subdevice within flink. Connect it in the following way:

Microzed BoardModule
L14Trig
N16A0
L15A1
ADC7476Out

The sensor output has to be digitized by a ADC. Our Microzed adapter board for our experimental system already has an AD7476 incorporated for this purpose.

There are two drivers available. One for Python when using a Linux operating system and one for Java in combination with deep




Python Example

import flink

tcrt1000 = flink.FlinkReflectiveSensor()
while True:
    print("TCRT1000: value =", sense.getValue(0))


Java Example

import java.io.PrintStream;

import org.deepjava.runtime.arm32.Task;
import org.deepjava.runtime.zynq7000.driver.TCRT1000;
import org.deepjava.runtime.zynq7000.driver.UART;

public class TCRT1000Demo extends Task {
	
	static TCRT1000 sense;
	
	public void action() {
		for(int i = 0; i < 4; i++) {
			System.out.print(sense.read(i));
			System.out.print('\t');
		}
		System.out.println();
	}
	
	static {
		UART uart = UART.getInstance(UART.pUART1);
		uart.start(115200, (short)0, (short)8);
		System.out = new PrintStream(uart.out);
		System.err = System.out;
		System.out.println("TCRT1000 demo");
		
		// Initialize TCRT1000 driver for 4 sensors and start reading values
		sense = TCRT1000.getInstance();
		sense.init(4, 4, 3, 2, 1, 0); // initialize 4 sensors
		sense.start();
		
		// Create and install demo task
		Task demoTask = new TCRT1000Demo();
		demoTask.period = 1000;
		Task.install(demoTask);
	}
}