#include #define HOLE_MAX 3 #define STEP_MAX 72 Servo servo_0; // hand Servo servo_1; // arm1 Servo servo_2; // arm2 Servo servo_3; // pan int timeset = 50; // deley time int motion_table[HOLE_MAX][STEP_MAX][4] = { { // Hole 1 motion data { 180, 129, 43, 118 },       省略 { 180, 129, 43, 118 }, }, { // Hole 2 motion data { 180, 129, 43, 118 },       省略 { 180, 129, 43, 118 }, }, { // Hole 3 motion data { 180, 129, 43, 118 },       省略 { 180, 129, 43, 118 } } }; void setup() { Serial.begin(115200); pinMode(20, INPUT); // Hole Sensor1 pinMode(19, INPUT); // Hole Sensor2 pinMode(18, INPUT); // Hole Sensor3 servo_0.attach(13, 500, 2500); // hand servo_1.attach(12, 500, 2500); // arm1 servo_2.attach(11, 500, 2500); // arm2 servo_3.attach(10, 500, 2500); // pan //initial write value servo_0.write(180), servo_1.write(133), servo_2.write(38), servo_3.write(116); } void loop() { if (digitalRead(20) == LOW) { // Hole 1 Motion_dat(1); } if (digitalRead(19) == LOW) { // Hole 2 Motion_dat(2); } if (digitalRead(18) == LOW) { // Hole 3 Motion_dat(3); } } void Motion_dat(int hole) { for (int step = 0; step < STEP_MAX; step++){ servo_0.write(motion_table[hole-1][step][0]); // hand servo_1.write(motion_table[hole-1][step][1]); // arm1 servo_2.write(motion_table[hole-1][step][2]); // arm2 servo_3.write(motion_table[hole-1][step][3]); // pan delay(timeset); } }