   is_moving = true;
   is_rotation = true;
   is_forward = right;
+  previous_millis_moving = millis();
 }
 void robotStop(){ 
   analogWrite(PIN_MOTOR_A_ENABLE, 0); 

    
    if (input_buffer.length()) {
      int last_char = input_buffer.indexOf('&');
      if (last_char != -1) {
        switch (input_buffer[0]) {
          case '1': //moveTo
          case '3': //moveToByTime
            {
              moving_time = input_buffer.substring(2, last_char - 1).toInt();
              robotMove(input_buffer[1] == '1');
            }
            break;
          case '2': //rotateTo
          case '4': //rotateToByTime
            {
              moving_time = input_buffer.substring(2, last_char - 1).toInt();
              robotRotate(input_buffer[1] == '1');
            }
            break;

              int intensity = map(input_buffer.substring(2, 4).toInt(), 0, 100, 0, 255);
              int period;
              if (intensity) {
                period = input_buffer.substring(5, last_char).toInt();
              } else {
                period = 0; 
              }
