collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[Ontem às 14:14]


Arame de Estendal por almamater
[18 de Abril de 2024, 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


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]

Autor Tópico: Smalluino - O teu primeiro robô V1.0  (Lida 153614 vezes)

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

Offline egito

  • Mini Robot
  • *
  • Mensagens: 227
  • Robótica <3
Re: Smalluino - O teu primeiro robô V1.0
« Responder #165 em: 07 de Janeiro de 2011, 21:48 »
Podes fazer um chassi e por uma pololu bal
Tiago Fernandes

Offline amando96

  • Mini Robot
  • *
  • Mensagens: 1.631
  • MAC address? But I have windows...
    • Projects, News, Blog, Tutorials
Re: Smalluino - O teu primeiro robô V1.0
« Responder #166 em: 07 de Janeiro de 2011, 21:51 »
Normalmente usam-se rodas omnidirectionais, ou seja, tipo as das cadeiras de escritório, mas em ponto pequeno, tipo esta ou esta.

Eu cheguei a usar uma roda dos leitores de cassete:


:D

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re: Smalluino - O teu primeiro robô V1.0
« Responder #167 em: 07 de Janeiro de 2011, 22:35 »
amando, as rodas omnidireccionais são diferentes das 'rodas livres' das cadeiras de escritório.. tu sabes disso.. as omnidireccionais são estas:


Offline egito

  • Mini Robot
  • *
  • Mensagens: 227
  • Robótica <3
Re: Smalluino - O teu primeiro robô V1.0
« Responder #168 em: 07 de Janeiro de 2011, 22:44 »
Dessa eu não sabia.
Tiago Fernandes

Offline Stigma

  • Mini Robot
  • *
  • Mensagens: 40
Re: Smalluino - O teu primeiro robô V1.0
« Responder #169 em: 10 de Janeiro de 2011, 16:53 »
Ja completei o meu projecto base. Contudo agora gostava de instalar uns componentes extra, mas como o espaço é pouco n sei como o fazer. Estava a pensar aquirir um protoshield, mas se entendi bem, estes nao vem soldados, e eu nesse aspecto estou a zero. Introduzir uma breadboard seria de pensar, mas para isso tenho que criar um suporte para o sistema todo, e também n sei bem como o fzr. Alguem me pode dar algum feedback? Bgd

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re: Smalluino - O teu primeiro robô V1.0
« Responder #170 em: 10 de Janeiro de 2011, 21:15 »
cria um tópico com o teu robot, tira umas fotos e mostra ao pessoal.. é capaz de ser mais simples assim dar ideias..

Offline JessyNeves

  • Mini Robot
  • *
  • Mensagens: 11
Re: Smalluino - O teu primeiro robô V1.0
« Responder #171 em: 19 de Janeiro de 2011, 20:36 »
Boas Noites !
Então, decidi, eu e uns colegas, pegar neste excelente tutorial e segui-lo para nos introduzirmos à Robotica! Conseguimos montar o robot, e julgamos nós , tudo está ligado devidamente!

O problema surge aquando da programação. Fizemos o Upload do código fornecido no tutorial para o Arduino, e ligámos o Smalluino.
Situação, o Smalluino anda constantemente ''à roda''. Respeita a parte inicial do código, ''parado'', mas depois começa a ''rodar'' sobre ele mesmo. ( uma roda para cada sentido ).
Tentámos reduzir, alterar valores, mas o problema mantém-se. achamos a situação bastante estranha.

qq ajuda é bem vinda. obrigado

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re: Smalluino - O teu primeiro robô V1.0
« Responder #172 em: 19 de Janeiro de 2011, 20:42 »
então é pk não estão bem calibrados.. de qualquer forma, é simples de resolver..

o pin de sinal dos servos está preparado para receber um valor de 0 a 255. estima-se que o valor 127 seja o valor que os manda parar. mas se isto não for verdade, o valor há-de estar ali por perto.. portanto, aconselho-te a fazer um programa simples que te percorra os valores de 100 a 200 (just in case) e que te faça um print do valor que está a testar no ecrã. isto serve para que determines, pra cada um dos servos, qual é o valor que os faz parar.

void parado(int tempo){
  for(int i = 0; i<tempo;i++){
    for (int j=100;j<200; j++){
    analogWrite(motorEsq, j);   
    analogWrite(motorDrt, j);   
    Serial.print("A testar valor: ");
    Serial.println(j);
    delay(500);     
  }
}

isto deve ser o código para o que disse acima, não te esqueças do Serial.begin(9600); no setup().

(editei o primeiro post, com o código de testes dos servos completo)
« Última modificação: 19 de Janeiro de 2011, 20:54 por ricardo-reis »

Offline darkpedro

  • Mini Robot
  • *
  • Mensagens: 23
Re: Smalluino - O teu primeiro robô V1.0
« Responder #173 em: 09 de Março de 2011, 23:13 »
eu sou um iniciante, e gostava de saber como é que colocas no smalluino a partir do suporte das pilhas aquela entrada preta?

Offline ruicosta93

  • Mini Robot
  • *
  • Mensagens: 254
Re: Smalluino - O teu primeiro robô V1.0
« Responder #174 em: 03 de Abril de 2011, 23:44 »
Boas. eu para o meu primeiro robo guiei-me por aqui e tive problemas com os servos por usar o analogWrite.  Para evitar que outros iniciantes com o mesmo problema que eu desanimem aqui fica um codigo feito pelo Njay e alterado por mim para fazer o mesmo que o smalluino. Este codigo segundo o Njay é bom para usar para controlar servos de rotação continua.

Código: [Seleccione]
// Continuous rotation servo class.
// By Njay in 2009 (EmbeddedDreams.com)
// Licensed under CC BY NC SA ([url=http://creativecommons.org/licenses/by-nc-sa/2.5/pt/]http://creativecommons.org/licenses/by-nc-sa/2.5/pt/[/url]
#include <Servo.h>


/**
 * Wraps a MegaServo object to control a continuous rotation servo.
 * The servo should be calibrated to be stopped when Megaservo::write()
 * is set to 90. * When speed is set to 0 to stop the servo, the servo is detached to
 * make sure it will be completly stopped.
 */
class ContinuousRotationServo

public:   
  ContinuousRotationServo (unsigned char pin)  {       
    mSpeed = 0;       
    SetPin(pin);   
  }   

  ContinuousRotationServo (void)  {       
    mSpeed = 0;   
  }   

  inline void SetPin (unsigned char pin)  {       
    mPin = pin;   
  }   

  // Set the speed. 0 to be stopped, > 0 to rotate in one direction   
  // and < 0 to rotate on the other.   
  void SetSpeed (signed char speed)  {       
    if (speed == 0)  {           
      if (mSpeed != 0)  {               
        //Serial.println("dettach");               
        mServo.detach();           
      }       
    }       
    else  {           
      if (mSpeed == 0)  {               
        //Serial.println("attach");               
        mServo.attach(mPin);           
      }           
      //Serial.println("set speed");           
      mServo.write(90 + speed);       
    }       
    mSpeed = speed;   
  }   

  inline void Detach (void)  {       
    mServo.detach();   
  }
private:   
  Servo          mServo;   
  unsigned char  mPin;   
  signed char    mSpeed;    // current speed};
};

 
ContinuousRotationServo  servoDir(9);
ContinuousRotationServo  servoEsq(10);

void setup (){
 
}
void loop()
{
parado(4);
frente(2);
esquerda(6);
tras(2);
esquerda(6);
direita(6);
}
void parado(int tempo){ // tempo = segundos/2
for(int i = 0; i<tempo;i++){
servoDir.SetSpeed(0);
servoEsq.SetSpeed(0);
delay(500);
}
}
void tras(int tempo){ // tempo = segundos/2
for(int i = 0; i<tempo;i++){
servoDir.SetSpeed(45);
servoEsq.SetSpeed(-45);
delay(500);
}
}
void frente(int tempo){ // tempo = segundos/2
for(int i = 0; i<tempo;i++){
servoDir.SetSpeed(-45);
servoEsq.SetSpeed(45);
delay(500);
}
}
void esquerda(int tempo){ // tempo = segundos/2
for(int i = 0; i<tempo;i++){
servoDir.SetSpeed(-45);
servoEsq.SetSpeed(-45);
delay(500);
}
}
void direita(int tempo){ // tempo = segundos/2
for(int i = 0; i<tempo;i++){
servoDir.SetSpeed(45);
servoEsq.SetSpeed(45);
delay(500);
}
}


Qualquer erro avisem.
« Última modificação: 04 de Abril de 2011, 00:06 por ruicosta93 »
Rui Costa

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Smalluino - O teu primeiro robô V1.0
« Responder #175 em: 04 de Abril de 2011, 00:03 »
Usas o botão que tem o simbolo # ou metes [code ] código aqui dentro[/code ] e retiras os espaços entre code e o ]
Avr fanboy

Offline Bony

  • Mini Robot
  • *
  • Mensagens: 397
Re: Smalluino - O teu primeiro robô V1.0
« Responder #176 em: 07 de Maio de 2011, 18:05 »
Ola :)

surgiu - me aqui um problema, eu não comprei servos, comprei "motores normais", portanto o fio do sinal não tenho :( apenas tenho do GND e VCC, como poderei fazer para funcionar na mesma ?

cumps

Offline xiserre

  • Mini Robot
  • *
  • Mensagens: 277
Re: Smalluino - O teu primeiro robô V1.0
« Responder #177 em: 07 de Maio de 2011, 18:11 »
usas transistor's ou pontes h.. o sinal de controlo vai ser diferente..

Offline Bony

  • Mini Robot
  • *
  • Mensagens: 397
Re: Smalluino - O teu primeiro robô V1.0
« Responder #178 em: 07 de Maio de 2011, 18:15 »
que tipo de transístor ?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Smalluino - O teu primeiro robô V1.0
« Responder #179 em: 07 de Maio de 2011, 22:08 »
E que tipo de motor é?
Tem caixa ou é só e apenas um motor DC?

Aconselho-te a usar uma ponte H, pois está tudo dentro do IC e é praticamente ligar meia duzia de fios e está feito, com transistores é preciso uma carrada de componentes extra e o trabalho que dá para os montar.
Avr fanboy