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 Diagram
- Circuit for using with Python
- Circuit for using with Java
Data Sheet
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 Board | Module |
---|---|
L14 | Trig |
N16 | A0 |
L15 | A1 |
ADC7476 | Out |
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
TCRT1000Example.py
import flink tcrt1000 = flink.FlinkReflectiveSensor() while True: print("TCRT1000: value =", sense.getValue(0))
Java Example
LCDExample.java
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); } }