#include <Servo.h>
Servo myservo;
int val;
int ChaveEsquerda=3; //Pino a ser ligado na chave esquerda
int ChaveCentral=4; //Pino a ser ligado na chave central
int ChaveDireita=5; //Pino a ser ligado na chave direita
void setup()
{
// Pino de dados do servo conectado ao pino 9 do Arduino
myservo.attach(9);
//Define o pino como entrada
pinMode(ChaveEsquerda, INPUT);
//Aciona o resistor pull-up interno
digitalWrite(ChaveEsquerda, HIGH);
pinMode(ChaveCentral, INPUT);
digitalWrite(ChaveCentral, HIGH);
pinMode(ChaveDireita, INPUT);
digitalWrite(ChaveDireita, HIGH);
}
void loop()
{
//Le o valor da Chave Esquerda (On/Off)
val=digitalRead(ChaveEsquerda);
//Caso a chave seja pressionada, movimenta o servo
if(val!=1)
{
myservo.write(30); //Move o servo para o angulo de 60 graus
delay(15); //Delay para o servo atingir a posicao
}
val=digitalRead(ChaveCentral);
if(val!=1)
{
myservo.write(60); //Move o servo para o angulo de 120 graus
delay(15);
}
val=digitalRead(ChaveDireita);
if(val!=1)
{
myservo.write(90); //Move o servo para o angulo de 180 graus
delay(15);
}
}
모터 : MG995 서보모터
버튼 세개를 사용하여 각도조절을 할려고 합니다. 예를 들어 A버튼을 누를때마다 각도가 증가하고 B버튼을 누를때마다 각도가 감소하고 C버튼을 누를시 다시 0으로 돌아오는 소스를 구상하고자 합니다. 조언 부탁드립니다 감사합니다
|