This is the SparkFun RGB and Gesture Sensor, a small breakout board with a built in APDS-9960 sensor that offers ambient light and color measuring, proximity detection, and touchless gesture sensing. With this RGB and Gesture Sensor you will be able to control a computer, microcontroller, robot, and more with a simple swipe of your hand! This is, in fact, the same sensor that the Samsung Galaxy S5 uses and is probably one of the best gesture sensors on the market for the price.
The APDS-9960 is a serious little piece of hardware with built in UV and IR blocking filters, four separate diodes sensitive to different directions, and an I2C compatible interface. For your convenience we have broken out the following pins: VL (optional power to IR LED), GND (Ground), VCC (power to APDS-9960 sensor), SDA (I2C data), SCL (I2C clock), and INT (interrupt). Each APDS-9960 also has a detection range of 4 to 8 inches (10 to 20 cm).
One of our awesome customers has written some code for using this Gesture Sensor with the Windows 10 IoT Core here. There is no C# library so the customer converted it from the C++ library and added a helper to use it.
If you are having trouble detecting gestures while standing in front of the sensor try this tip.
In the Arduino driver, the enableGestureSensor method set the IR LED to a 300% boost. Change it to 100%, and now you should be able to stand in front of it, and it will detect all the gestures when your hand is within 10-20 cm. Edit this line: (setLEDBoost(LED_BOOST_100)) in this repository
You are not able to have custom gestures using the sensor by itself. The sensor is able to recognize basic gestures as listed in the Supported gestures section of our Hookup Guide.
You could use an Arduino microcontroller for a more complex sequence of gestures. The best would be to use the reference language and the example code for gestures to write condition statements over a period time. The condition statements would check if you swipe right and up. Try using boolean values after the sensor recognizes the gestures and changing it to TRUE if the gesture is met within a certain amount of time. You can write a counter to keep the gestures within a certain time window. If the counter exceeds a certain value, you could reset the boolean values. Once the two gesture conditions are met in the if() statement, the result would be to make a pin turn HIGH using the digitalWrite() function.
If you require a certain sequence (for example: to swipe right and hover up), try using additional values to keep track of what gesture was used first. You would have to use some more condition statements (or add an additional condition) to determine if you are using the correct gesture sequence.
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
Based on 8 ratings:
1 of 1 found this helpful:
Yes, and here's why. The sensor is 0.05" tall. If you want to flush mount it to a panel, the big cap is 0.12" high. The small R's and C's are about 0.025" tall. This makes it difficult to mount cleanly. The sensor should have been on the back where one could drill a small hole in the project box for it, and then epoxy/hot glue it in place.
OTHER than that, it works well, and the library is pretty good (except for not working on a Teensy, since the attachInterrupt() and detachInterrupt() calls are hard-coded to 0 instead of using digitalPinToInterrupt()).
1 of 1 found this helpful:
Great product. I made an nice project with it. But my project is for outside use and I need to protect it. I read the datasheet for the APDS 9660 (page 18) and they suggest to cover it with a rubber with 2 holes. I must say that it really improve the detection of the gestures especially the NEAR and the FAR. They also suggest to cover it with a 1mm with a specific Makrolon or Lexan window. I cannot find any of these products on Internet. Anybody has any suggestion? Sparkfun rocks
0 of 9 found this helpful:
Did not like being interrogated what I was going to use this for 'and respond in a full sentence' before I could purchase this. Apparently it is NOT export restricted and I was asked due to a 'glitch in the system', I was told when I followed up on what that was about. Anyway. Not impressed. Can't help wondering why I was really asked.
I am sorry you had this issue while ordering from us. This problem has been corrected and won't happen again. Thank you for the feedback!
This sensor worked exactly as described to detect gestures. I was able to use the provided software library as a reference to help write a similar library in LabVIEW and use the sensor with a myRIO.
The breakout board takes care of some wiring busywork. The APDS-9960 itself is marvelously documented (datasheet is clear, complete and one of the best I've ever seen). Documented features do what they say they'll do. And Sparkfun's existing Arduino library code is exquisitely well-commented and exhaustive—made a great launchpad to write my own (JS/Johnny-Five) support for the gesture sensor. One of the best complex multi-sensors I've ever worked with.
0 of 1 found this helpful:
First I would like to say that these sensors are awesome, they can do soo much and they are very easy to use. But just as a warning, be very careful with them. if you are prototyping and have things wired up with a header and jumpers, if you are waving your hands around the sensor and you manage to knock the ground wire off of the sensor, it will never sense again :(
While working on a final Project for my embedded systems class this past semester, my partner and I found this out it a very hard way, the weekend before our project was due. luckily SparkFun and their Awesome!!! order fulfillment team were able to get an order for two more of them placed on Saturday ready for a 10am local pickup on Monday (the same Monday the project was due). you guys rock! these Sensors are AWESOME!!!
Good documentation, easy device to be integrated in robot projects.
works very well with a raspberry pi. Sometimes the far and near gestures are a bit hard to achieve.