/*
Control de posición de un servomotor usando LEDC y un potenciometro
*/
/*Pines*/
const uint8_t servoPin = 19;//GPIO19
/*Setting PWM properties*/
const uint32_t PWMFreq = 50;
const uint8_t PWMResolution = 12;
const uint8_t PWMChannel = 0;
int32_t dutyCycle = 0;
/*potenciometro*/
const uint8_t potPin = 35; //position control
/*Variables para la cuenta de tiempo*/
unsigned long prevMillis;
const unsigned long interval = 10;
void setup() {
Serial.begin(115200);
ledcAttachChannel(servoPin, PWMFreq, PWMResolution, PWMChannel);
ledcWriteChannel(PWMChannel,dutyCycle);
}
void loop() {
unsigned long currMillis = millis();
if(currMillis - prevMillis >= interval){
prevMillis = currMillis;
dutyCycle = analogRead(potPin);
//dutyCycle = map(pos,0,4095,80,500);
ledcWriteChannel(PWMChannel,dutyCycle);
Serial.println(dutyCycle);
}
}