Connect a Gesture sensor paj7620u2 to an M5Paper
-
Good morning
I'm trying to connect the gesture sensor unit (https://shop.m5stack.com/collections/m5-sensor/products/unit-gesture-recognition-sensor-paj7620u2) to an M5 Paper.
To do that I'm just using part of the code of the example but adapting it to the M5paper (just using the M5paper libraries) https://github.com/m5stack/M5Stack/blob/master/examples/Unit/GESTURE_PAJ7620U2/GESTURE_PAJ7620U2.ino
Unfortunately it fails in the initialization of the sensor (begin function) More info https://github.com/m5stack/M5Stack/blob/master/examples/Unit/GESTURE_PAJ7620U2/GESTURE_PAJ7620U2.ino
The example says to connect the sensor to port A (G21/G22) on an M5Core but the M5paper uses different pins, I've tried connecting the sensor in Port A, B and C with no success
Any idea about how to solve this issue?
the example works without any problem on an M5Stack fire!
kind regards
-
Hello @jcarolinares
have a look at this thread explaining the internal I2C bus (using
Wire
) and external I2C bus (usingWire1
) used in M5Paper. You'll need to modify the gesture library to useWire1
(instead ofWire
) with the GPIOs used on port A.Thanks
Felix
-
Hello @jcarolinares
in case you are still looking for a solution. I've received my gesture unit and did a quick test. The library allows to pass the
Wire1
instance so it's quite straight forward.#include <M5EPD.h> #include <DFRobot_PAJ7620U2.h> M5EPD_Canvas canvas(&M5.EPD); DFRobot_PAJ7620U2 paj(&Wire1); void setup() { M5.begin(true, false, true, true, false); Wire1.begin(25, 32, 400000U); while(paj.begin() != 0) { Serial.println("check PAJ7620U2"); delay(500); } Serial.println("PAJ7620U2 success"); paj.setGestureHighRate(true); M5.EPD.SetRotation(90); M5.EPD.Clear(true); M5.RTC.begin(); canvas.createCanvas(540, 960); canvas.setTextSize(3); canvas.drawString("Hello World", 10, 10); canvas.pushCanvas(0, 0, UPDATE_MODE_DU4); } void loop() { DFRobot_PAJ7620U2::eGesture_t gesture = paj.getGesture(); if(gesture != paj.eGestureNone) { canvas.fillCanvas(0); canvas.drawString(paj.gestureDescription(gesture), 10, 10); canvas.pushCanvas(0, 0, UPDATE_MODE_DU4); } }
Thanks
Felix