Go Down

Topic: APDS 9960 Gesture sensor not working (Read 2809 times) previous topic - next topic

boxhillcar

Hi All

I have several of the 9960 gesture sensor, i have used it on both UNO and MEGA. i can get the colour sensor to work but when i try to run the Gesture code out of the example code on arduino ide , i get this error on the serial log, and then nothing after that, i have tried several other modules but to no avail.

i have ensured that it is powered by the 3.3volt and not 5volt

any ideas?

===================================

SparkFun APDS-9960 - GestureTest
--------------------------------
Something went wrong during APDS-9960 init!
Gesture sensor is now running

==================================

 

pylon

Did you use a level converter to connect the APDS 9960 to the UNO/Mega? The device must not have more than 3.8V on any of it's pins and both the UNO and the Mega have 5V on their I2C pins by default. You might have damaged the chip(s) already.

boxhillcar

oh god,

no converter, i just plugged it in as per spark funs website

pylon

What breakout board do you use (you cannot connect the sensor without a breakout board, it's to tiny for that)? Post a link to the product! Post a wiring diagram.

Connecting to the UNO possibly did not damage it as the internal pullups are quite weak and may not have delivered enough current to do any harm. I'm not sure about the Mega though...

boxhillcar

#4
Feb 07, 2018, 11:09 am Last Edit: Feb 07, 2018, 11:16 am by boxhillcar
hey man

thanks for your response,

link is below

https://www.ebay.com.au/itm/RGB-Gesture-Proximity-Sensor-Module-I2C-Breakout-for-Arduino-APDS-9930/262929720379?hash=item3d37d5243b:g:sLMAAOSwmgJY6e32


picture attached,

yeah i am not too sure, maybe because i bought it of ebay.

pylon

Quote
https://www.ebay.com.au/itm/RGB-Gesture-Proximity-Sensor-Module-I2C-Breakout-for-Arduino-APDS-9930/262929720379?hash=item3d37d5243b:g:sLMAAOSwmgJY6e32
This looks like an exact clone of the sparkfun board with the only change that cheaper parts are used and the sparkfun logo was removed.

The problem with these boards is that you don't know if you really got a APDS 9960 or just dummy chip that looks like the original one.

The capacitor seems to be a much smaller variant but I doubt that this disables the I2C interface.

The good news is that the board has pull-ups to 3V3, so at least if connected to an UNO the chip shouldn't get damaged as the voltage should be inside the allowed range (the two pull-ups build a voltage divider and the internal pulls resistors are very weak).

boxhillcar


pylon

Quote
i may have been ripped off here  :o
Because of what? Please define what parts you don't understand.

boxhillcar


panaroni

I bought a clone from ebay as well.. the sparkfun library works great.. all examples seem to work but gesture example.  it shows initialization complete.. gesture now running.. but nothing..   I bought this one that is sold as a sparkfun unit..  https://www.ebay.com/itm/APDS-9960-APDS9960-RGB-Gesture-Breakout-Module-Infrared-Move-Sensor-I2C/162236371860

reading around I'm seeing lots of people having problems with that particular gesture file while it appears the other examples are working for more people..

pylon

Quote
I bought this one that is sold as a sparkfun unit.. 
I might be sold as that but it isn't. Sparkfun boards are red and they put their logo on it.
Buying cheap Chinese stuff might always result in hardware that doesn't react as expected. I only tried that sensor on 3V3, never tried it with 5V Arduino so it's possible that this sensor is reacting more sensitive on over-voltages in different modes.

bodmer

#11
Apr 21, 2018, 04:45 pm Last Edit: Apr 21, 2018, 04:47 pm by bodmer
I have found these low cost sensors off Alexpress etc work fine if the LED current is reduced.

The problem with these boards is that they do not have sufficient decoupling capacitance fitted to be able to cope with the full boost current for the IR LED.

The trick is to change this line in the library .cpp file to read:

Code: [Select]

    if( !setLEDBoost(LED_BOOST_100) ) {


If the gesture sketch still does not work then the current can be reduced further by changing this line in the library .h file to:

Code: [Select]

#define DEFAULT_LDRIVE LED_DRIVE_50MA


and also this line to:

Code: [Select]

#define DEFAULT_GLDRIVE LED_DRIVE_50MA



The sensor will also work with the unmodified library, but you must first add an additional 100uF capacitor (e.g. polarised electrolytic) between the GND and VCC pins (negative of electrolytic to GND), on the board.  The leads to this capacitor need to be short.


shrajna15

I got an output on serial monitor that my gesture sensor is working but it doesn't log any gestures....kindly help

pylon

Quote
I got an output on serial monitor that my gesture sensor is working but it doesn't log any gestures....kindly help
First: open your own thread if you don't have an immediate follow-up for the previous thread content.

If you need help, post all relevant information. Your post is missing the links to the used hardware (I doubt that you use the APDS 9960 without a breakout board) and the used libraries. You should also post a wiring diagram of your setup as well as the code of the sketch you were running (don't forget the code tags, that's the </> button in the editor). Also post the output your sketch is producing.

ronin_boss

#14
Aug 18, 2019, 10:21 pm Last Edit: Aug 18, 2019, 10:27 pm by ronin_boss
I solved the problem with the Chinese clones !!!!!!!!!!!!!! After about 2 months of torment. The ones that do not go to read the gestures but the other functionalities go .... those that receive the message "Something went wrong during APDS-9960 init!"... In the library, check if the sensor id is 0xAB .. but the id of the Chinese ones is 0xA8 . at least mine ... So ... you need to change in SpurkFun_APDS9960.h line #define APDS9960_ID_1 0xAB with 0xA8 .. and ready. if you use ESP8266 you still have to play with GAINE and BOOST on LEDs for more precise functionality .. other modules may have other ids.
aa. and something else. you can use gestures without interrupting pin.
In setup, at apds.enableGestureSensor (true) use (false) and modify the sketch.
Anyone who wants more details can contact me at ronin_boss@yahoo.com

Go Up