#include <ESP32Servo.h>
Servo separador;
int pinServo = 13;
int angulo = 90;
void setup() {
Serial.begin(115200);
separador.attach(pinServo, 500, 2400);
separador.write(angulo);
Serial.println("Servo inicializado en 90°");
Serial.println("Comandos:");
Serial.println(" '+' -> aumenta 1°");
Serial.println(" '-' -> disminuye 1°");
Serial.println(" Número (0-180) ángulo específico");
}
void loop() {
if (Serial.available() > 0) {
if (Serial.peek() == '+' || Serial.peek() == '-') {
char comando = Serial.read();
if (comando == '+') {
angulo++;
if (angulo > 180) angulo = 180;
separador.write(angulo);
Serial.printf("Ángulo aumentado: %d\n", angulo);
}
else if (comando == '-') {
angulo--;
if (angulo < 0) angulo = 0;
separador.write(angulo);
Serial.printf("Ángulo disminuido: %d\n", angulo);
}
Serial.readStringUntil('\n');
}
else {
int nuevoAngulo = Serial.parseInt();
if (nuevoAngulo >= 0 && nuevoAngulo <= 180) {
angulo = nuevoAngulo;
separador.write(angulo);
Serial.printf("Servo movido al ángulo específico: %d\n", angulo);
}
Serial.readStringUntil('\n');
}
}
}
Loading
esp32-s3-devkitc-1
esp32-s3-devkitc-1