Pessoal preciso da ajuda de vocês!
Eu conseguir fazer funcionar 3 botões em uma unica porta analógica.
Usando também o esquema de resistores.
Só que queria aprender fazer para que quando pressionado um botão ele controlasse algum servo, o braço fosse a 140 graus ficasse por um tempo e depois voltasse pra 12 graus por exemplo.
Eu tentei o botão aciona o servo ligado no pino 10 porém o braço vai ate o limite e fica forçando pra uma direção só, e mesmo mudando os graus não consigo programar para oque o servo faça depois do botão pressionado, vocês podem me ajudar?
olha meu codigo:
#include <Servo.h>
void setup()
{
Serial.begin(9600); //Inicia a serial com um baud rate de 9600
}
void loop()
{
long tecladoA5=0; //Cria variável para ler o teclado ligado ao pino A5
for(int i=0;i<100;i++) //Laço para fazer 100 leituras
{
tecladoA5 = tecladoA5+analogRead(A5); //Soma a leitura anterior com a leitura atual de A5
}
tecladoA5 = tecladoA5/100;
Serial.print("Teclado A5 = "); //Imprime no Serial Monitor "Teclado A5 = "
Serial.println(tecladoA5); //Imprime o valor de A5
Serial.print("\n\n"); //Pula 2 linha no Serial Monitor
delay(100); //Aguarda 100 milissegundos
//ate aqui tudo bem o codigo indentifica os botões e consigo escolher em qual pino ligar o servo e qual botão vai acioná-lo
//o problema é que a função abaixo não funciona como deveria e o servo fica ligado direto pra um sentido só
//----------------------FIM DA FUNÇÃO DO SERVO 1--------
if(tecladoA5 == 916) //------FUNÇÃO PARA O SERVO EXECUTAR QUANDO CLICADO O BOTÃO DE VALOR 916--------
{
Servo motor;
motor.attach(10); //pino do sinal que o servo esta plugado
int i;
for(i=0;i<170;i++) { //angulo de movimento
motor.write(i);
delay(40); //velocidade que o braço se move
}
delay(1000); //demora 0,8 segundos
for(i=150;i>0;i--) { //angulo de movimento
motor.write(i);
delay(40); //velocidade que o braço se move
}
delay(1000); //demora 0,8 segundos
}
}
Tags:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por