#include <ESP32Servo.h>
// Define servo objects
Servo servo1, servo2, servo3, servo4, servo5, servo6;
// Define servo pins
const int s1 = 13;
const int s2 = 12;
const int s3 = 14;
const int s4 = 27;
const int s5 = 26;
const int s6 = 25;
// Binary array input (example values)
int binaryArray[2][3] = {
{1, 1, 0
0, 1, 0}
};
void setup() {
Serial.begin(115200);
// Attach servos to their respective pins
servo1.attach(s1);
servo2.attach(s2);
servo3.attach(s3);
servo4.attach(s4);
servo5.attach(s5);
servo6.attach(s6);
// Initialize all servos to low position (0 degrees)
resetServos();
}
void loop() {
checkBinaryArray();
delay(1000); // Delay for readability
}
void checkBinaryArray() {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
switch (binaryArray[i][j]) {
case 0: // 00
servo1.write(90);
break;
case 1: // 01
servo2.write(90);
break;
case 2: // 10
servo3.write(90);
break;
case 3: // 11
servo4.write(90);
break;
case 4: // 20
servo5.write(90);
break;
case 5: // 21
servo6.write(90);
break;
}
}
}
delay(500); // Hold position
resetServos(); // Reset all servos after delay
}
void resetServos() {
servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
servo6.write(0);
}