Problem on Wiring

I am new to this. I would like to know how to wire this code, as I am confused on where to start.

Webpage with schematic:

Code:

/*
Very simple control of a robotic arm (using servos). Direct control of joint/servo positions using
buttons and a potentiometer. One servo controls base rotation, two move the lowest joint, one moves the middle joint,
one moves the upper joint, and one opens/closes the gripper.


created 4/18/2014
*/

#include <Servo.h>
Servo base;
Servo lower1;
Servo lower2;
Servo mid;
Servo upper;
Servo grip;
                    
const int pot = A0;        // define pot as pin A0
const int button1 = 7;     // define buttons
const int button2 = 6;
const int button3 = 5;
const int button4 = 4;
const int button5 = 3;
const int button6 = 2;
const int button7 = A3;
const int button8 = A4;

int potState;
int potStatePrev;
int buttonState1;
int buttonState2;             // the current reading from the input pin
int buttonState3;
int buttonState4;
int buttonState5;
int buttonState6;
int buttonState7;
int buttonState8;

int posB = 0;
int posL = 90;               // positions for each joint
int posM = 90;
int posU = 90;
int posG = 120;

const int Delay = 10; // ms delay for servo motions

//-----------------------------------------------------------------------------------------

void setup() {
  pinMode(button1, INPUT);
  pinMode(button2, INPUT);
  pinMode(button3, INPUT);
  pinMode(button4, INPUT);
  pinMode(button5, INPUT);
  pinMode(button6, INPUT);
  pinMode(button7, INPUT);
  pinMode(button8, INPUT);
  
  base.attach(8, 600, 2100);     // setup servo connections - probably need custom values for each servo
  lower1.attach(9, 600, 2100);
  lower2.attach(10, 600, 2100);
  mid.attach(11, 600, 2100);
  upper.attach(12, 600, 2100);
  grip.attach(13, 600, 2400);
  
  base.write(posB);         // set all servos to start at "mid" positions 
  lower1.write(posL);
  lower2.write(180-posL);
  mid.write(posM);
  upper.write(posU);
  grip.write(posG);
  
  potState = analogRead(pot);
  potStatePrev = potState;

}

//-----------------------------------------------------------------------------------------
/*
void knobServoControl(Servo servo, int potState, int potStatePrev, int pos){
  if (potState != potStatePrev){
    pos = map(potState, 0, 1023, 0, 179); 
    servo.write(pos); }
  delay(Delay); 
}

void singleServoControl(Servo servo, int buttonStateD, int buttonStateU, int pos){
  if (buttonStateU == HIGH){
        pos += 1; // increase position of servo
        if (pos > 175){ pos = 175;} // bound "pos" variable to keep from drifting at ends
        servo.write(pos); // write new position
        delay(Delay); // wait      
    }
  if (buttonStateD == HIGH){
        pos -= 1; 
        if (pos < 2){ pos = 2;}
        servo.write(pos); 
        delay(Delay);       
    } 
}


void dualServoControl(Servo servo1, Servo servo2, int buttonStateD, int buttonStateU, int pos){
  if (buttonStateU == HIGH){
        pos += 1; 
        if (pos > 175){ pos = 175;} 
        servo1.write(pos); 
        servo2.write(180-pos);
        delay(Delay); //wait      
    }
  if (buttonStateD == HIGH){
        pos -= 1; //increase position of servo
        if (pos < 2){ pos = 2;}
        servo1.write(pos); //write new position
        servo2.write(180-pos);
        delay(Delay); //wait      
    } 
}
*/

//-----------------------------------------------------------------------------------------

void loop(){
  potState = analogRead(pot); 
  int buttonState1 = digitalRead(button1);    
  int buttonState2 = digitalRead(button2);   
  int buttonState3 = digitalRead(button3);    
  int buttonState4 = digitalRead(button4);
  int buttonState5 = digitalRead(button5);    
  int buttonState6 = digitalRead(button6); 
  int buttonState7 = digitalRead(button7);
  int buttonState8 = digitalRead(button8);
 
  //knobServoControl(base, potState, potStatePrev, posB); // move base
  //dualServoControl(lower1, lower2, buttonState1, buttonState2, posL); // move lower joint
  //singleServoControl(mid, buttonState3, buttonState4, posM); // move middle joint
  //singleServoControl(upper, buttonState5, buttonState6, posU); // move upper joint
  //singleServoControl(grip, buttonState7, buttonState8, posG); // move gripper
  
  //base
  //if (potState != potStatePrev){
    posB = map(potState, 0, 1023, 0, 179); 
    base.write(posB); 
    delay(Delay); 
 
  
  
  //lower
    if (buttonState1 == HIGH){
        posL += 1; // increase position of servo
        if (posL > 175){ posL = 175;} // bounds "pos" variable to prevent drifting at limits
        lower1.write(posL); // write new position
        lower2.write(180-posL);
        delay(Delay); // wait      
    }
  if (buttonState2 == HIGH){
        posL -= 1; // decrease position of servo
        if (posL < 4){ posL = 4;}
        lower1.write(posL); 
        lower2.write(180-posL);
        delay(Delay);      
    }
  
  //mid
      if (buttonState3 == HIGH){
        posM += 1; 
        if (posM > 180){ posM = 180;} 
        mid.write(posM);
        delay(Delay);    
    }
      if (buttonState4 == HIGH){
        posM -= 1; 
        if (posM < 0){ posM = 0;}
        mid.write(posM); 
        delay(Delay);     
    }

  //upper
        if (buttonState5 == HIGH){
        posU += 1; 
        if (posU > 180){ posU = 180;} 
        upper.write(posU); 
        delay(Delay);       
    }
      if (buttonState6 == HIGH){
        posU -= 1; 
        if (posU < 0){ posU = 0;}
        upper.write(posU); 
        delay(Delay);      
    }

  //gripper
      if (buttonState7 == HIGH){
        posG += 1; 
        if (posG > 180){ posG = 180;} 
        grip.write(posG); 
        delay(Delay);       
    }
      if (buttonState8 == HIGH){
        posG -= 1; 
        if (posG < 60){ posG = 60;}
        grip.write(posG); 
        delay(Delay);     
    }
  
  
  
  
  
  
  
  
  
  
  potStatePrev = potState;
}


// CHECK FOR LAG IN SERVO RESPONSIVENESS
// COULD ALSO DO A SWITCH CASE WITH BUTTON STATES -- MIGHT BE MORE RESPONSIVE

You've already asked this yesterday - I need help on wiring a program - Programming Questions - Arduino Forum.

What was wrong with the answers you got to that?

Steve

huynhjames79:
I am new to this. I would like to know how to wire this code, as I am confused on where to start.

Now, the schematic is labelled with objects' names. You can now figure out which object will be connected with DPin. For example: The signal pin of the 'Servo Motor' with name 'base' will be connected with DPin-8. Button-1 will be connected with DPin-7.
wireQ.png

wireQ.png