Vibration and Sound measurement through LCD

Hi guys, I've been working on this, and think that the coding part is almost complete for the most part. I am just encountering the problem that the output (on my LCD) of the vibration meter is jumping up and down. In resting state it jumps between values from -0.1 to around 0.250 (the value is supposed to be at or almost at 0 of course, that is another problem I have that I hope to be able to fix through finding/adding a scale factor to it).

I am attaching the vibration meter to a DC motor that I have. I also have a "professional" vibration meter to compare it to my "self built" vibration meter. The professional one gives me an output of around 2G, which sounds about right. My self built one just jumps to values from 0 to 3.5G.
Now I am not sure why it jumps up and down, I want to find out if it's in the code, or if it's because of the motor. Do I need to tweak and adjust the code a little? What do you guys think?

void vib() {
  // read the sensor and store it in the variable sensorReading:
  sensorReading = analogRead(knockSensor);    

  // if the sensor reading is greater than the threshold:
  if (sensorReading >= threshold) {   // toggle the status of the ledPin:
    
    ledState = !ledState;             // update the LED pin itself:    
        
    digitalWrite(ledPin, ledState);

    lcd.setCursor(0, 1);
    float Vsense = analogRead(knockSensor) * 0.00489; // ADCcount/1023 = Vsense/5
    float G = Vsense/0.2;
      
    if (i >= values) {
    i = 0; 
    sum = sum/values;
    lcd.setCursor(0, 1);
   
    lcd.print(G);
   
    sum = 0;
    }
    else { 
    sum += sensorReading;
    i++;
    }
  }
  delay(10);  
  lcd.setCursor(6, 1);
  lcd.print("G");
}