Controlando um Servo Motor com botões - efrainmpp1/Arduino-URA GitHub Wiki

Introdução

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

Montagem

Código

#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);
    }
}

Referências

Arduino e Cia

⚠️ **GitHub.com Fallback** ⚠️