#include <Servo.h>
Servo myservo;
int posicao = 0;
int dado_novo = 0;
int dado_anterior = 0;
int pino_controle = 3;
void setup() {
Serial.begin(115200);
Serial.println("Posição em graus 0 a 180");
myservo.attach(pino_controle);
myservo.write(posicao);
delay(500);
myservo.detach();
}
void loop() {
if(Serial.available() > 0)
{
dado_novo = Serial.parseInt();
if(posicao < dado_novo)
{
myservo.attach(pino_controle);
for(posicao = dado_anterior ; posicao <= dado_novo ; posicao +=1)
{
myservo.write(posicao);
delay(5);
}
myservo.detach();
dado_anterior = dado_novo;
}
if(posicao > dado_novo)
{
myservo.attach(pino_controle);
for(posicao = dado_anterior ; posicao >= dado_novo ; posicao -=1)
{
myservo.write(posicao);
delay(5);
}
myservo.detach();
dado_anterior = dado_novo;
}
Serial.print("Posicao = ");
Serial.println(dado_novo, DEC);
}
}