collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]


Focos LED SMD por almamater
[16 de Dezembro de 2023, 14:12]


I Belive por dropes
[15 de Dezembro de 2023, 13:59]


Carga de corrente eletrónica ZPB30A1 60W por jm_araujo
[11 de Dezembro de 2023, 13:27]

Autor Tópico: fiz um walker com Arduino e preciso de ajuda a programar =/  (Lida 7015 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.631
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
fiz um walker com Arduino e preciso de ajuda a programar =/
« em: 21 de Fevereiro de 2009, 22:39 »
Então é assim hj é o meu segundo dia a programar, e não sei como fazer o walker virar xD

sei o movimento que preciso de fazer para ele virar, mas não sei como fazer o código...

este é o codigo para andar rápido...

#include <Servo.h>
Servo frontservo,backservo;
char forward[] = {60,100,100,100,100,60,60,60};
void setup()
{
frontservo.attach(9);
backservo.attach(10);
}
void loop()
{
for(int n=0;n<4;n++)
{
frontservo.write(forward[2*n]);
backservo.write(forward[(2*n)+1]);
delay(100);
}
}

a velociade muda-se ao mudar o ''delay'' pelo menos como eu faço... lol

e agora como faço para os dois servos do mesmo lado, divergirem um do outro?, assim várias vezes? ear assim que virava quando tava RC...

obrigado

há e já agora... aki está um video :)

http://s498.photobucket.com/albums/rr346/AmandoAbreu/?action=view&current=botwithArduino001.flv

mas no vídeo está a andar devagar...

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #1 em: 22 de Fevereiro de 2009, 00:05 »
Ui... pretendes que ele vire, para isso precisas antes de mais de menos derrape... vi que ele escorrega um bocado, pensa em melhorar o atrito para teres os movimentos mais controlados ;)

Quanto ao movimento.. não sei bem como o consegues só com 2 servos como tens, mas possivelmente terás que fazer com que ele rode em vez de entre o ângulo 90-x e 90+x que é o que estás a fazer para andar em frente, que ele passe a andar entre o ângulo 90-x+y e 90 +x+y, ao adicionares este valor y, estás a fazer com que as pernas permaneçam sempre ligeiramente viradas para o lado que pretendes, e assim ele rode nesse sentido... para rodar no outro sentido é só meter -y em ambos os pontos de rotação.

Estarei certo? é só uma teoria mas que os meus conhecimentos de física subscrevem!

Parabéns pela ideia, boa sorte com o teu robot ;)

Offline amgcgoncalves

  • Mini Robot
  • *
  • Mensagens: 27
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #2 em: 22 de Fevereiro de 2009, 01:35 »
Estás certo, TigPT. Quanto ao atrito, também concordo. Já se viu que o bichinho até anda, mas um alpinista com botas específicas sobe melhor uma montanha do que com sapatos de gala ;). Boa sorte com o projecto, little resources. Lanço-te o desafio de, quando te sentires suficientemente à vontade com código e com o micro-controlador em si, tirares os fios ao bicharoco.
The Whys over the Whats, because I'm a theory freak.

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #3 em: 22 de Fevereiro de 2009, 03:05 »
é tão estranho k tenhas feito isso com arduino.. desculpa tar a dizer isto, mas é muito mais frequente vê-los feitos sem microcontroladores.. só e apenas com electronica..

acredito que o já dito pelo tig e pelo amg esteja correcto, mas posso tentar fazer aqui uns desenhos e aplicar umas (poucas) noções de física pra ver se existirá alguma forma melhor de pôr esse tubo com pernas (engraçado) a dar curvas com maior eficiencia.. pra já, põe-lhe uns sapatinhos de borracha.. (tou a pensar na parte de trás das típicas canetas da bic (aqueles bocados de plástico k têm a cor da tinta) com uns daqueles batentes de silicone pequenos..

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.631
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #4 em: 22 de Fevereiro de 2009, 12:42 »
Estás certo, TigPT. Quanto ao atrito, também concordo. Já se viu que o bichinho até anda, mas um alpinista com botas específicas sobe melhor uma montanha do que com sapatos de gala ;). Boa sorte com o projecto, little resources. Lanço-te o desafio de, quando te sentires suficientemente à vontade com código e com o micro-controlador em si, tirares os fios ao bicharoco.

foi a ''meta'' desta manhã e já está :)
achoq ue derrapa pk... tem elasticos enrolados no arame das pernas lol e tá com um pouco de pó que faz escorregar... talvez precise de elasticos novos xD

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.631
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #5 em: 22 de Fevereiro de 2009, 12:45 »
é tão estranho k tenhas feito isso com arduino.. desculpa tar a dizer isto, mas é muito mais frequente vê-los feitos sem microcontroladores.. só e apenas com electronica..

acredito que o já dito pelo tig e pelo amg esteja correcto, mas posso tentar fazer aqui uns desenhos e aplicar umas (poucas) noções de física pra ver se existirá alguma forma melhor de pôr esse tubo com pernas (engraçado) a dar curvas com maior eficiencia.. pra já, põe-lhe uns sapatinhos de borracha.. (tou a pensar na parte de trás das típicas canetas da bic (aqueles bocados de plástico k têm a cor da tinta) com uns daqueles batentes de silicone pequenos..

isto é só o básico, fiz com arduino para poder adicionar sensores e seguir luz e tal... mas antes disso preciso de ter os movimentos básicos(virar direita, vira esquerda, frente, trás, e algumas velocidades diferentes...

atrás tenho elásticos... mas qualquer borracha fica com pó agrrado e isso faz escorregar( ele teve na prateleira umas semanas, e depois chegou o arduino :)

Offline guibot

  • Mini Robot
  • *
  • Mensagens: 651
    • Guibot
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #6 em: 22 de Fevereiro de 2009, 12:50 »
se usares fita termoretráctil nas patas ele é capaz de aderir melhor ao chão.

em relação ao código se experimentares por delay entre os movimentos de cada servo e experimentares diferentes valores no delay talvez consigas que ele mude de direcção, é ir experimentando.

boa sorte com o bichano  :)

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.631
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #7 em: 22 de Fevereiro de 2009, 12:59 »
se usares fita termoretráctil nas patas ele é capaz de aderir melhor ao chão.

em relação ao código se experimentares por delay entre os movimentos de cada servo e experimentares diferentes valores no delay talvez consigas que ele mude de direcção, é ir experimentando.

boa sorte com o bichano  :)

o que é fita termotáctil? é que o meu username diz tudo... xD

Offline guibot

  • Mini Robot
  • *
  • Mensagens: 651
    • Guibot
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #8 em: 22 de Fevereiro de 2009, 13:04 »
é o que se usa em vez de fita isolante para isolar soldaduras nos cabos, são pequenos tubos de borracha que quando aquecidos com um isqueiro contraiem..  espero ter sido esclarecedor    :D

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.631
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #9 em: 22 de Fevereiro de 2009, 13:09 »
é o que se usa em vez de fita isolante para isolar soldaduras nos cabos, são pequenos tubos de borracha que quando aquecidos com um isqueiro contraiem..  espero ter sido esclarecedor    :D

háa acho que tou a ver o que é... sim mt esclarecedor  :P

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.631
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #10 em: 25 de Fevereiro de 2009, 23:00 »
bem já tenho o dobro do que quero!

com este código:
#include <Servo.h>
Servo frontservo,backservo;
char forward[] = {60,100,100,100,100,60,60,60};
char backward[] = {60,60,60,100,100,100,100,60};
void setup()
{
frontservo.attach(9);
backservo.attach(10);
}
void loop()
{
for(int n=0;n<4;n++)
{
frontservo.write(forward[(2*n)+1]);
backservo.write(backward[2*n]);
delay(200);
}
}

ele faz isto:



Qual parâmetro tenho de modificar para ele fazer isto?


reparem na orientção dos servos!

ao fazer este movimento repetidamente, ele vai virar com alguma precisão.
« Última modificação: 26 de Fevereiro de 2009, 00:14 por TigPT »

Offline guibot

  • Mini Robot
  • *
  • Mensagens: 651
    • Guibot
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #11 em: 25 de Fevereiro de 2009, 23:28 »
porque estás a usar arrays?

eu faria isto para o 1º video:

frontservo.write(60);
backservo.write(160);
delay(1000);
frontservo.write(90);
backservo.write(90);
delay(1000);
frontservo.write(160);
backservo.write(60);
delay(1000);
frontservo.write(90);
backservo.write(90);

e para o 2º:
frontservo.write(60);
backservo.write(160);
delay(1000);
frontservo.write(90);
backservo.write(90);
delay(1000);
frontservo.write(60);
backservo.write(160);
delay(1000);
frontservo.write(90);
backservo.write(90);

agora só precisas de encapsular estas sequências de movimentos em rotinas  :)

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.631
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #12 em: 25 de Fevereiro de 2009, 23:33 »
porque estás a usar arrays?

eu faria isto para o 1º video:

frontservo.write(60);
backservo.write(160);
delay(1000);
frontservo.write(90);
backservo.write(90);
delay(1000);
frontservo.write(160);
backservo.write(60);
delay(1000);
frontservo.write(90);
backservo.write(90);

e para o 2º:
frontservo.write(60);
backservo.write(160);
delay(1000);
frontservo.write(90);
backservo.write(90);
delay(1000);
frontservo.write(60);
backservo.write(160);
delay(1000);
frontservo.write(90);
backservo.write(90);

agora só precisas de encapsular estas sequências de movimentos em rotinas  :)

eu não percebonada disto xD mas já tinha mexido em tudo, só faltava mudar o (60,60,100,100,100,100,60,60,60) mas agora acho que tou a ver ;D obrigadíssimo

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.631
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re:fiz um walker com Arduino e preciso de ajuda a programar =/
« Responder #13 em: 26 de Fevereiro de 2009, 11:39 »
Ui... pretendes que ele vire, para isso precisas antes de mais de menos derrape... vi que ele escorrega um bocado, pensa em melhorar o atrito para teres os movimentos mais controlados ;)

Quanto ao movimento.. não sei bem como o consegues só com 2 servos como tens, mas possivelmente terás que fazer com que ele rode em vez de entre o ângulo 90-x e 90+x que é o que estás a fazer para andar em frente, que ele passe a andar entre o ângulo 90-x+y e 90 +x+y, ao adicionares este valor y, estás a fazer com que as pernas permaneçam sempre ligeiramente viradas para o lado que pretendes, e assim ele rode nesse sentido... para rodar no outro sentido é só meter -y em ambos os pontos de rotação.

Estarei certo? é só uma teoria mas que os meus conhecimentos de física subscrevem!

Parabéns pela ideia, boa sorte com o teu robot ;)
por acaso, alguma derrapagem, quando está v irar está do lado bom, pk um lado agarra, enquanto o outro derrapa, é assim que vira :)
« Última modificação: 26 de Fevereiro de 2009, 11:43 por TigPT »