/*
  Autor: Equipe Embarcados
*/

// Incluir bibliloteca 
#include <ESP32Servo.h> 

// Declarar as váriaveis
String cmd; 
int angle;

//Declarar o objeto
Servo servo;
//Definir o pino do servo
const int servo_pin = 18;

void setup() {

  // Incializar a Serial e o baudrate
  Serial.begin(115200); 
  // Configura a GPIO e os limites mínimos e máximos em milisegundos
  servo.attach(servo_pin,500, 2400);
  // Move o eixo para o ângulo 0
  servo.write(0);
  // Aguarda 1 segundo
  delay(1000);
  // Imprime na serial 
  Serial.println("Iniciando Projeto com Motor Servo");
  Serial.println(" Insira o angulo: ");
}


void loop()
{
  // Caso receba algum dado na Serial, então ...
  if(Serial.available()>0)
  {
    // Ler todo o buffer da serial antes de chegar no \n( caracter fim de linha)
    cmd = Serial.readStringUntil('\n');
    // Realizar um cast de String para um valor inteiro
    angle = atoi(cmd.c_str());
    // Imprimir um caracter "">>"
    Serial.print(">> ");
    // Se o ângulo for maior que 0 e menor que 180, então ...
    if(angle >=0 && angle <=180)
    {
      // Imprime o valor do ângulo na tela
      Serial.println(angle);
      // Move o eixo do motor para o ângulo desejado
      servo.write(angle);
      
    }
    // Caso não seja um valor dentro dos limites então...
    else
    {
      // Imprimie na saída do monitor serial
      Serial.println ("Valor inválido");
    }
    
  }
}
Loading
franzininho-wifi