Description
This project is inspired by the DPRG IRPROX project. They have a pretty good PCB layout and idea. I would like to thank them for posting their project for all of us to see and learn from, I wouldn’t have started PIC programming without them, or at least not nearly as quickly come up to speed! The pinout on my board allows either a five-wire or a four-wire connection to be made the former uses a disable line if desired. You can also put in a resistor or use a trimpot to adjust range. The trimpot locations are very generic, most pots will fit. Be careful not to adjust pot to 0 ohms! The IR proximity detector works very well, even in a brightly lit “noisy” environment. Instead of modulating the IR LED for 600us and then looking for a detection, I now look for a detection after every on/off cycle of an IR LED and count the number of hits that I get. I also look during the ‘off’ cycle when none of the IR LEDs are on and count the number of false hits that I get there. If I get more good hits than false hits then I say its a true detection. I then increment a counter as a sort of timer, when it passes a certain threshold, I notify a hit. At this time I check to make sure that a minimum number of good hits has been attained. At the same time I keep track via another time-out counter of noise hits. When this counter passes a certain threshold it then removes any detection that has been set. I fiddled a lot with the various threshold values for minimum number of good hits, time-out values and divisors for updating the false hit counts, and finally settled on the ones that currently used. I’m calling it a success and moving on to other projects! The source code for the, uhm, DLC IR proximity detector can be downloaded below as well as the PDF documentation for this kit.