Getting Started With Proximity Sensing

The Vishay Semiconductors VCNL4000 reflectance proximity sensor combines an infrared (IR) LED and a photodetector with a second sensor that measures ambient light with a spectral response close to that of a human eye. The small sensor IC can detect an object out to about 20cm. Vishay suggests possible uses in smartphones, digital cameras, and tablet PCs. Other ideas include: hands-free light dimmers, pet door openers, industrial safety apparatus, etc.

The kit allows engineers to work with the small IC on a USB stick controlled by Vishay’s measurement-and-control graphical user interface (GUI). I recommend the kit but with a few reservations about the quality of the accompanying manual. You must decipher many sentences and try to determine what the authors mean. I had hoped for real-world examples, which the otherwise good application information lacks.

The $35 kit worked well, and the software plotted signals from the sensor that takes into account and rejects ambient light. Software reads from or writes to 11 registers via an on-chip I2C port to set operating conditions such as LED current (10mA to 200mA), an ambient light parameter, and 16-bit ambient light and proximity values.

Vishay’s software provides four views that let you examine graphs of proximity or ambient light information, current register values, and information about the VCNL4000 IC. You can see register information acquired from the sensor when you test it, but the software does not update register information in a way that lets you monitor register data during sensor operation. I had to go back to the graphed information, make a single measurement, return to the register view, and read the register information for that single sample. That’s a pain. Perhaps Vishay can include a register view that shows how the register values change during a sampling series.

The 27-page kit manual illustrates typical results when you run the software with the sensor module attached to your PC. The graphs operate with either an auto-range or a fixed scale, but the manual doesn’t explain this capability until page 22. That information should appear earlier. The GUI lets users set the LED drive current, control offset conditions and measurement rates, and apply an low-pass infinite-impulse-response (IIR) filter with as many as 20 points. The IIR function applies only to the sensor’s dynamic range and operates within the GUI software, not the sensor chip. As best I can tell, the filter simply helps users better see the underlying trends in plotted data.

During a test, the GUI displayed helpful information such as the binary code and register information for the IR LED, offset compensation, digital noise, and the latest value from the proximity sensor. The software has a few idiosyncrasies. If you press the STOPP MEASURE button, measurements stop. Press the standalone STOPP button, though, and the program exits. Yes, it’s spelled STOPP. Perhaps EXIT would do the trick.