The FindBall NXT
The FindBall NXT is a sensor specifically made to locate a 40KHz modulated IR signal, as used by the RoboCup Junior balls. Tris10 claim that it is currently the best sensor for this purpose on the market. It has high resistance to interference such as other IR sources, bright sunlight and other lights. It has uses 5 internal IR sensors and an onboard processor to filter the data and make it available over I2C to the NXT or EV3. It has the ability to lock onto an IR ball’s signature, allowing you to track it.
The datasheet reveals that it has a number of registers available for reading. You can read it like a normal Ultrasound sensor and get the sensor number which is currently receiving the strongest signal. This will give you a sense of direction of the source of the signal. You can also query all of the signal strengths individually, allowing you to do whatever other processing you’d like to do.
I took mine apart, which in retrospect I probably shouldn’t have. Here are some pictures of its guts!
The trouble with me having opened it, is that I have IR light bleeding in between the lid and the body. Normally these are shipped with the lid firmly and securely glued to the body but because I asked for mine to be removable, they only used a tiny bit of glue. If I fix it properly, I won’t be able to show off its guts to anyone again. It’s a bit of a toss-up! Testing the sensor proved to be quite a challenge because of the light bleeding in. I solved it by covering the EmitIR with some electrical tape, thereby reducing its output by a couple of order of magnitude. After that, the sensor worked very nicely and I was able to write a driver and two test programs for it. You can find them in the Github repository: [LINK]. More info on how to fetch the files from there, check out my article here: [LINK].
The only bad thing I could think of about this sensor was the fact that they’re using an even-sized mounting grid. Studless Technic uses an odd-sized mounting grid, so that will make centering it a bit more challenging, but certainly not impossible. I really like the bright red colour and the case is quite smooth and well finished for a 3D printed product. The 3 pins should provide more than enough force to keep the sensor attached to your robot, even in case of a collision.
The EmitIR is a great little device if you need a low cost 40KHz IR signal for testing your tracking with. It emits the same kind of signal as a RoboCup Junior soccer ball and can be powered with a USB cable. The EmitIR is shipped with a 6 pin header, which you can solder on, if you chose to. That would allow you to power it with an external power supply, like a battery, instead of USB. Using pins 2 and 3 in various configurations, you can switch modes or reduce the signal strength to test long range detection. You can find out more about those modes here: [LINK].
The EmitIR is also shipped with a red protective sheath, into which the PCB fits very snugly. It is great to see that even smaller companies can now make good looking cases for their sensors without having to invest in $15-20K plastic molds.