questions about motor_shield_rev3

I'm not sure this is appropriate place to ask
I have motor shield and should use this (many 5V and gnd pins make me happy..!)
and I should use pins for pwm, dir, brake for other purpose.
then I should cut the pin for that? (then connected to arduino not shield)
and this shield could use on the arduino 101 too?
please help me!

Do not cut any pins yet.
Can you give us a link to your motor shield? There are many and we do not want to guess.
Many manufacturers of shields include a tutorial with code and wiring diagrams. Have you looked for those?

I expect kosh is referring to the official Arduino shield.

No, most of those pins are necessary. There may be some applications where you only need the motor to spin one way, so you could cut the direction pin and hardwire it to 5V or ground.

Usually you need shields to pass through all sigmal pins to the shields stacked on top. So you cut the copper track on the shield. But you should cut whatever you want to make it work how you want.

MorganS:
I expect kosh is referring to the official Arduino shield.

No, most of those pins are necessary. There may be some applications where you only need the motor to spin one way, so you could cut the direction pin and hardwire it to 5V or ground.

Usually you need shields to pass through all sigmal pins to the shields stacked on top. So you cut the copper track on the shield. But you should cut whatever you want to make it work how you want.

Yes like you told me. Mine is official two channels motor shield
and it seems like my code works very fine without cut any pins
I just wanted to be sure whether it works fine or makes errors
Additionally this is my code running on my arduino101 and shield

#include <Servo.h>

Servo DownServo;
Servo UpServo;
const byte Buzz = 6;
const byte Laser = 5;
const byte UpServoPin = 3;
const byte DownServoPin = 9;

const byte Back_echo = 10;
const byte Back_trig = 11;
const byte Front_echo = 12;
const byte Front_trig = 13;
float Front_Distance;
float Back_Distance;

boolean L_state_1 = true;
boolean L_state_2 = true;
boolean L_state_3 = true;
boolean B_state = false;
int data[2];

int ledState = HIGH;
unsigned long previousMillis = 0;
const long interval = 500;
const byte LED1 = 7;

#define On 70
#define Off 0
unsigned long prev_Millis = 0;
unsigned long interval2;
int BuzzerState = Off;


volatile int count = 0;
const byte Hall_D = 8;

/*
 * true  true  true    →→   Serial.write(회전횟수)
 * true  true  false   →→   Serial.write(노말레이저)
 * true  false true    →→   Serial.write(왼쪽직각)
 * true  false false   →→   Serial.write(오른쪽직각)
 * false true  true    →→   Serial.write(왼쪽평행)
 * false true  false   →→   Serial.write(오른쪽평행)
 * false false true    →→   Serial.write(뒤초음파거리)
 * false false false   →→   Serial.write(앞초음파거리)
*/
/**********************************************************************************************************************/

void setup(){
  Serial.begin(57600);

  DownServo.attach(DownServoPin);
  UpServo.attach(UpServoPin);
  DownServo.write(85);
  UpServo.write(85);

  pinMode(Laser, OUTPUT);
  pinMode(LED1, OUTPUT);
  pinMode(Back_echo, INPUT);
  pinMode(Back_trig, OUTPUT);
  pinMode(Front_echo, INPUT);
  pinMode(Front_trig, OUTPUT);
  pinMode(Buzz, OUTPUT);

  digitalWrite(LED1,HIGH);
  analogWrite(Buzz,Off);
  Serial.flush();
/*
 * if(digitalRead(Hall_D) == HIGH)
 *  Rotation = false;
 * else if(analogRead(Hall_D) == LOW)
 *  Rotation = true;
 *  Last_Rotation = Rotation;
*/
  attachInterrupt(digitalPinToInterrupt(Hall_D), Calculation, RISING);
}

void loop() {
  Change_state();
  doing_by_state();
}

/************************************************************************************/

float Back_Ultra(){
  float duration, distance;
  digitalWrite(Back_trig, HIGH);
  delay(10);
  digitalWrite(Back_trig, LOW);
  duration = pulseIn(Back_echo, HIGH);
  distance = ((340 * duration) / 10000) / 2;
  return distance;
}

/************************************************************************************/

float Front_Ultra(){
  float duration, distance;
  digitalWrite(Front_trig, HIGH);
  delay(10);
  digitalWrite(Front_trig, LOW);
  duration = pulseIn(Front_echo, HIGH);
  distance = ((340 * duration) / 10000) / 2;
  return distance;
}

/************************************************************************************/

void Change_state()
{
  if(Serial.available()){
    for(int i = 0; i < 2; i++)
    {
      data[i] = Serial.read();
    }
  }
  if(data[0] + data[1] == 135)
  {
         if(data[0] == 50 || data[0] == 85){B_state = true;}  // 부저함수로 거리비례를 한다.
    else if(data[0] == 51 || data[0] == 84){B_state = false;} // LED 반짝임을 끈다.
    else if(data[0] == 52 || data[0] == 83){L_state_1 = false; L_state_2 = false; L_state_3 = true; }   // 뒷초음파
    else if(data[0] == 53 || data[0] == 82){L_state_1 = false; L_state_2 = false; L_state_3 = false;}   // 앞초음파
    else if(data[0] == 54 || data[0] == 81){L_state_1 = true;  L_state_2 = true;  L_state_3 = true; }   // Nothing
    else if(data[0] == 55 || data[0] == 80){L_state_1 = true;  L_state_2 = false; L_state_3 = true; }   // 왼쪽직각
    else if(data[0] == 56 || data[0] == 79){L_state_1 = true;  L_state_2 = false; L_state_3 = false;}   // 오른쪽직각
    else if(data[0] == 57 || data[0] == 78){L_state_1 = false; L_state_2 = true;  L_state_3 = true; }   // 왼쪽평행
    else if(data[0] == 58 || data[0] == 77){L_state_1 = false; L_state_2 = true;  L_state_3 = false;}   // 오른쪽평행
    else if(data[0] == 59 || data[0] == 76){L_state_1 = true;  L_state_2 = true;  L_state_3 = false;}   // 회전횟수
  }
}

/************************************************************************************/

void doing_by_state()
{
       if(B_state == true) { Buzzer(); Blinking(); }
  else if(B_state == false){ digitalWrite(LED1, HIGH); analogWrite(Buzz,Off); }
       if(L_state_1 == false && L_state_2 == false && L_state_3 == true ){ int dist =  Back_Ultra(); delay(1); Serial.write(dist); }   // 뒷초음파
  else if(L_state_1 == false && L_state_2 == false && L_state_3 == false){ int dist = Front_Ultra(); delay(1); Serial.write(dist); }   // 앞초음파
  else if(L_state_1 == true  && L_state_2 == true  && L_state_3 == true ){ digitalWrite(Laser, LOW);  DownServo.write(85); UpServo.write(85); }       // Nothing
  else if(L_state_1 == true  && L_state_2 == false && L_state_3 == true ){ digitalWrite(Laser, HIGH); DownServo.write(85); UpServo.write(85); }       // 왼쪽직각
  else if(L_state_1 == true  && L_state_2 == false && L_state_3 == false){ digitalWrite(Laser, HIGH); DownServo.write(85); UpServo.write(85); }       // 오른쪽직각
  else if(L_state_1 == false && L_state_2 == true  && L_state_3 == true ){ digitalWrite(Laser, HIGH); DownServo.write(85); UpServo.write(85); }       // 왼쪽평행
  else if(L_state_1 == false && L_state_2 == true  && L_state_3 == false){ digitalWrite(Laser, HIGH); DownServo.write(85); UpServo.write(85); }       // 오른쪽평행
  else if(L_state_1 == true  && L_state_2 == true  && L_state_3 == false){ Serial.write(count); }
}

/**********************************************************************************************************************/

void Buzzer() {
  float dist = Back_Ultra();
  if(1 < dist && dist < 25)
  {
    unsigned long curr_Millis = millis();
    interval2 = (dist/25)*100;
    if (curr_Millis - prev_Millis >= interval2) 
    {
      prev_Millis = curr_Millis;
      if (BuzzerState == On) {BuzzerState = Off;}
      else {BuzzerState = Off;}
      analogWrite(Buzz, BuzzerState);
      }
  }
}

/**********************************************************************************************************************/

void Blinking() {
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;
    if (ledState == HIGH) {ledState = LOW;}
    else {ledState = HIGH;}
    digitalWrite(LED1, ledState);}
}

/**********************************************************************************************************************/

void Calculation(){
  count += 1;
}