/*
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
}
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
servo1:GND
servo1:V+
servo1:PWM
pot1:GND
pot1:SIG
pot1:VCC