#include <Servo.h>
// Define the number of servos for each hand
#define NUM_SERVOS 5
// Create servo objects
Servo rightHandServos[NUM_SERVOS];
Servo leftHandServos[NUM_SERVOS];
// Define the servo pins
const int rightHandServoPins[NUM_SERVOS] = {2, 3, 4, 5, 6};
const int leftHandServoPins[NUM_SERVOS] = {7, 8, 9, 10, 11};
// Define the potentiometer pins
const int rightHandPotPins[NUM_SERVOS] = {A0, A1, A2, A3, A4};
const int leftHandPotPins[NUM_SERVOS] = {A5, A6, A7, A8, A9};
void setup() {
// Attach the servos to the digital pins
for (int i = 0; i < NUM_SERVOS; i++) {
rightHandServos[i].attach(rightHandServoPins[i]);
leftHandServos[i].attach(leftHandServoPins[i]);
}
// Initialize serial communication for debugging
Serial.begin(9600);
}
void loop() {
// Read potentiometer values and map them to servo angles
for (int i = 0; i < NUM_SERVOS; i++) {
int rightHandPotValue = analogRead(rightHandPotPins[i]);
int leftHandPotValue = analogRead(leftHandPotPins[i]);
int rightHandServoAngle = map(rightHandPotValue, 0, 1023, 0, 180);
int leftHandServoAngle = map(leftHandPotValue, 0, 1023, 0, 180);
rightHandServos[i].write(rightHandServoAngle);
leftHandServos[i].write(leftHandServoAngle);
// Debug output to Serial Monitor
Serial.print("Right Hand Servo ");
Serial.print(i);
Serial.print(": ");
Serial.print(rightHandServoAngle);
Serial.print(" Left Hand Servo ");
Serial.print(i);
Serial.print(": ");
Serial.println(leftHandServoAngle);
}
// Delay for stability
delay(15);
}