Controlando um Servo Motor com botões - efrainmpp1/Arduino-URA GitHub Wiki
Com o servo motor conseguimos fazer diversas coisas como ajudar em direções.Um exemplo é nos aviões que apresentam servos motores para ajudar em seu direcionamento.Eles são encontrados onde é marcado na imagem a seguir
#include <Servo.h>
Servo motor;
int val;
int BotaoDaEquerda=3; //Botão conectado no pino 3
int BotaoDoMeio=4; //Botão conectado no pino 4
int BotaoDaDireita=5; //Botão conectado no pino 5
void setup()
{
motor.attach(9); // Dados do servo incluidos no pino 9
pinMode(BotaoDaEquerda, INPUT); /*pino definido como uma entrada de informação
nesse caso a de que se o botão está pressionado ou não */
digitalWrite(BotaoDaEquerda, HIGH);/* Pino está com energia porem não tem um circuito
fechado pois nosso botão esta no meio,quando pressionarmos o botão o circuito se fechara*/
pinMode(BotaoDoMeio, INPUT);
digitalWrite(BotaoDoMeio, HIGH);
pinMode(BotaoDaDireita, INPUT);
digitalWrite(BotaoDaDireita, HIGH);
}
void loop()
{
val=digitalRead(BotaoDaEquerda);
//Caso a chave seja pressionada, movimenta o servo
if(val!=1) //caso o botão seja pressionado o circuito estará ligado
{
motor.write(60); //Move o servo para o angulo de 60 graus
delay(15); //tempo em ms para o servo atingir a posiçao
}
val=digitalRead(BotaoDoMeio);
if(val!=1)
{
motor.write(90); //Move o servo para o angulo de 90 graus
delay(15);
}
val=digitalRead(BotaoDaDireita);
if(val!=1)
{
motor.write(120); //Move o servo para o angulo de 120 graus
delay(15);
}
}