Загрузка данных


#include <ESP32Servo.h>

#define ADC_PIN   34
#define SERVO_PIN 13

Servo myServo;
int lastAngle = -1;  // запоминаем последний угол

void setup() {
  Serial.begin(115200);
  myServo.attach(SERVO_PIN);
  myServo.write(0);
}

void loop() {
  // Усредняем
  long sum = 0;
  for (int i = 0; i < 20; i++) {
    sum += analogRead(ADC_PIN);
    delay(1);
  }
  int val = sum / 20;

  // Считаем угол (0-180)
  int angle = map(val, 0, 4095, 0, 180);
  angle = constrain(angle, 0, 180);

  // Двигаем ТОЛЬКО если угол изменился
  if (angle != lastAngle) {
    myServo.write(angle);
    lastAngle = angle;

    // Выводим в монитор порта
    float voltage = (val / 4095.0) * 3.3;
    Serial.print("Напряжение: ");
    Serial.print(voltage, 2);
    Serial.print(" В, Угол: ");
    Serial.println(angle);
  }

  delay(50);  // опрос каждые 50 мс
}