LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Tópico iniciado por: Mike em 20 de Maio de 2011, 22:39

Título: 6WD
Enviado por: Mike em 20 de Maio de 2011, 22:39
Boa noite! Tenho andado (à mesmo muito tempo) a pensar construir um robot, ainda nem sequer comecei, mas como consegui algum dinheiro na Bwin, vou pô-lo a bom uso e começar com a coisa. :)

A minha ideia é, aproveitando a ideia no do OddBot no LetsMakeRobots, que depois foi aproveitada pela DAGU (foi neste robot que me interessei inicialmente, só depois encontrei tudo), fazer um robot 6WD, quero pôr uns motores mais potentes, e umas rodas maiores. Depois, para começar queria fazer um controlo remoto com Xbee, ou RC, que acham melhor?

Para começar gostava de ideias para fazer a base. Já pensei em PVC e chapa, mais alguma ideia?

Obrigado.  ;)
Título: Re: 6WD
Enviado por: senso em 20 de Maio de 2011, 22:42
Madeira, leve e resistente e facil de trabalhar.
Título: Re: 6WD
Enviado por: Mike em 20 de Maio de 2011, 22:45
Não se torna um pouco quebradiço, para o que é?
Título: Re: 6WD
Enviado por: senso em 20 de Maio de 2011, 23:03
Não disseste para o que era....
Depende da madeira, mas se achas madeira quebradiça como é que pensaste em usar pvc?
Chapa é bastante mole, terá de ter reforços, ou perfis para dar rigidez á coisa, depois 6 motores a consumir precisas de uma bateria bem grande.
Título: Re: 6WD
Enviado por: Mike em 20 de Maio de 2011, 23:07
A ideia, é tipo "offroad". Tipo: Wild Thumper 6WD demo video (http://www.youtube.com/watch?v=T3Qm3PCMLIY#)
Título: Re: 6WD
Enviado por: senso em 20 de Maio de 2011, 23:18
Se plástico chines não parte não é madeira que parte, mas se queres metal aconselho aluminio, ou usar extrusões de ferro ou aluminio e tampas de pvc.
Título: Re: 6WD
Enviado por: Mike em 20 de Maio de 2011, 23:40
Obrigado.  ;D
Título: Re: 6WD
Enviado por: dvdt em 21 de Maio de 2011, 10:01
a nível do controlo eu estou na mesma situação e vou usar um rc pois é mais fiavel bmas tu e que escolhes pois o xbee tem mais alcance que muitos rc
Título: Re: 6WD
Enviado por: dvdt em 21 de Maio de 2011, 10:03
e mais uma coisa o soposto carro que esta no video e um modelo da pololu (http://www.pololu.com/catalog/category/88)
Título: Re: 6WD
Enviado por: Mike em 21 de Maio de 2011, 10:11
Está à venda na pololu, tal como em muitas lojas de robotica, mas é da DAGU.
Título: Re: 6WD
Enviado por: dvdt em 21 de Maio de 2011, 10:27
ok
Título: Re: 6WD
Enviado por: senso em 21 de Maio de 2011, 13:20
O Xbee tem encriptação e correção de erros e mais n coisas, não sei como é que um comando rc é melhor ou mais fiavel.
Título: Re: 6WD
Enviado por: XicoMBD em 21 de Maio de 2011, 19:55
Boa noite! Tenho andado (à mesmo muito tempo) a pensar construir um robot, ainda nem sequer comecei, mas como consegui algum dinheiro na Bwin, vou pô-lo a bom uso e começar com a coisa. :)

A minha ideia é, aproveitando a ideia no do OddBot no LetsMakeRobots, que depois foi aproveitada pela DAGU (foi neste robot que me interessei inicialmente, só depois encontrei tudo), fazer um robot 6WD, quero pôr uns motores mais potentes, e umas rodas maiores. Depois, para começar queria fazer um controlo remoto com Xbee, ou RC, que acham melhor?

Para começar gostava de ideias para fazer a base. Já pensei em PVC e chapa, mais alguma ideia?

Obrigado.  ;)
Há aqui um grupo que também estava a fazer um robot baseado nesse.
Se quiseres dá uma vista de olhos:
http://lusorobotica.com/index.php?topic=3371.msg36697#msg36697 (http://lusorobotica.com/index.php?topic=3371.msg36697#msg36697)
Título: Re: 6WD
Enviado por: Silvio Severino em 31 de Julho de 2011, 19:15
ola pessoal tenho um projecto parecido mas estou com dificuldades em fazer o programa ja tenho tudo montado falta mesmo só o programa, mas queria utilizar a tecnologia zigbee para controlo a distancia.
Alguém me pode ajudar com o código?
Título: Re: Controlo de robo
Enviado por: Silvio Severino em 02 de Agosto de 2011, 18:57

ola pessoal estou a fazer um projecto de um robo utilizando comunicação xbee.
tenho um problema eu queria enviar ao mesmo temo dois dados para o arduino receptor para controlar os motores.
como o código que tenho só consigo enviar um comando de cada vez.
Alguem me pode ajudar a resolver este problema, conseguindo enviar dois comandos ao mesmo tempo, para controlar independentemente o motor da esquerda e o motor da direita.
Código: [Seleccione]
   
#define LED 13
 
 int M1_A = 12;
 int M1_PWM = 11;
 int M1_B = 10;

 int M2_A = 4;
 int M2_PWM = 3;
 int M2_B = 2;

 int speed_val=255;

 #include <Servo.h>
 Servo servo1;
 int GRAUS = 0;

//-----------------------------------------------------
void setup()
{
  pinMode(LED,OUTPUT);
  Serial.begin(9600);
  Serial.println('x', BYTE); 
 
  pinMode(M1_A, OUTPUT);
  pinMode(M1_PWM, OUTPUT);
  pinMode(M1_B, OUTPUT);

  pinMode(M2_A, OUTPUT);
  pinMode(M2_PWM, OUTPUT);
  pinMode(M2_B, OUTPUT);

  speed_val = 50;
  M1_stop() ;
  M2_stop() ;
  GRAUS=0;
}

 
//-----------------------------------------------------------------------

void loop()
{
 if(Serial.available()>0)
 {
   char A=Serial.read();
   digitalWrite(LED,HIGH);
   
    if (A== 'n')
   {
    speed_val = speed_val + 10;
    test_speed();
   }

   else if (A=='m')
   {
    speed_val = speed_val - 10;
    test_speed();
   }
 
   else if (A=='8')
   {
    M1_forward(speed_val);
    M2_forward(speed_val);
    delay(25);
   }

   else if (A=='4')
   {
    M1_reverse(speed_val);
    M2_forward(speed_val);
    delay(25);
   }

   else if (A=='6')
   {
    M1_forward(speed_val);
    M2_reverse(speed_val);
    delay(25);
   }

   else if (A=='2')
   {
    M1_reverse(speed_val);
    M2_reverse(speed_val);
    delay(25);
   }

   else if (A=='p')
   {
    GRAUS= GRAUS + 10;
    test_GRAUS();
    servo1.write(GRAUS);
    delay(25);
   }
   
   else if (A=='Ç')
   {
    GRAUS= GRAUS - 10;
    test_GRAUS();
    servo1.write(GRAUS);
    delay(25);
   }

   else
   {
    M1_stop();
    M2_stop();
    digitalWrite(LED, LOW);
    }
   
 }
 
}

//---------teste da velocidade-----------------------

void test_speed()
{

  if (speed_val > 250)
  {
   speed_val = 255;
  }
 
  if (speed_val < 0)
  {
   speed_val = 0;
  }
}

//---------teste da posição da camar-----------------------

void test_GRAUS()
{

  if (GRAUS > 180)
  {
   GRAUS = 180;
  }
 
  if (GRAUS < 0)
  {
  GRAUS = 0;
  }
 
}

//----------------------------------------------------------------------------------
void M1_reverse(int x){
digitalWrite(M1_B, LOW);
digitalWrite(M1_A, HIGH);
analogWrite(M1_PWM, x);
}

void M1_forward(int x){
digitalWrite(M1_A, LOW);
digitalWrite(M1_B, HIGH);
analogWrite(M1_PWM, x);
}

void M1_stop(){
digitalWrite(M1_B, LOW);
digitalWrite(M1_A, LOW);
digitalWrite(M1_PWM, LOW);
}

void M2_forward(int y){
digitalWrite(M2_B, LOW);
digitalWrite(M2_A, HIGH);
analogWrite(M2_PWM, y);
}

void M2_reverse(int y){
digitalWrite(M2_A, LOW);
digitalWrite(M2_B, HIGH);
analogWrite(M2_PWM, y);
}

void M2_stop(){
digitalWrite(M2_B, LOW);
digitalWrite(M2_A, LOW);
digitalWrite(M2_PWM, LOW);
}