/*
Mira el tutorial en
Programador Novato: https://www.programadornovato.com/controlar-servo-con-potenciometro-en-esp32/
Youtube:
Ya hemos movido 2 servos de formal independiente,
ahora vamos a controlar servo con potenciómetro en ESP32,
o sea que vamos a girar un potenciómetro y este va a girar
un servo.
Requerimientos:
- 1 Servomotor.
- 1 Potenciómetro.
- Cables.
Controlar servo con potenciómetro en ESP32
*/
//Agregamos las librerias del servo
#include <ESP32Servo.h>
//Declaramos la variable que almacenara el valor analigico ingresara del potenciometro
int entradaPotenciometro = 0;
//Variable que movera el servo
int anguloServo = 0;
//Declaramos el servo
Servo servo;
//Declaramos la variable del pin del potenciometro
int pinPotenciometro=2;
//Declaramos la variable del pin del servo
int pinServo=4;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
//Configuramos el pin del potenciometro
pinMode(pinPotenciometro, INPUT);
//Configuramos el servo y su pin
servo.attach(pinServo, 500, 2500);
}
void loop() {
//Recibimos los datos analogicos del potenciometro
entradaPotenciometro = analogRead(pinPotenciometro);
//Obtenemos el anguloServo multiplicando entradaPotenciometro * (180/4095)
anguloServo = (entradaPotenciometro * 0.04395604395);
Serial.print("entradaPotenciometro:");
Serial.println(entradaPotenciometro);
Serial.print("anguloServo:");
Serial.println(anguloServo);
Serial.println("------------------");
//Movemos el servo este angulo
servo.write(anguloServo);
delay(10); // this speeds up the simulation
}