Pessoal será que podem me ajudar? Montei um braço robotico "Mearm" agora só falta programar oque ocorre é que estou usando um joystick que tem o mesmo princípio de funcionamento do potenciometro ou trimpot o problema é que os servos acompanham o movimento do potenciometro pois no código está a função "map" e eu queria que o potenciometro funcionasse apenas como "botao" indicando para que direçao o servo deve ir e ao voltar o joystick para o centro o servo ficasse no lugar.
Tomara que entendam a confusão pessoal o problema é esse e para ajudar não sei nada nada de programação
O código que estou usando é esse peguei do blog do filipeflop ( créditos)
//Programa : Controle servo motor com joystick
//Autor : FILIPEFLOP
#include
//Cria objeto para controlar o servo base
VarSpeedServo servo_base;
//Cria objeto para controlar o servo inclinacao
VarSpeedServo servo_inclinacao;
int pino_x = A4; //Pino ligado ao X do joystick
int pino_y = A5; //Pino ligado ao Y do joystick
int val_x; //Armazena o valor do eixo X
int val_y; //Armazena o valor do eixo Y
void setup()
{
//Define a porta a ser ligada ao servo base
servo_base.attach(7, 1, 180);
//Define a porta a ser ligada ao servo inclinacao
servo_inclinacao.attach(8, 1, 180);
}
void loop()
{
//Recebe o valor do joystick, eixo X
val_x = analogRead(pino_x);
//Converte o valor lido para um valor entre 1 e 180 graus
val_x = map(val_x, 0, 1023, 1, 180);
//Move o servo base para a posicao definida pelo joystick
servo_base.slowmove(val_x, 60);
//Recebe o valor do joystick, eixo Y
val_y = analogRead(pino_y);
//Converte o valor lido para um valor entre 1 e 180 graus
val_y = map(val_y, 0, 1023, 1, 180);
//Move o servo inclinacao para a posicao definida pelo joystick
servo_inclinacao.slowmove(val_y, 60);
//Aguarda a movimentacao do servo e reinicia a leitura

Exibições: 769

Responder esta

Respostas a este tópico

Ahh galera tô usando a biblioteca varspeedo pois ela permite controle de velocidade

Oi UAC, boa tarde.

Primeiramente lembo-lhe que o uso de vírgula é gratuito e ajuda muito aos amigos entender o texto.

Veja a diferença de sentido que faz uma virgula nestas 2 frases:

Matar o rei não é pecado

Ou

Matar o rei, não, é pecado.

Em segundo lugar, uma recomendação:

Evite postar code na área de texto do tópico.   http://labdegaragem.com/forum/topics/sugest-o-de-como-postar

Rui

Desculpe-me amigo fiz o texto às pressas e sobre o code eu não sabia, obrigado pelas sugestões, espero ajuda

Oi UAC,
Eu entendi o seguinte:
Funcionamento atual:
Ao mover o joystick você muda a posição do potenciômetro interno a ele.
O braço faz o movimento proporcional à posição do joystick.

Funcionamento pretendido:
Ao mover o joystick você muda a posição do potenciômetro interno a ele.
O braço faz o movimento total independente da posição do joystick.
Teste este code, e depois de um feedback.
Rui

Amigo ocorre que eu não sei MT de programação e precisava de ajuda, obrigado

UAC,
desculpe, mas no meu comentário faltou o link do code para você testar.

Segue o link.: http://pastebin.com/Aehaq3k7
Rui

Amigo muito obrigado mesmo agradeço sua atenção e ajuda , pessoas como voce devem ser valorizadas e admiradas , poucos hoje em dia compartilham o conhecimento que tem , então antes de tudo já te agradeço pela ajuda. 

Segue um video do comportamento do arduino:

https://youtu.be/pDvSFLqEa1k

Gravei o código no arduino , contudo oque ocorre é que não consigo movimentar o mesmo servo usando apenas um joystick , alem disso preciso usar duas portas analógicas para movimentar um servo nas duas direções. 

Estava pensando no seguinte , o arduino recebe na porta analógico do joystick valores que vão de 0 a 1023 pois estou usando 5v , eu pensei dessa forma se ele ler valores maiores que +-512 ( que é a metade) movimenta o servo para um lado se ele receber valores menores que +-512 ele movimenta em outro sentido , perdoe a minha ignorância é que estou tentando entende um pouca mais de programação.

 

SOLUÇÃO:

Amigos deixo um sincero agradecimento ao membro Rui Viana por ter me ajudado a resolver meu problema, não descansou ate conseguir fazer dar certo , fui muito bem recebido no fórum por esse membro , parabens de verdade pela pessoa que é. Voltando ao problema tópico...

Esse link contem o código para apenas um eixo do braço robótico :

http://pastebin.com/eSgKAQXD

Esse outro link contem dois eixo:

http://pastebin.com/Aehaq3k7

Créditos: Ambos os códigos foram escritos por Rui Viana

Obrigado mesmo !

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço