Go Down

Topic: Programa Mandar comando botao para arduino. (Read 3008 times) previous topic - next topic

Pessoal
estou com uma dificuldade em um projeto que estou montando e gostaria de uma ajuda se possivel
Seguinte:
Preciso de um programa onde envolva um botao um servo motor e o proprio arduino.
Funcionamento:
Quando aperto o botao ele manda a mensagem pra funcao que calcula 10graus e joga pro arduino que faz o servo girar.
Ou seja que quando aperto o botao faz com que o servo motor gire.

Se alguem tiver um programa parecido ou esteja disposto a crialo, agradeço e muito.
Obrigado pela atenção.

Att: Guilherme Cordeiro

Kotch

Voce já começou a fazer alguma coisa?
Em qual parte do codigo voce está?
Posta o código aí para ajudarmos!!
;)
????????????????????

realemente ainda nao tenho nada pronto,
tentei dar uma procurada ate no arduino.ini, mas como nao entendo praticamente nada ainda sobre essa linguagem, e menos ainda de ingles, nao achei nada util.
Vou tentar comecar a esboçar um programa aqui,  mas vai ser pouco provavel.

Obrigado, y)

Kotch

Agora pouco , aki no forum vi alguma coisa parecida, vou procurar e posto o link aki!
????????????????????

Kotch

achei, olhe o link de um exemplo

http://arduino.cc/en/Tutorial/Knob

o arduine le a posicao do potenciometro a faz o servo girar conforme a rotação do poteciometro

voce pode tirar fora a parte de leitura do potenciometro e colocar valores fixos e ver qual a rotação do servo, ate descobrir qual é o valor ideal pra movimentção em graus que voce precisa, qualquer duvida post!
????????????????????

#include <Servo.h>
#include <Button.h>

Button button2 = Button(2,PULLUP);
Button button1 = Button(1,PULLUP);
Servo myservo;

int pos = 90;   

void setup()
{
  myservo.attach(7);
}


void loop()
{
 
  if(button2.isPressed())
{
    myservo.write(pos+10);
   pos=int(myservo.read());   
  }
else
{
  if(button1.isPressed())
  {
  myservo.write(pos-10);
  pos=int(myservo.read());
  }
}
 
}
o objetivo é quando eu aperto o botao 1 o servo recue 10 graus e quando eu aperte o botao 2 ele avance 10 graus;
mas ele nao esta fazendo isso. Ele faz o seguinte:
Quando aperto o botao 1 ele recua para 0graus e quando eu aperto o botao 2 ele vai para o angulo de 180 graus.
O que ha de errado na funcao?
Obrigado

Radames

bom
se a leitura da posicao atual do servo funcionar, vc precisa mudar a ordem neste codigo atual mais ou menos assim

botao1
pos=int(myservo.read()); //le a posicao atual, isso funciona? eu nunca tentei
myservo.write(pos-10);


botao2
pos=int(myservo.read()); //le a posicao atual
myservo.write(pos+10);

Go Up