#include <Servo.h> // servo library

// insert start and stop angles for robot arm
// int angleStart = {0, 15, 180, 170, 0, 73};
// int angleStop = {180, 165, 0, 0, 180, 10 };

const int servoPin[] = {8, 7, 6, 5, 4, 3}; // PWM pins
const int servoNum = sizeof(servoPin) / sizeof(servoPin[0]); // number of servos/PWM pins
Servo servo[servoNum]; // declare number of Servo objects/instances
int servoRnd, servoAngle;

void setup() {
  Serial.begin(115200); // for data display
  randomSeed(analogRead(A0)); // for more-random random
  for (int i = 0; i < servoNum; i++) {
    servo[i].attach(servoPin[i]); // attach servos to pins
  }
  delay(500);
  for (int i = 0; i < 6; i++) {
    servo[i].write(0);
  }
  delay(500);
}

void loop() {
  randomoes();
  // dominoes();
}

void randomoes() {
  servoRnd = (random(6)); // pick a servo pin
  servoAngle = (random(180)); // pick an angle
  servo[servoRnd].write(servoAngle); // put random servo at random angle

  Serial.print("Servo ");
  for (int i = 0; i < servoNum; i++) {
    if (i == servoRnd)
      Serial.print(servoRnd); // display the servo
    else Serial.print("."); // format the display
  }

  Serial.print(" Angle ");
  if (servoAngle < 100) Serial.print(" "); // pad two digit values with a space
  if (servoAngle < 10) Serial.print(" "); // pad one digit values with a space
  Serial.print(servoAngle); Serial.println("\xC2\xB0"); // degree symbol... for simulation
  delay(250); // slow loop to four per second
}

void dominoes() {
  for (int i = 0; i < 6; i++) {
    for (int j = 0; j < 180; j++) {
      servo[i].write(j);
      delay(1);
    }
  }
  delay(100);
  for (int i = 0; i < 6; i++) {
    for (int j = 0; j < 180; j++) {
      servo[5 - i].write(180 - j);
      delay(1);
    }
  }
  delay(100);
}
BASE
SHOULDER
ELBOW
EXTEND
WRIST
GRIP