collapse

* Posts Recentes

MINI560 - corrente sem carga? por KammutierSpule
[Hoje às 18:14]


Arame de Estendal por SerraCabo
[Hoje às 14:15]


Meu novo robô por josecarlos
[Hoje às 10:52]


LLM Crawlers por TigPT
[04 de Maio de 2024, 21:40]


Emulador NES em ESP32 por dropes
[04 de Maio de 2024, 14:48]


Circuito Microfone que funcione por almamater
[27 de Abril de 2024, 17:14]


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]


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]

Autor Tópico: Iniciante em Robótica  (Lida 32004 vezes)

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

Offline Psycop

  • Mini Robot
  • *
  • Mensagens: 105
    • O.Cantinho.da.Programação
Re: Iniciante em Robótica
« Responder #60 em: 09 de Maio de 2011, 17:25 »
o segundo motor e ligado presisamente como o primeiro ou seja e como se tivesses a fazer aqueles desenhos de simetria que te dao um lado e tens que desenhar o outro mas isto se aplica nos pinos ground input e output e o resto depende ja do codigo

Mas para já o que tenho até aqui está correcto, certo?

Ou poderei melhorar?

Eu consegui movimento no motor com o seguinte código:

Código: [Seleccione]
int motorPin1 = 9;
int motorPin2 = 4;
int delayTime = 500;

void setup() {
 pinMode(motorPin1, OUTPUT);
 pinMode(motorPin2, OUTPUT);

}

void loop() {
 digitalWrite(motorPin1, HIGH);
 digitalWrite(motorPin2, LOW);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, HIGH);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, LOW);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, LOW);
 delay(delayTime);
}

Cumps

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Iniciante em Robótica
« Responder #61 em: 09 de Maio de 2011, 17:43 »
até ai está correcto, agora é fazer o mesmo para o outro

Offline Psycop

  • Mini Robot
  • *
  • Mensagens: 105
    • O.Cantinho.da.Programação
Re: Iniciante em Robótica
« Responder #62 em: 09 de Maio de 2011, 17:44 »
até ai está correcto, agora é fazer o mesmo para o outro

Sim, mas a minha dificuldade está na montagem do circuito para o segundo motor!

Cumps

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Iniciante em Robótica
« Responder #63 em: 09 de Maio de 2011, 17:48 »
é igual, ligas o input 3 e 4 do L293D ao arduino como ligaste os outros e o output 3 e 4 aos fios do outro motor, não esquecer o enable

tens a ponte montada ao contrario...

Offline Psycop

  • Mini Robot
  • *
  • Mensagens: 105
    • O.Cantinho.da.Programação
Re: Iniciante em Robótica
« Responder #64 em: 09 de Maio de 2011, 23:34 »


este é bastante simples...

sabes como funciona uma breadboard?

Se Não fosse muito incomodo poderias completar esse esquema para um segundo motor?

Cumps

Offline Psycop

  • Mini Robot
  • *
  • Mensagens: 105
    • O.Cantinho.da.Programação
Re: Iniciante em Robótica
« Responder #65 em: 10 de Maio de 2011, 15:27 »
Boas

Tentei montar a Ponte L293D para dois motores, mas apenas consegui movimento num dos motores e apenas uma vez!

O a montagem esta na foto seguinte:


E o código que usei foi o seguinte:
Código: [Seleccione]
int motorPin1 = 4;
int motorPin2 = 5;
int motorPin3 = 10;
int motorPin4 = 11;
int delayTime = 100;

void setup() {
 pinMode(motorPin1, OUTPUT);
 pinMode(motorPin2, OUTPUT);
 pinMode(motorPin3, OUTPUT);
 pinMode(motorPin4, OUTPUT);

}

void loop() {
 digitalWrite(motorPin1, HIGH);
 digitalWrite(motorPin2, HIGH);
 digitalWrite(motorPin3, HIGH);
 digitalWrite(motorPin4, HIGH);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, LOW);
 delay(delayTime);
}

Estarei a fazer algo de errado?

Cumps

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Iniciante em Robótica
« Responder #66 em: 10 de Maio de 2011, 15:45 »
o código está incorrecto, para poderes ter movimento tens de ter um pino a HIGH e o outro a LOW, os dois em HIGH o motor "trava"

Código: [Seleccione]
void loop() {
 digitalWrite(motorPin1, HIGH);
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, HIGH);
 digitalWrite(motorPin4, LOW);
 delay(delayTime);
 digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, HIGH);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, HIGH);
 delay(delayTime);
}

aumenta o tempo no delay, 100ms é 0,1s...

Offline Psycop

  • Mini Robot
  • *
  • Mensagens: 105
    • O.Cantinho.da.Programação
Re: Iniciante em Robótica
« Responder #67 em: 10 de Maio de 2011, 17:24 »
Boas

Já Consegui colocar a ponte a funcionar para os 2 motores, inclusive coloquei um pequeno interruptor.
Aqui fica a foto:


Não Sei se a forma como coloquei o interruptor é a mais correcta.

À alguma coisa que possa melhorar ou simplificar relativamente às ligações?

Podem agora dar-me umas dicas de como poderei ligar o Sensor de Pista:  QTR-8RC Reflectance Sensor Array [INM-0129]

Cumps

Offline Psycop

  • Mini Robot
  • *
  • Mensagens: 105
    • O.Cantinho.da.Programação
Re: Iniciante em Robótica
« Responder #68 em: 11 de Maio de 2011, 15:15 »
Boas

Usando este código alguém me pode ajudar a saber como poderei controlar a velocidade dos motores e a sua direcção?

Código: [Seleccione]
int motorPin1 = 4;
int motorPin2 = 5;
int motorPin3 = 11;
int motorPin4 = 10;
int delayTime = 500;

void setup() {
 pinMode(motorPin1, OUTPUT);
 pinMode(motorPin2, OUTPUT);
 pinMode(motorPin3, OUTPUT);
 pinMode(motorPin4, OUTPUT);

}

void loop() {
 digitalWrite(motorPin1, HIGH);
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, HIGH);
 digitalWrite(motorPin4, LOW);
 delay(1000);

}

Cumps

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Iniciante em Robótica
« Responder #69 em: 11 de Maio de 2011, 15:33 »
assim vai rodar numa direcção:

Código: [Seleccione]
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);

assim na oposta:

Código: [Seleccione]
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);

para controlar a velocidade ligas os pinos 1 e 9 da ponte a um PWM do arduino:

http://arduino.cc/en/Reference/AnalogWrite

Offline Psycop

  • Mini Robot
  • *
  • Mensagens: 105
    • O.Cantinho.da.Programação
Re: Iniciante em Robótica
« Responder #70 em: 11 de Maio de 2011, 16:29 »
Olá

Não Estou a conseguir inverter a marcha!

Para ter ambos os motores para a frente uso:
Código: [Seleccione]
digitalWrite(motorPin1, HIGH);
 digitalWrite(motorPin2, LOW);
 digitalWrite(motorPin3, HIGH);
 digitalWrite(motorPin4, LOW);
 delay(1000);

Mas se inverter as coisas usando:
Código: [Seleccione]
digitalWrite(motorPin1, LOW);
 digitalWrite(motorPin2, HIGH);
 digitalWrite(motorPin3, LOW);
 digitalWrite(motorPin4, HIGH);
 delay(1000);


Apenas o motor esquerdo anda e para trás!

O que se estará a passar?

Cumps


Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: Iniciante em Robótica
« Responder #71 em: 11 de Maio de 2011, 17:36 »
Verifica se tens as ligações feitas de acordo com as variáveis motorPin1...4

Parece-me que tens aí 1 das variáveis que tem o numero de um pino  do Arduino que nao estás a usar.

Offline Psycop

  • Mini Robot
  • *
  • Mensagens: 105
    • O.Cantinho.da.Programação
Re: Iniciante em Robótica
« Responder #72 em: 11 de Maio de 2011, 17:41 »
Verifica se tens as ligações feitas de acordo com as variáveis motorPin1...4

Parece-me que tens aí 1 das variáveis que tem o numero de um pino  do Arduino que nao estás a usar.

Estive a tentar verificar o que me disseste e penso que esteja tudo bem! I Guess!

Mas aqui fica a foto da montagem actual:



Cumps

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Iniciante em Robótica
« Responder #73 em: 11 de Maio de 2011, 17:46 »
a imagem não é muito esclarecedora mas não tens ligados os fios no D5 e D6?

Offline Psycop

  • Mini Robot
  • *
  • Mensagens: 105
    • O.Cantinho.da.Programação
Re: Iniciante em Robótica
« Responder #74 em: 11 de Maio de 2011, 18:07 »
a imagem não é muito esclarecedora mas não tens ligados os fios no D5 e D6?

Tirei uma nova foto, e penso que agora esteja mais nitida!



Cumps