collapse

* Posts Recentes

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


Circuito Microfone que funcione por almamater
[27 de Abril de 2024, 17: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]

Autor Tópico: Beta - Plataforma de Teste  (Lida 41312 vezes)

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

Offline preytender

  • Mini Robot
  • *
  • Mensagens: 148
Re: Beta - Plataforma de Teste
« Responder #45 em: 27 de Março de 2011, 16:42 »
Ola, com relação ao lib_Drive, já fiz esse codigo ha algum tempo na altura vi muitas coisas em muitos sitios  :D decidi fazer essa classe porque assim podia colocar la todas as funcoes que considero uteis para gestão dos motores e quando tiver outro robot basta copiar esse ficheiro.

Ontem, quando estava a fazer o esquema das ligações retirei tudo da breadboard, liguei tudo conforme indicado e fiz o upload do codigo que esta no rar.

Ficou tudo a funcionar correctamente, estas a apontar para a porta correcta quando fazes o upload ?

Offline zeneves

  • Mini Robot
  • *
  • Mensagens: 86
Re: Beta - Plataforma de Teste
« Responder #46 em: 27 de Março de 2011, 16:43 »
ja passou o erro tinha-se passado da cabeça n percebi


 :P

Offline zeneves

  • Mini Robot
  • *
  • Mensagens: 86
Re: Beta - Plataforma de Teste
« Responder #47 em: 27 de Março de 2011, 17:30 »
dix me so como e k eu posso fazer com k kuando o robo chegue a linh e s vire pa outro lado, em vex d a seguir?

Offline preytender

  • Mini Robot
  • *
  • Mensagens: 148
Re: Beta - Plataforma de Teste
« Responder #48 em: 27 de Março de 2011, 17:47 »

Devem existir varias maneiras de o fazer, assim rapidamente o que fazia era:

1. Em cada ciclo ver se algum sensor esta em cima da linha.

2. Se algum estiver em cima da linha descobrir qual é.

2.1.  Se for o central quer dizer que a linha esta a frente, podes escolher qq um dos lados para rodar.
2.2   Se for um dos dois sensores  mais a esquerda quer dizer que estas a "raspar" com o lado esquerdo, deves virar ligeiramente para a direita
2.2   Se for um dos dois sensores  entre os centrais e os das pontas mais a esquerda quer dizer que estas a "bater violentamente" com o lado esquerdo, deves tentar rodar rapidamente para a direita

(Aplicar as mesmas regras para o lado oposto)


3. Se nao houver nenhum sensor em cima da linha podes continuar a andar em frente.


O que achas ?

Offline zeneves

  • Mini Robot
  • *
  • Mensagens: 86
Re: Beta - Plataforma de Teste
« Responder #49 em: 27 de Março de 2011, 19:16 »
sim..
pk isto vai ser basicamente com irsharp para seguir um object, mas depois kero k ele nao saia de uma zonaq limitada com uma limha qui entra o qtr

Offline zeneves

  • Mini Robot
  • *
  • Mensagens: 86
Re: Beta - Plataforma de Teste
« Responder #50 em: 27 de Março de 2011, 19:18 »
a programaçao do sensor ir ja tenho, o que me ta a complicar e o qtr


e este projecto e para entregar daki a 2 semana.. e touy m a ver comlicado por causa disto...

« Última modificação: 27 de Março de 2011, 19:20 por zeneves »

Offline preytender

  • Mini Robot
  • *
  • Mensagens: 148
Re: Beta - Plataforma de Teste
« Responder #51 em: 27 de Março de 2011, 19:28 »

Vais ver que é bem mais facil do que parece, ja nao mexia no meu ha algum tempo mas com as tuas perguntas fiquei com vontade de experimentar.  ;D

Vou tentar fazer o codigo para ver o resultado depois ponho aqui.

Offline zeneves

  • Mini Robot
  • *
  • Mensagens: 86
Re: Beta - Plataforma de Teste
« Responder #52 em: 27 de Março de 2011, 19:30 »
hum ok...eu no qtr tou a utilizar 4 sensores 1,4,5,8. e no arduino tou a utilizar os pin digitais de 0 a 3

Offline zeneves

  • Mini Robot
  • *
  • Mensagens: 86
Re: Beta - Plataforma de Teste
« Responder #53 em: 27 de Março de 2011, 19:31 »
diz me so uma coisa supostamente para ver s todos os sensores trabalham têm d ter volatagem todos os k tiverem ligados ao arduino?

Offline preytender

  • Mini Robot
  • *
  • Mensagens: 148
Re: Beta - Plataforma de Teste
« Responder #54 em: 27 de Março de 2011, 19:44 »

Pelo que percebo parece que quando ligas o pino 5v e gnd do sensor a breadboard estas a alimentar todos os sensores independentemente de teres ligado ao arduino ou nao. Se apontares a maquina fotografica do telemovel aos sensores podes ver que ficam todos acessos.

Claro esta que se nao os ligares ao arduino este nao vai receber os respectivos valores, isso fica definido quando inicializas o sensor no codigo.

Offline zeneves

  • Mini Robot
  • *
  • Mensagens: 86
Re: Beta - Plataforma de Teste
« Responder #55 em: 27 de Março de 2011, 19:45 »
sim tens a luzes assesas mas s eu for ver a voltagem dos sensores k estou a utilizar a alguns k n têm nenhum valos e outros têm....

Offline preytender

  • Mini Robot
  • *
  • Mensagens: 148
Re: Beta - Plataforma de Teste
« Responder #56 em: 27 de Março de 2011, 20:03 »

Estou a utilizar este codigo para ver os valores dos sensores:

Código: [Seleccione]
void progDebugQTR() {
   
   //Verificar se é necessário calibrar os sensores
  if (bCalibrate==0) {
 
    mBuzzer.playOnSound();         // Inicio Calibracao
    int i;
    for (i = 0; i < 250; i++) {    // Processo de calibração demora 5 segundos
      qtr.calibrate();
      delay(20);
    }
    mBuzzer.playOffSound();        // Fim Calibração
    bCalibrate=1;                  // Marcar Calibração como ja efectuada
  }
 
 
  unsigned int vSensors[8];
  int iPosition = qtr.readLine(vSensors);
 
  // Impressão dos Valores para Debug
  Serial.print("QTR Sensor:");
  Serial.print(vSensors[0]);   Serial.print("  ");
  Serial.print(vSensors[1]);   Serial.print("  ");
  Serial.print(vSensors[2]);   Serial.print("  ");
  Serial.print(vSensors[3]);   Serial.print("  ");
  Serial.print(vSensors[4]);   Serial.print("  ");
  Serial.print(vSensors[5]);   Serial.print("  ");
  Serial.print(vSensors[6]);   Serial.print("  ");
  Serial.print(vSensors[7]);   Serial.print("  ");
  Serial.print("  Position:"); Serial.println(iPosition);
     
     
  delay(5000);
   
}


Teoricamente analisando os valores da variavel iPosition e os valores individuais de cada sensor deve dar para perceber o que esta a acontecer.

Quando desligo um sensor do arduino ele começa a retornar o valor 1000.  :o

Offline zeneves

  • Mini Robot
  • *
  • Mensagens: 86
Re: Beta - Plataforma de Teste
« Responder #57 em: 27 de Março de 2011, 20:07 »
vou testar

Offline zeneves

  • Mini Robot
  • *
  • Mensagens: 86
Re: Beta - Plataforma de Teste
« Responder #58 em: 27 de Março de 2011, 20:12 »
n nsei pk mas ja tou a ter o ptoblema do upload outra vez e tenho bem a porta com

n percebo

 :-\

Offline zeneves

  • Mini Robot
  • *
  • Mensagens: 86
Re: Beta - Plataforma de Teste
« Responder #59 em: 27 de Março de 2011, 20:17 »
a mim ta tudo a 0 n percebo...

Código: [Seleccione]
#include <PololuQTRSensors.h>
   
    int bCalibrate=0;     

    PololuQTRSensorsRC qtr((unsigned char[]) {0,1,2,3,4,5,6,7,8}, 8);

    void setup()
    {
Serial.begin(9600);
    }

   void loop() {
   
 
  if (bCalibrate==0) {
 
   
    int i;
    for (i = 0; i < 250; i++) {    // Processo de calibração demora 5 segundos
      qtr.calibrate();
      delay(20);
    }
   
    bCalibrate=1;                  // Marcar Calibração como ja efectuada
  }
 
 
  unsigned int vSensors[8];
  int iPosition = qtr.readLine(vSensors);
 
  // Impressão dos Valores para Debug
  Serial.print("QTR Sensor:");
  Serial.print(vSensors[0]);   Serial.print("  ");
  Serial.print(vSensors[1]);   Serial.print("  ");
  Serial.print(vSensors[2]);   Serial.print("  ");
  Serial.print(vSensors[3]);   Serial.print("  ");
  Serial.print(vSensors[4]);   Serial.print("  ");
  Serial.print(vSensors[5]);   Serial.print("  ");
  Serial.print(vSensors[6]);   Serial.print("  ");
  Serial.print(vSensors[7]);   Serial.print("  ");
  Serial.print("  Position:"); Serial.println(iPosition);
  delay(5000);
   
}




Código: [Seleccione]
QTR Sensor:0  0  0  0  0  0  0  0    Position:0
QTR Sensor:0  0  0  0  0  0  0  0    Position:0
QTR Sensor:0  0  0  0  0  0  0  0    Position:0
QTR Sensor:0  0  0  0  0  0  0  0    Position:0
QTR Sensor:0  0  0  0  0  0  0  0    Position:0
QTR Sensor:0  0  0  0  0  0  0  0    Position:0
QTR Sensor:0  0  0  0  0  0  0  0    Position:0
QTR Sensor:0  0  0  0  0  0  0  0    Position:0
QTR Sensor:0  0  0  0  0  0  0  0    Position:0
QTR Sensor:0  0  0  0  0  0  0  0    Position:0