Arduino mma7455 always 0

Hello I tried to use mma7455 vibration sensor which connected with arduino Uno wifi rev2 to detect the vibration. However the results always 0 like this:

Freescale MMA7455 accelerometer
May 2012
STATUS : 0
WHOAMI : 0
TOUT : 0
error = 1, xyz g-forces = 0.000, 0.000, 0.000
error = 1, xyz g-forces = 0.000, 0.000, 0.000
error = 1, xyz g-forces = 0.000, 0.000, 0.000
error = 1, xyz g-forces = 0.000, 0.000, 0.000
error = 1, xyz g-forces = 0.000, 0.000, 0.000

My vision is 1.8.9 and the code is from:

And I connect the sensor like this:

Could someone help me?Thanks!

Hi. The problem is that, unlike the Uno, which has the I2C bus on pins A4/A5 as well as the SDA/SCL pins, on the Uno WiFi Rev2 the I2C bus is only available on the pins marked SCA and SCL. So move your MMA7455 connections from pins A4 and A5 to pins SCA and SCL and the problem should be solved.

I tried but the result is like this:

Freescale MMA7455 accelerometer
May 2012
STATUS : 5D
WHOAMI : 5D
TOUT : 93
error = 1, xyz g-forces = 0.000, 0.000, 0.000
error = 1, xyz g-forces = 0.000, 0.000, 0.000
error = 1, xyz g-forces = 0.000, 0.000, 0.000
error = 1, xyz g-forces = 0.000, 0.000, 0.000

The code is from Arduino Playground - MMA7455

In that code, there are these lines:

  // Initialize the MMA7455, and set the offset.
  error = MMA7455_init();
  if (error == 0)
    Serial.println("The MMA7455 is okay");
  else
    Serial.println("Check your wiring !");

So I would expect your code to contain either the text "The MMA7455 is okay", or "Check your wiring !", but it doesn't contain this text. Why is that? Did you modify the code?