// Reference Library #include // Set two Servo motors Servo servo1; Servo servo2; // Set each signal for each PIN const int POT_PIN = A2; const int SERVO_PIN_1 = D9; const int SERVO_PIN_2 = D8; // Set Potentiometer value int anavalue = 0; void setup() { Serial.begin(115200); // optional for ADC pinMode(POT_PIN, INPUT); // 50Hz is the standard servo refresh rate servo1.setPeriodHertz(50); servo2.setPeriodHertz(50); // SG90 typical pulse range servo1.attach(SERVO_PIN_1, 500, 2400); servo2.attach(SERVO_PIN_2, 500, 2400); } void loop() { anavalue = analogRead(POT_PIN); // typically 0..4095 on ESP32 ADC anavalue = constrain(anavalue, 0, 4095); // Map Potentiometer value -> angles int angle1 = map(anavalue, 0, 2048, 0, 180); // normal phase int angle2 = 180 - angle1; // opposite phase // Safety clamp for Potentiometer angle1 = constrain(angle1, 0, 180); angle2 = constrain(angle2, 0, 180); // Drive two servo motors servo1.write(angle1); servo2.write(angle2); // Debug Serial.print("ADC="); Serial.print(anavalue); Serial.print(" angle1="); Serial.print(angle1); Serial.print(" angle2="); Serial.println(angle2); delay(20); // ~50Hz update }