HiTechnic EOPD Sensor
The HiTechnic EOPD Sensor is an Electro-Optical Proximity Detector. Electro-Optical? This means an electronic device which uses visible light as part of its operation.
The HiTechnic EOPD is similar to a standard light sensor except that it uses pulsed light to effectively eliminate the interference of ambient or background light from the reading. By using pulsed light, the brightness during the pulse can be relatively bright but remain safe because the average power output is very low. The sensor reads the difference between the light measurement at the detector before the pulse is emitted and the light measurement during the pulse. It then subtracts the difference so the reading is a direct measurement of the reflected light energy after removing any dependence on ambient light.
The EOPD sensor has two modes of operation, x1 sensitivity and x4 sensitivity. In x4 sensitivity mode, the HiTechnic EOPD can easily detect the red ball which comes with the LEGO MINDSTORMS NXT set at a range of at least 15 cm (approx. 6 inches). Since the sensor can be overloaded by close white targets, the x1 sensitivity mode can be used for detecting the position of LEGO pieces, such as a small white part attached to a black beam, used as a mechanism home detection device.
The HiTechnic EOPD can be read at up to 300 samples per second. Internally, the EOPD sensor actually runs at between 350 to 400 samples per second to ensure there is always a new reading for the NXT at 300 samples per second.
Each HiTechnic EOPD runs at a slightly different sampling rate which means they can be used near each other with a minimized chance of interference.
Raw Readings v Corrected Readings
The first plot shows the raw readings from the sensor ( y axis) versus the range to the red ball in inches ( x axis). The blue line is the x1 mode while the pink line is the x4 mode.
The second plot shows the result of computing range=cal.factor/sqrt(raw.reading). The actual range is the x axis while the y axis shows the computed range value.
MINDSTORMS NXT-G Programming Block
- This number shows which NXT sensor port is selected to connect the EOPD. You can change this number in the configuration panel Port selection or by wiring a variable to the port plug on the drawer.
Configuring the EOPD Block
- Choose the port your EOPD is plugged into. By default, the block will be set to port
1 for the EOPD. You can change this selection if you want.
- Use the slider to set the trigger value or type a value directly into the input box. Select the radio button to the right of the slider if you want the block to be triggered by levels higher than the trigger value; select the left radio button to trigger the block with levels lower than the trigger value. You can also use the pull-down menu to set the “true” portion of the slider.
- If you check the “Long Range” checkbox, the EOPD sensor will adjust the sensitivity to detect objects over a longer distance.
EOPD block Data Hub plugs
You must click on the Data Hub to open it as shown.
- This plug wires the NXT port number your EOPD is connected to.
- This plug wires the value to compare against for the trigger.
- This plug wires the logic used in the trigger comparison.
- This plug wires the Long Range selection.
- This plug wires the result of the trigger comparison.
- This plug wires the processed value from the sensor.
- This plug wires the raw value from the sensor.
Examples showing the logical result.
This chart shows the different characteristics of the plugs on the EOPD block's data hub:
|Plug||Data Type||Possible Range||What the Values Mean|
|Port||Number||1, 2, 3 or 4||NXT sensor port the EOPD is plugged into|
|Trigger Point||Number||0 - 1023||Value to compare against|
|Greater / Less||Logic||True/False||
Logic used in comparison. True = Greater, False = Less
|Long Range||Logic||True/False||Select Long Range Mode
True = Long Range, False = Standard Range
|Yes / No||Logic||True/False||Result of comparison|
|Result||Number||0 - 100||Processed or scaled value read from sensor. This is useful to calculate a relative distance * see note|
|Raw Value||Number||0 - 1023||Raw (unscaled) value read from sensor|
*Note: This value is derived from the square root of the raw value and can be divided into a constant to calculate distance to a target. The constant should be chosen to yield the distance in desired units. You can choose the units to suite each application. For example, divide 250 (the constant) by the processed value and the result will be a linear scale representing distance units to the target. If you change the constant to a larger number, say 350, the resulting scale will have more (smaller) units for a given distance.
|HiTechnic EOPD Sensor Block for Mindstorms NXT Software||1.0||February 18th, 2009||201.96 KB||Download Now|
|EOPD VI For LabVIEW2009||1.0||October 6th, 2010||81.11 KB||Download Now|
|EOPD Sensor VI||1.0||April 2nd, 2009||38.25 KB||Download Now|