Estou precisando de ajuda no meu código. Tenho um servo e um botão. O servo vai de 0 a 180 graus e ao apertar o botão quero que o servo pare,veja em que grau parou e avance um pouco mais. Por exemplo ele inciou e foi ate 90 graus,então apertei o botão quero que ele pare, veja que parou com 90 graus e avance ate 93 graus e fique parado
Segue o código:
#include <Servo.h>
Servo myservo; // create servo object to control a servo int botao=3; int flag=0; int pos = 0; //variavel para armazenar a posição do servo
void setup() { myservo.attach(9); //servo esta pino 9 pinMode(botao,INPUT); }
void loop() { flag = digitalRead(botao); //Flag recebe o valor do botao //1 = pressionado, 0 = solto if(flag == 1){
myservo.write(+(pos * (5/100))); //Move o servo para 5% a mais do angulo de interrupção //delay(15); //Delay para o servo atingir a posiçao for(pos = 0; pos < 180; pos += 1) // fazer o servo ir de 0 a 180 graus { // de 1 em 1 grau myservo.write(pos); // escrevendo a posicao do servo delay(15); // esperar 15ms } for(pos = 180; pos>=1; pos-=1) // fazer o servo ir de 180 a 0 graus { myservo.write(pos); // escrevendo a posicao do servo delay(15); // espera 15ms } }