     motorRight.MoveTo(angleNow, 70); 
     serialFeedback();
     delay(1000);
-}
-
-void moveStraight(int millimeter) {
-    // motorLeft.MoveTo(360*500, carSpeed);
-    // motorRight.MoveTo(360*500, -carSpeed);
-    motorLeft.RunTurns(50, -carSpeed);
-    motorRight.RunTurns(50, carSpeed);
-    // delayMicroseconds(1);
-    delay(5000);
-    // delay(1000);  
 }
 
 void startSlowly() {

void loop()
{
    // startSlowly();
    // moveStraight();
    // stopSlowly();
    // turnToDegree(90);
    turnRight();
    // delay(3000);
    grabOneTube(); 
}

// pre: the diameter of the wheel is motorDiameter
//      the radius to turn is DiameterToTurn
//      the angle the motor should turn could be calculated as 
//      motorDiameter * angleMotor =  angleTurning * DiameterToTurn
const int motorDiameter = 63; // in millimeter
const int DiameterToTurn = 1800; // in millimeter

int angleNow = 0;
// post: Turning left for the given angle
void turnToDegree(int angleTurning) {
    // stopSlowly();
    int angleTotal = angleTurning * DiameterToTurn / motorDiameter;
    int turnsTotal = angleTotal / 360;
    int angleLeft = angleTotal % 360;
    angleNow += 180;
    motorLeft.MoveTo(angleNow, 70);
    motorRight.MoveTo(angleNow, 70);

        arm.write(rise);
        delay(500); 
        
        // moveStraight(40); // this command wasn't built yet
        delay(1000);
        
        receivedCommand = Serial1.read();
